views:

548

answers:

12

Often times convention is one of the most important design consideration for user interface. Usually the advice goes to do it like Microsoft does.

This is for three reasons:

  1. If it ain't broke, don't fix it.
  2. If your users expect to click on a floppy disk icon to save, don't change the icon (even though some of them may have never seen an actual floppy disk).
  3. Users don't want to re-learn the interface (and hot keys, etc.) with each different application they use.

At the same time Emmerson said "*A foolish consistency is the hobgoblin of little minds.*" So when does maintaining a consistent user interface cross the line from a good idea to stagnated innovation?

Microsoft shook up the good old WIMP GUI with the introduction of the tool bar, and then again with the Ribbon control (which is the natural evolution of the tool bar, like it or not.) Now we are seeing ribbons everywhere.

So my question is, what are some user interface paradigms that are accepted and consistent across multiple applications, but have stayed past their prime and are starting to reek? Are there some important changes that would benefit from a grass roots push by developers to innovate and improve the user interface experience for our users?

One thought that came to mind for me is the modal pop-up dialog. You know the ones that say: "Are you sure you want to . . .. - [Yes] [No] [Cancel] [Maybe]" and its evil twin "Successfully completed what you wanted to do! [OK]." We are seeing a movement away from these with the "info panel" in browsers. I think they need to be adopted in windows application development as well.

If possible please list a solution for each stale UI item.

And please don't list clippy. We all know he was a bad idea.

NOTE: This is specifically Windows client user interface paradigms, but I am certainly open to drawing inspiration from the web, the Mac, etc.

A: 

Ctrl-Tab and Ctrl-Shift-Tab cycle left and right through tabs instead of MRU behavior, even though in most cases the same behavior is duplicated with Ctrl-PageUp and Ctrl-PageDown.

James M.
So you are saying the consistent duplication of the keyboard short cuts is a bad idea that needs to be stopped. Which do you prefer? Ctrl-Tab or Ctrl-PageUp?
Jim McKeeth
No, I'm just saying this particular shortcut is consistently wrong (especially in cross-platform apps).
James M.
+1  A: 

This question is a bit too open-ended, IMHO.

However, my main approach when designing anything is:

  1. Fits in to wherever it is. If it's a windows app, I copy MS as much as a possible
  2. It's simple.
  3. It provides options
  4. Buttons have a nice description of what the result of clicking will be, as opposed to 'yes or 'no'

Harder to answer the rest of your post without spending hours typing out an arguably useless (and repeated) set of guidelines.

Noon Silk
So you think Microsoft's latest UI designs are the best there is out there and you wouldn't change a thing, or you believe consistency is worth more than innovation?
Jim McKeeth
Yeah, consistency is worth a lot; innovate where you can, but being generally consistent is more important *for the user*, because it's easier, and that's who you are writing things for.
Noon Silk
+4  A: 

The Apple Human Interface Guidelines are a good read on this topic. They discuss this from a very broad point of view and the guidelines apply to any platform, not only Mac.

Remus Rusanu
Interesting, thanks for the link.
Jim McKeeth
+1  A: 

In my mind, the one thing that really stands out is that USERS need more and easier control over the application's user interface appearance and organization.

So many interfaces can not be modified by the user so that the most used/favorite functions can be grouped together. This ability would make your favorite software even easier for you to get things done.

BoltBait
Ah, good point. Let the users customize the placement of clickable items and customize hot keys to what works best for them. Although I don't think customization should ever be a replacement for thoughtful design to begin with.
Jim McKeeth
There's definitely drawbacks to too much customization. 1, maybe I can get the program on my desktop exactly how I want it, but if I use the same program on my friends desktop, it doesn't help me. 2, It's easy to accidentally mess up a customizable UI (like maybe an errant click which drags an important button off into nothingness). When that happens it's very annoying to have to dig through the program's options to figure out how to restore it.
andy
Perhaps it would need a standard keystroke that resets the UI back to factory defaults. And, there should be the option to save many different setups, user selectable of course.
BoltBait
it's very difficult to write a user manual for how to use a customisable interface.
Breton
+1  A: 

Error messages need a "Just do it!" button.

Seriously, I really don't care about your stupid error message, just DO WHAT I TOLD YOU TO DO!!!

BoltBait
Ah, I like that one too. Instead of saying telling the user to do something different to get to their goal, the software should just do it for them.
Jim McKeeth
There was, many years ago, an extension for the Mac called, if memory serves, "OK OK OK". If a dialog appeared onscreen for too long, it would simply "click" the OK button for you. Great stuff.
Carl Manaster
+2  A: 

The file system. I want to save a file.. >OOOPs I need to think of a file name first. Well.... how about ... blah.doc.

6 months later...

Where the %#*(%& * did I save that %()#()ing file?

The solution is build a versioning system into the application, or better, the OS. Make files findable by their content, with a search engine, instead of forcing the user to come up with a memorable name, when all they want is for their file to not get lost.

Eliminate the save step. Type something in to the application, and it's just there, and there's no risk of losing it by some misstep, like forgetting to save. If you want an older version, you can just pick a date and see what the document looked like back then.

To build on the search engine idea: It's a pain having to navigate some arbitrary tree structure to find your stuff. Searching is much easier. However, you might still want to have something like a "folder" to group multiple files together. Well, you can build a richer metadata system, and have a "category" or "project" field, and setup the search engine to show items by project, or by category. Or group by those, or whatever new UI discovery we make next.

Breton
File names and extensions are just primitive forms of metadata, so I think what you need is wider adoption of more sophisticated metadata, and one day file names can be eliminated without anyone noticing...
James M.
There's nothing wrong with filenames as metadata. The problem is that most systems require you to enter this metadata in order to prevent the loss of your work. That's a pretty harsh ransom.
Breton
What I can't understand is how OS developers all around the world can use version control every day, and not realize it would be a good idea in what they are working on. Same applies to databases. When Facebook or Youtube can find a friend or video in less than a second, and I can search for whatever metadata I want, then why do I have to search for only a files name, and why do I have to look at an animate dog while it is searching?
Marius
A clever application can suggest a filename depending on actual file content or metadata.
Altherac
a half measure at best. It's still possible to lose your work through inaction, or a mishap with the power cord.
Breton
I don't really like the way this answer is worded, but I agree with the spirit. I don't want to do away with the filesystem per se, but I really wish the whole "File->Save" concept would die. If I make a change it should be permanent until I undo that change myself. I shouldn't have to remember to save (and think of a filename, etc). Save should be automatic, reverting should be trivially easy.
Bryan Oakley
+1  A: 

I think the entire Document model of the web needs to change. It's not a user interface, but it leads to many, many bad user interfaces.

The document model was a good idea to connect a bunch of documents, but now the web is also a collection of applications. Today, I think the Page/document model corrupts our thinking. We end up lumping things together that aren't related, modularizing our code wrong, and in the end confusing users with our monolithic control board type websites.

Andrew Johnson
See palm's WebOS for an example of how you can take the web's document model and make it work really well.
Breton
+5  A: 

Clicking things on touch interfaces

It's incredibly difficult to click on things on a touch interface, because you don't know when you have pressed the screen hard enough. And if you add an animation to the button you are clicking, you most likely wont see it, because your finger is in the way. Adding other reactions, like vibrating the phone or painting waves on the screen might work, but there is usually a delay which is too large, much larger than the tactile sense of a button being pressed. So until they invent a screen with buttons that can be pressed, all touch devices should move towards dragging user interfaces (DUIs) instead.

Counter intuitively it is easier to press an object on the screen, drag it, and then release it than it is to just press and release it. It's probably because you can see the object moving when you start dragging, and you can adjust the pressure while dragging it. Dragging also has a lot more options, because you now have a direction, not just a point that you clicked. You can do different things if the user drags the object in different directions. Speed might also be used, as well as the point where the user releases the object. The release point is the real strength of DUIs, because it is very easy to release something, even with pixel precession.

Some designs have started to use DUIs, like (here we go) the iPhone, palm pre and android phones. But only part of their design is DUI, the rest is clicking. One area they all have in common is the keyboard. Instead of clicking on a key the user presses any key, then drags their finger towards the key they really wanted to click. Unlocking these phones also uses dragging.

Other easily implemented DUI features would be things like mouse gestures, where dragging in different directions, or drawing different shapes does different things. There are also alternate keyboards being researched which puts a bigger emphasis on dragging. All buttons can be changed into switches, so have to drag them down a bit to click them. With a well designed graphics, this should be intuitive to the user as well.

Marius
+4  A: 

You mentioned popup modal dialogs , and I'd argue that non-modal ones are just as bad. Any dialog box remove focus from the program, they could end up behind the program and make it hard to find it, they might not even appear on the same virtual screen.

I'd like to see an end to all dialog boxes. If you need to stop someone from using the UI because of some non-normal circumstance, then remove the relevant parts of the UI from the window, and replace it with what the dialog would contain. Bring back the UI once the problem has been handled.

pizza
Generally I agree, but the problem is that you can end up doing an awful lot of programming for very little gain if you go down this route. Popup dialogs are very easy to write. Like most programming decisions, there's a compromise to make. Skill and judgement are needed. But laziness != skill and judgement.
Andrew Bainbridge
amen! dialogs do nothing but interrupt your flow. The only dialog boxes that should be allowed are those for truly catastrophic events.
Bryan Oakley
A: 
OscarRyz
I don't like this answer. It doesn't suggest paradigms that need changing so much as it just nitpicks some applications.
Bryan Oakley
+1  A: 

Find dialogs that sit over the widget in which you are doing the search are terrible. Loads of apps do that. The find bar in Firefox works much better.

Andrew Bainbridge
+1  A: 

Many applications have multiple panes within the UI - eg in Outlook there's the preview pane and the inbox pane (amongst others). In these applications typically cursor key presses apply to the currently focussed pane. But there's very poor hinting to show the user which pane has focus and there are seldom keyboard shortcuts to move the focus between panes.

The focussed pane should be highlighted somehow.

Something like alt+cursor keys should move the focus around.

Andrew Bainbridge