Shelve and Shelveset: What do you think?

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

 

Published 19 July 04 04:53 by KorbyP

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS

Comments

# Rob Caron's Blog said on July 19, 2004 8:32 PM:
# Anonymous Aussie said on July 19, 2004 5:32 PM:
Library Desk metaphor... when you have books or papers that you put aside to look at later, you Pile them, and Unpile them. Lends itself to multiplicity, you can have multiple Piles waiting for you to Unpile them.

Also..

Stack/Unstack
Bundle/Unbundle

These are very visual, activity-oriented words.

# Michael Swanson said on July 19, 2004 5:41 PM:
Or "Park"
# Stéphane Lajoie said on July 19, 2004 6:30 PM:
I like "shelve" best. Good name for a cool feature :).
# Anonymous said on July 19, 2004 7:01 PM:
Snap? Snapshot? Clip? Draft? File? Store? Deposit? Check-in (private)?

You don't elaborate on "Shelveset", but I don't like whatever it is already...
# Peter Coleman said on July 19, 2004 11:11 PM:
Parcel
# Gavin Greig said on July 20, 2004 2:23 AM:
These might be way too colloquial, but have you considered "mothball" and "back boiler"? I think "back boiler" is an immediate candidate for addition to your "Bad alternatives" list, but I wonder whether "mothball" might have more potential?

I think it conjugates (mothballed, mothballing, mothballs) and could nominalise (a mothball), although I don't think the way to negate it is immediately obvious. It's one word, and it's not overloaded. It's used in a similar sense in other industries for putting something (often machinery) aside in safe storage for possible future use.

I find it more immediately evocative and understandable than "shelve", but it could be obscure and it might not localise well.
# Chris_S said on July 20, 2004 4:53 AM:
I like 'Park'. Also what about 'Stash'?
# Greg Hurlman said on July 20, 2004 5:05 AM:
I'm also a fan of 'Pile'... goodness knows that I've already got several on my desk that are, to say the least, pending.
# Mark Mullin said on July 20, 2004 6:00 AM:
What happens if I 'shelve' something, and then pick it up again in 6 months, after a lot of mainline revisions have happened in the source tree ?

I like the idea of not either discarding work (undoing checkouts) or flying solo (copy the source somewhere and hope for the best later) but I think for this to work it has to recognize it's part of a branch sequence.

Hence I'd propose (with some tongue in cheek, my main concern is simply how this integrates with branching and changes in the baseline source while the software is collecting dust and bitrot)

prune - undo all my local workspace changes and make me some managed 'package' so I don't just loose em

graft - take the package generated by a previous prune operation and try and bring it back into the mainline - I like graft because you're either going to graft a branch, even if that means cutting off the tree at the root and jamming the pruned package on it

Anyway, I'd be curious as to how this mechanism would relate to reintegration with ongoing development - otherwise, it's just a one way operation 'package my changes and pull em out of my workspace'
# David A. Mellis said on July 20, 2004 6:06 AM:
I like "stash."
# Christopher Hawkins said on July 20, 2004 10:48 AM:
Shelve is good. Business folks use that term all the time to describe something that needs to be dealt with, but not right now - "let's shelve this until Q3".

I say roll with it.
# Chris Rathjen said on July 20, 2004 2:41 PM:
# Steve Hiner said on July 20, 2004 5:09 PM:
Park and Stash are my favorites so far.

If you were looking into the whole branching metaphore you could use Sprout or Plant though Plant might have a too-permanent conotation for this feature. Metaphorically I like Sprout since it conotates a small branch in the code. I'm not so sure that it negates nicely though. Unsprout? Desprout? The more I think about it the less I like it.
# Rob Caron's Blog said on July 20, 2004 9:50 PM:
# Chris_S said on July 21, 2004 5:07 AM:
More on stash:

Verb: "I am going to stash my files"
Noun: "Let's have a look at my stash"

Negate:
Either "Let me unstash my files" (hmm...?)
or "Let me grab back my stash"
or "Let me get back my stashed files"
# David Laribee said on July 21, 2004 7:10 AM:
In keeping with the funiture metaphor, we use the terms "Table" and "Tabled" (the parliamentary definition).
# Chris said on July 21, 2004 8:23 AM:
Steve: Park does have a nice ring to it - though it has a similar set of problems as shelve. It needs a good noun for the set of 'parked items', and it may be prone to incorrect context when it comes to international use (e.g. parking space, Central Park).

Stash being the noun and the verb is both nice and problematic - if I want to see the sets of stashed items, would I run "h stash /show" or something, instead of a separate command like "h shelvesets" as we're currently planning?

David: Tabled does have a strong connotation with what we're doing, but we'd still need to solve the noun problem - what do we call a set of tabled items? A 'table' like a 'shelf' implies what it's stored on rather than the items themselves. I worry that any new term involving table might get confused for database semantics.

Table and shelve are still great choices for the verb, IMHO.
# Hassan said on July 21, 2004 5:09 PM:
I suggest Contain
# Chris_S said on August 16, 2004 2:45 PM:
What about 'stow' as the verb? Would the noun be 'store' or 'hold' or 'cargo'?
# Kissimmee Hotels said on February 16, 2006 2:46 AM:
San Antonio Hotels,Venice Hotels,Las Vegas Hotels,Istanbul Hotels,Columbus Hotels,Melbourne Hotels,Washington Hotels,Brussels Hotels,Sao Paulo Hotels,Portland Hotels,Manchester Hotels,Nice Hotels,Budapest Hotels,Columbia Hotels,Jacksonville Hotels,Cologne Hotels,Chicago Hotels,Kissimmee Hotels,Tucson Hotels
# Krakow apartments said on March 9, 2006 6:59 AM:
Krakow hotels
http://hotels.krakow.pl
# Mortgage Loan said on March 21, 2006 12:22 PM:
I found your page from google but i like it so much
# Hamburg hotels said on March 24, 2006 5:30 AM:
Hamburg hotels
# Colorado Springs hotels said on March 31, 2006 1:12 PM:
Colorado Springs hotels
# Budapest hotels said on April 4, 2006 2:54 AM:
Budapest hotels
# Austin hotels said on April 4, 2006 12:25 PM:
Austin hotels
# Portland hotels said on April 5, 2006 6:16 AM:
Portland hotels
# resources.php?city=Kissimmee said on April 10, 2006 7:10 AM:
resources.php?city=Kissimmee
# Vancouver hotels said on April 19, 2006 7:10 AM:
Vancouver hotels
# Melbourne hotels said on April 26, 2006 1:58 AM:
Melbourne hotels
# safehtl de said on April 26, 2006 8:34 AM:
safehtl de
# Hamburg hotels said on April 26, 2006 11:46 AM:
Hamburg hotels
# Steamboat Springs hotels said on April 27, 2006 7:46 PM:
Steamboat Springs hotels
# Anaheim hotels said on April 29, 2006 3:16 AM:
Anaheim hotels
# Las Vegas hotels said on April 30, 2006 3:07 AM:
Las Vegas hotels
# Vienna hotels said on May 9, 2006 2:08 AM:
Vienna hotels
# Amsterdam hotels said on May 10, 2006 7:11 PM:
Amsterdam hotels
# Playa Del Carmen hotels said on May 16, 2006 9:16 AM:
Playa Del Carmen hotels
# Zurich hotels said on May 16, 2006 9:22 AM:
Zurich hotels
# Prague hotels said on May 23, 2006 2:21 AM:
Prague hotels
# Vancouver hotels said on May 24, 2006 4:32 PM:
Vancouver hotels
# Charlotte hotels said on May 29, 2006 3:30 AM:
Charlotte hotels
# Vancouver hotels said on May 29, 2006 7:12 AM:
Vancouver hotels
# Eastbourne hotels said on May 29, 2006 5:54 PM:
Eastbourne hotels
# buy xanax said on June 3, 2006 2:11 PM:
i like your website very much but please do get us more information about it
# Jacksonville hotels said on June 13, 2006 9:58 PM:
Jacksonville hotels
# teen lesbian rape said on June 20, 2006 4:28 PM:
Persone los pioneros non rabata. Great...
# Richmond hotels said on June 21, 2006 9:38 AM:
Richmond hotels
# Hamburg hotels said on June 21, 2006 9:57 AM:
Hamburg hotels
# Berlin hotels said on June 21, 2006 6:58 PM:
Berlin hotels
# Vienna hotels said on June 23, 2006 2:48 AM:
Vienna hotels
# lesbian rape said on June 24, 2006 10:00 AM:
Best of all people w can talk...
# Cambridge hotels said on June 26, 2006 11:16 PM:
Cambridge hotels
# San Diego hotels said on June 30, 2006 4:47 AM:
San Diego hotels
# fantasy cars said on August 7, 2006 6:50 PM:
fantasy cars
# Car insurance said on September 5, 2006 6:21 AM:
Really, this site is very exciting. My is here http://bioinf.ucsd.edu:8080/plonesite/Members/carinsurance/car-insurance<br><a">http://bioinf.ucsd.edu:8080/plonesite/Members/carinsurance/car-insurance<br><a href="http://bioinf.ucsd.edu:8080/plonesite/Members/carinsurance/car-insurance">Car">http://bioinf.ucsd.edu:8080/plonesite/Members/carinsurance/car-insurance">Car insurance</a><br>[url=http://bioinf.ucsd.edu:8080/plonesite/Members/carinsurance/car-insurance] Car insurance[/url]

Leave a Comment

(required) 
(optional)
(required) 

Search

Go

This Blog

Syndication

Page view tracker