A lot of good design is overlooked. When you are able to get a task done smoothly, without having to understand how to interact with a fancy widget or discover the way forward, you are often less likely to notice. You may notice if the interaction pre-existed and was recently improved. This happened to me the other day when Gmail introduced a button to delete trash contents in a single click instead of multiple. I’m sure they realized that most people go to empty the trash completely and so provided a link for this. Thanks Google. Things should just work and on occasion delight.
Having said this let’s explore a specific example I recently came across:
The requirement calls for a widget to create and store paths with logical names to external files. Here is the initial design and workflow:
The user clicks “+” and a new row is created. A default name assigned.
The user must next click in the “Path” field, then a dialog launcher will display.
Clicking on the “…” dialog launcher presents a standard “Browse for file” dialog. Once a file is chosen and OK pressed the path is defined.
DONE
So looks good…or does it? Let’s review the task flow in detail:
- Create a new entry
- Activate the path field
- Click the dialog launcher button
- Select a file (double-click or click OK)
- Activate the “Name” field
- Select the text
- Type in a new name
Several steps fall into a category of things the user might not think to do or things that unnecessarily interrupt the desired flow. Is the default name meaningful? Should it be created before the file is specified? Why make the user activate fields? (the dialog launcher does require field activation but this is due to a toolkit that has rooted itself everywhere in the UI – another post perhaps)
What would an idealized workflow look like? Its pretty clear what this particular sequential task demands.
- Create a new entry
- Activate the path field
- Click the dialog launcher button
- Select a file (double-click or click OK)
- Activate the “Name” field
- Select the text
- Type in a new name (optional)
Let’s see how close we can come.
The user clicks “+” and the “Browse for file” dialog is launched where the user chooses a file.
The path field is populated, the “Name” field matches the name of the chosen file (better default) and the field is activated and text pre-selected. The user can now immediately type to specify a new name if they prefer something else or move on.
DONE
So we can see by performing this task analysis of what is performed by user vs. machine a more streamlined and pleasant experience can be had. No fancy widgets. Sometimes this analysis is easier to perform on working code - making changes in a second iteration but it could also be simulated via prototypes.
There are other places in the UI that could benefit from this analysis, renaming items in the Project Browser comes to mind. Please share others, especially if they are frequent.
_erik
Subscribe
In the Properties Pallet, unhide the dropdown-list icon when there is a list. Just one example is the sub-category list in the family editor. These hidden drop-down-list icons are in many places. Users click once to unhide the icon, then click again to reveal the drop-down-list.
Posted by: Bruce Madsen | September 14, 2011 at 12:06 PM
Three things
1. When creating a new folder in the open or save dialog, make the folder name selected and renamable. Revit is the only app I have that makes you select the folder and hit F2. We have many "New Folder" folders on our network because of this.
2. Make selecting a parameter easier in properties. Many times I click on a Text value and start typing only to find out it never actually selected the text and I am now entering a Keyboard shortcut. This is a new problem post 2011.
3. in all dialogs but especially the Family types make the TAB key jump to the next paramter value rather than having to TAB twice. Now the first time selects the parametrer the second selects the value. Single tab would be great.
Posted by: Chris Hubbard | September 14, 2011 at 12:24 PM
A perfect example of an unwanted behavior that comes from a third party toolkit used through much of the Revit UI - most places grids appear. Replacing this is a larger project but one we may need to do at some point to advance the UI.
Posted by: Erik Egbertson | September 14, 2011 at 08:58 PM
Currently, if you want to reload a family, you have to find the entry in the project browser, right click and hit 'Reload...' I'd like to see this functionality extended so that when you right click on an element in the model environment, you can also access 'Reload...'. This is similar to the way that you can right click an element and 'Edit Family', which you can do from both the project browser and the model environment. I believe this would be a beneficial workflow, as quite often you have to hunt the browser for the correct family. If you are designing in a certain area of the model and decide you need a new type, you can add this to the catalogue and reload without removing your focus from the area you're working on, as opposed to breaking focus away to the project browser
Posted by: D | September 15, 2011 at 06:10 AM
Good one. Its certainty easier to act on the thing in front of you than to hunt for it in list form.
Posted by: Erik Egbertson | September 15, 2011 at 10:43 AM
Some of the UI implementation of the V
G dialog is very cumbersome. Cannot select multiple filters to move, ctrol a does not select all, some auto checking functions wouldn't hurt etc etc...
Posted by: Nathan | September 19, 2011 at 07:01 AM
Visibility Graphics Overrides --> Worksets --> Visibility Settings
I have to click once to activate the row, a second time to drop down, and then a third time to select show, hide, or use global. Instead of a drop-down, how about just three radio buttons, straight across?
Every click counts, especially while manipulating the 11,000+ combinations of visibility controls.
Posted by: plawton | September 19, 2011 at 11:05 AM
Good examples. The toolkit in use is partially to blame for some of these behaviors. VG is a high traffic dialog.
Posted by: Erik Egbertson | September 19, 2011 at 02:41 PM
your post is really very good for the help of students for their study matters.
i hope if student visit your post they will get important information form your post.
Posted by: BIMmanager | September 24, 2011 at 07:19 AM
Good post regarding design. Good design is invisible. It just makes things faster and more efficient. Love you lean thinking!
Posted by: Used Injection Molding Machines | September 30, 2011 at 12:05 PM
Very interesting post, It will be very usefull or me what you commented
Posted by: regimen perdida peso | November 08, 2011 at 07:52 AM