In my most recent blog article, Selecting Great UI Text, I suggest that one of the most important things you can do to ensure that you've chosen a great UI text string is,

“5. Solicit Feedback
Ask your teammates. Ask your customers. The more eyeballs, the better.”

Now, I’m going to put my money where my mouth is and ask you--customers, competitors, friends, partners, and co-conspirators--for your thoughts on two important pieces of UI text that will appear in the as-yet unreleased Microsoft Visual Studio Team Foundation: Shelve and Shelveset. My notes on Shelve follow.  Please feel free to weigh in on these terms in the comments attending this post.

In Visual Studio Team Foundation, the Shelve command sets aside a set of pending changes in the local workspace, as well as any associated work items and comments, on the server. You can use Shelve to share your changes with another developer when job assignments change or to temporarily set aside your in-progress changes to a set of files or folders in order to work on hotfix or other workspace-altering project.  Shelve is a sanity-saver.


Shelve Pros

  • visually descriptive, which is important in the source/version control domain
  • one word (unlike check in)
  • easy to conjugate: shelved, shelving, shelves
  • easy to negate: unshelve
  • not overloaded (like 'object', for instance)
  • consistent with the source control Library metaphor ala check out and check in

Shelve Cons

  • Localization is problematic. "To shelve" in many languages connotes 'stepping down' rather than "to place on a shelf". Think, continental shelves.
  • Hard to nominalize (make into a noun).
    • Do you think users will refer to the thing they create during a shelve operation as "a shelf"? For example, "Mike, check out the Beta 1 shelf and fix that sorting bug."
    • What do we call it? A shelved changeset? A shelved set of revisions? A shelveset?

Potential Alternatives

  • Reserve or Preserve
    • Pros: one word, easy to conjugate, both preserve and reserve have good environmental connotations and a preserve is a sweet sticky substance that sits on a shelf until you need it .
    • Cons: not as visually descriptive as shelve, overloaded in everyday speech, overloaded technically (could be confused with 'reserved checkout', which is a lock), cannot be negated in English, and it's too tempting to replace Reserve, which is goodness, with 'Place in Reserve', which is not.
    • Note: Clearcase has a Reserve keyword. Not sure about other source control providers.
  • Store
    • Pros: one word, easily negated (restore), easy to conjugate, neutral connotations (grain store, shop in stores), easy to localize
    • Cons: overloaded in all contexts, not as visually descriptive as shelve,
  • Pend
    • Pros: good sense of time, one word, easy to negate and conjugate, not overloaded, builds on Pending Checkin, fairly easy to localize, connotes suspension (sus-pend) which is an interesting way to think about
    • Cons: not exactly self-documenting (lowest common denominator might not get it), hard to nominalize, in the Pending Checkin window, the similarity between Pending and Pend could lead a novice user to believe that they should Pend rather than Check In, not as visually descriptive as shelve.
  • Note: could be combined with Check In as "Pend Check-in" (yes, I'm still playing chicken with the checkin decision. I'll be in the check-out line momentarily. Check-in vs Checkin is a tough one.)

Bad alternatives I considered: archive, sideline, set aside, pause, abey, suspend, escrow