I really want to know if I'm missing anything obvious in the software I'm developing.

What User Interface features that you consider important are often missing in most software?

+11  A: 
  • A help menu with more than About...
  • Context sensitive help
  • Tool tips
Amen to context sensitive help. It is a killer feature.
David Reis
+13  A: 

keyboard Shortcuts

Jeremy Reagan
power users will care about this - normal users not so much. Try not to invent your own - just make sure CTRL-Z CTRL-X CTRL-C CTRL-Pand CTRL-V work!
+5  A: 

Right click context menu on things like tree views and grids.

We have an record management application here at work that I have to use now and then and they don't have right click on any of the documents in the treeview so you have to keep going to the bottom of the screen to mark a task as completed grrr, and no keyboard shortcuts too grrr

Nathan W
Almost threw -1 for right click. If every thing on the context menu is one real menu, this is goodness. If somethings are ONLY on the right click menu, this is bad, very bad.
Right Clicking doesn't work cross browsers without fiddling with browser settings. I agree. I almost hit -1 for this one too ... :((but only almost ;)
Thomas Hansen
@Thomas, he didn't say it was a web app. Some of us still do stand alone, you know.
Paul Tomblin
Yes it's stand alone, and they have put really crap things on the context menu things that you can use the keyboard for like open document wow enter does the same thing but because there is no shortcut for mark completed right click is the next best thing.
Nathan W
+17  A: 

Undo is bitchy to code, but very useful to the end users.

Save the location and size of all/any windows, so they are restored whenever the program is restarted.

Read this article on Undo from a usability expert (Aza Raskin): Never Use a Warning When you Mean Undo. Coding undo is not all that hard: examples [1], [1.5], [2].

Internet Friend
Undo is not bitchy to code... it just takes time.
Remember to check window positions when you restore them - too many apps will "restore" windows outside the visible screen :(
@moobaa - I hear you. Ever removed a second monitor or a projector only to discover that some app's windows are still on the phantom display?
Paul Tomblin
Good point Chris. But it's very bitchy when you have to shoehorn it into an existing app. :(
Internet Friend
Internet Friend, ok... but you could say that about any enhancement
'Undo is bitchy to code', but 'Coding undo is not all that hard'. Change your mind ;p
@lagerdalek - He didn't type 'Coding undo is not all that hard'...someone else edited that in.
Jordan Miner
+6  A: 

An API and a scripting language so I can bypass the UI.

Seriously. Nothing is more tedious (and error-prone) than having to point-and-click through some repetitive process.

+2  A: 

Good design.

+12  A: 

What's usually left out in UI's? Nothing! (literally. empty space). The question is better asked "What can be taken out?". When you have to think of what else your UI needs, you have already gone too far. Leaving out empty space is something UI programmers need to work on. Nobody likes feature creeping.

See Here

Remember the KISS rule.

John T
Indeed - a little white space can make all the difference to dialogs.
That's OpenOffice!? Ouch!!
Indeed it is OpenOffice, with all of the toolbars expanded ;)
John T
+3  A: 
  1. Consistency in your design... There are too many apps that "look" like a programmer wrote them. I can't stress enough!
  2. Automation... Office has it, I wish more apps did.
  3. CLI... As mentioned above, especially if it's a repetitive-wizard-type process
  4. Templates/Presets... like Handbrake... make life easier, not to mention handy in the training process
  5. Error/Confirm messages which don't get in the way... Unless the user needs to take immediate action, don't display a dialog. If the error is obvious, fix it for me and then tell me why
  6. Scalable UI. With WPF this is getting easier, but it is annoying if I'm on a large monitor and I have to squint to see anything. Not to mention my click accuracy isn't that great.
+2  A: 

Leave room in your dialogs so if you internationalize it, you have room for longer words (think Italian) and bigger fonts (think Chinese).

Paul Tomblin
+12  A: 

These are some of the UI features that I often find are done badly, or are even missing:

  • Restoring window state properly.
  • Conforming to the average (non-beginner, non-expert) user's mental model.
  • Restricting the number of choices that the user has to make.
  • Restricting the amount that users have to read while using the app.
  • Strong consistency with other apps of the same genre running on the same platform.
  • A well-done Undo / Restore facility.
  • As somebody else remarked, context-sensitive help.
  • Allowing an app to be navigated without the aid of a mouse.
  • Good multi-monitor support.
re "restoring window state properly" - Heh! :) I've solved all except (6) in roughly below 300 lines of code.
+1 for the story in the blog - priceless.
Mark Ransom
+3  A: 

UI Consistency.

Pop Catalin

Kind of too general a question. It would depend on what does the application do. One thing I see often missing from gui applications is an easy way undo mistakes and not only in the object you're manipulating but also on program UI elements. Closing some floating options panel or toolbar by mistake and then having no idea where is the thing enabled frustrates me to no end. Is it under Windows? Or under View? Was it this one? no that one is for something else entirely. Gah! what's it called?

Ariel Arjona
+3  A: 

I know I've been guilty of leaving out printing support in the past. I would never use it, but some of my users do.

Marc Charbonneau
+1  A: 

Clean and intuitive.

+2  A: 
  • drag and drop
  • clipboard
Mark Stock

Cycling through links and fields using the tab button.

+1  A: 

Clean icons. Good icons. Meaningful icons.

I am very disappointed with a lot of icons inside applications — especially on Windows ;-)

Oliver Ruehl

Left click drag to highlight, right click for context menu with option to copy highlighted text. Found missing from some applications coded in Java.

Rob Kam
+1  A: 

actual consideration for the user seems to be left out quite frequently:

  • using terminology that makes sense to the programmer, but not the user
  • organizing the application's workflow for the convenience of the programmer, but not the user
  • not considering the user's work processes in the first place, and finding ways to help him/her eliminate steps and simplify things
Steven A. Lowe
+1  A: 

Being able to use drag and drop to customise the toolbar and to be able to remove/hide unwanted toolbars without leaving an unused button whose only purpose is restore/unhide them.

Rob Kam
+2  A: 

I'll add a few myself that have't been mentioned yet:

  1. Non-modal forms that can remain open while other work is done.

  2. Ability to view multi-windows at once (instead of tabs which show only one at a time)

  3. Ability to have multiple views of a single window at once, i.e. split mode, or panes, or actual multiple windows into the same object.

+1  A: 
  1. Freezing the application when it's doing something that takes more than a second.

  2. Not showing users what's happening, and not indicating how long it's going to take.

Wouter van Nifterick
+1  A: 

IMO, user name and password login options need work. I understand there are security concerns with each of these options. The risk-trade off is different for each application and needs to be assessed on an app by app basis.

Often forgotten or poorly implemented features include:

  • Remember Me
  • Forgot password
    • If you have a restrictive password policy, give me a hint as to what it is!
    • Range for # of characters, no special characters, required numbers or capitol letters, etc
  • Forgot username
    • If my username is not my email address, give me a hint to your username policy

Windows that snap to other windows and screenboarders. KDE and Winamp do this, and are the ones most famous for it. Why don't a whole host of other applications and DEs do this?