I Need to Select Something First
Have you ever frustratedly wondered why a button didn't work, or wasn't 'available' in an application when you suddenly realized…
"Ah, I need to select something first!
The 'something' may have been an icon on a layout, some numbers in a spreadsheet, or a section of an image. Your software expected you to select the object, and THEN apply a function in a noun>verb type action. In your head you were thinking verb>noun, with the action in mind first.
Are there interfaces which handle both verb>noun and noun>verb actions nicely?
To date I've seen:
- Disabling buttons/menu options (clearly enough so the user notices)
- Showing a dialogue box "You need to select an item first"
Have the software re-select the most recently selected object and apply the function to this object and rely on Undo if it's incorrect?
[This post was inspired by this recent video demo by TUAW of QuickKeys 4. At about 1:35 into the movie (loud intro music, quiet voice) the demo-er find himself unable to apply any functions until he selects part of the image.]
Reader Comments (14)
Hey Keith - long time listener, first time caller... You're right, both of those options kinda suck.
The first, because it's often hard to work out why a button should be enabled or disabled. Is it because I haven't selected an object? Is the object I've selected not appropriate for the action? etc.
The second, because it's unhelpful and disruptive.
I'm also not sure the last selected object is going to be the right option enough of the time to assume it by default. And, if it isn't, you then have to undo and then find the correct object...
Maybe a hybrid of your proposal and option two could work? That is, have a non-modal panel (like Firefox) appear that asks the person whether they want to use the last selected object (preferably highlighting it on screen or identifying it by label) or to select the desired object on screen and click "OK" to start the action.
Justin
Hi Justin,
Welcome to the comments.
I like your suggestion.
But, please clarify, which Firefox panel do you refer to exactly?
I have this issue in my own software (Bee Docs Timeline). In it, a user currently needs to click one or more events in the chart in order for the color selector to visibly alter anything.
I think would be better to guess what the user wanted. In my case, changing the event color with nothing selected should probably change ALL of the events.
The secret here is a good undo functionality. If the user can easily undo an action, then the interface designer has more flexibility to make guesses and not have to put up dialog warnings.
For example, it pains me that Quicken always asks with a modal dialog if I want to delete an item. This wouldn't be necessary if the action was undoable!
My opinion is that the interface designer should not disable controls or present warning dialog boxes. They should take an educated guess at what the user intended to do and make it easy to reverse the action if the guess was wrong.
I was thinking of the "Do you want to remember this password?" type panel that slides in at the top of the browser window. It's nice for a number of reasons:
1) It doesn't obscure any of the window content.
2) It allows you to interact with the window content.
3) It's obtrusive enough that you notice it, but not too aggressive.
This style panel might work well in your use-case. For example, imagine this flow:
1) Click the "action" button.
2) Compact panel animates in from top of window. This panel prompts:
"Perform action on [last selected object]. Cancel, OK". The last selected object is highlighted on screen.
3) You decide that you actually want to apply this action to another object.
4) You click the other object and it is highlighted. The panel prompt changes to "Perform action on [current selected object]. Cancel, OK".
5) You click "OK".
6) The action is performed.
I'm peraps totally offtopic, but you make me think of Interface Builder (mac interface builder) where you have object with a bunch of properties/actions and you can link them with some of another object. So you have the choice to link one to another or another to one.
@Adam — I agree. Full Undo support makes any system better for the user.
@Justin — I like your idea. It's a non modal sheet which is not too obtrusive. Which reminds me to ask, why don't Sheets in OS X put an overlay like many website do with their lightbox plugins, indicating that everything outside the current sheet is unclickable?
@ Salvi — I'm not quite understanding your suggestion. Perhaps rephrase?
Just to make sure, what Justin's talking about is a bar that appears at the top of the page, and not a sheet, which does cover up the contents of the window.
I presume the reason behind making sheets in OS X don't use an overlay is because the sheet is meant to be working with the window or what is selected inside it. It appears, you interact with it – press okay, choose a file, edit its name, or whatever – and then vanishes.
A website gallery has photos it wants to show, so it puts them on top instead of having to navigate to another page, and hides the distraction of the background as you view the pictures. You click close and return to where you were before.
Thanks Syphon for the clarification - perhaps OS X could blur the contents under the sheet, or some other method which makes the relationship clear, but shows the underlying window to be unclickable.
I say never do it.
Unless of course, you let the (need to be) selected item(s) actually become the button(s) themselves via contextual options after selection.
This maps to our minds better, and I believe to be the future of UI. Where abstractions like mouse pointers will have been removed.
@axiom I like this thinking.
To clarify, Are you saying the buttons are not visible if nothing is selected?
Old Mac OS 9 had a middle ground even if you had help turned off small help balloons would pop out if you hovered (or clicked, I think it was hovered but I do not remember that well) a greyed out option.
http://morrick.files.wordpress.com/2008/07/balloon-help-esempio.jpg" rel="nofollow">See image, the content translates roughly to "not available because the active window is not modified or because there is no selected text".
@Niklas, thanks, nice find!
Solution: the same as Excel for creating graphs.
You create a graph, it opens a pane, and lets you select the cell you wanna use.
If you had cells previously selected, it does the right thing and uses those for the graph.
It's effectively handling action > noun and noun > action.
So, the idea is, if you had nothing selected before clicking, assist the user on selecting what he wants to apply, and an option to say he's done.
Thanks Henrique — that is a nice interaction in Excel.