When it comes to software, users don’t really care that something “just works” as that’s expected in what you’re selling. For developers though, “just working” is the most significant step in writing an application and when it’s functioning correctly, it is all too often considered “done” in their eyes.
Functionality is only half the battle. A good UI (user interface) is the other half.
A good user interface can make or break an application.
Consider two applications that offer the same functionality, but have different UIs. Whichever UI is easier or faster to use is likely to draw more users. Why would someone use something more complex or less elegant? User interfaces can make the difference. Clean, slick, organized and well thought out interfaces can have positive psychological effects on users which can distinguish an application as “better” than a competitor’s, even if they’re the same under the hood.
Making a good UI isn’t always easy though.
In fact, making a good UI is often quite challenging and takes a lot of planning. The implementation can take a long time and usually needs lots of refinement. What makes a good UI though? It’s a complex question with complex answers. Consistency is one important thing to focus on. The way users interact with menus and perform actions or commands should be done in just one or maybe two different ways.
Mixing and matching, such as making some actions performable via icons and some via menus isn’t consistent to users. Offering actions in more than one place or by more than one representation can be confusing, such as icons and menus. It just ends up being ambiguous to the user. Good user interfaces should also lead the user. In testing, if you get questions like “What do I do now?”, you should probably spend a little more time making it apparent to the user what they need to do.
In the end, an interface should be intuitive and transparent to the user.