Note: This week I'm stepping aside to allow my colleague, Jonathan Freeman, to post this killer piece on UI design. He has been a UI developer for my company, Open Software Integrators, since 2011. -- Andy
One of the best articles I've ever read on user interface design is this 12-year-old classic -- written by Microsoft, no less. Published long before smartphones and modern tablets emerged, it fully explains the essence of good UI design. Amazingly, it criticizes Microsoft's own UIs and explains why they are bad, though it was written at a time when Microsoft was not known for its humility.
Because my company has a mobile application division -- and increasingly does full application development in our enterprise open source division -- I often have to explain what makes a good or bad UI to customers. I've frequently referred to this article by way of explanation.
[ Learn how to work smarter, not harder with InfoWorld's roundup of all the tips and trends programmers need to know in the Developers' Survival Guide. Download the PDF today! | Keep up with the latest developer news with InfoWorld's Developer World newsletter. ]
See, Microsoft decided it wanted to solve a big problem with software: It's hard to use. So it conducted research on how its customers use and learn software and guessed the reasons why it was so hard for users. Microsoft realized users weren't understanding the conceptual model of the product, weren't learning common tasks after repetition, and found it hard to figure out what each screen was supposed to do. Deductive user interfaces, as Microsoft called them, were the culprit.
The deductive user interface
The basic concept of a deductive user interface is that a user is presented with a pile of possible actions on a single screen. Then the user has to go through bit by bit figuring out (or deducing) what does what, what's related, and what actions can be taken. Power users might breeze through this introductory period and get to work because that sort of exploration is comfortable for them. Unfortunately, the majority of your user base doesn't fall in that category. A deductive interface is just a pain for the average user.
Two great examples of deductive interfaces come immediately to mind. The first, given that tax season just ended, is the almighty IRS 1040 U.S. Individual Income Tax Return form. This form has instructions, but in general, you have to figure out what to do and what the terms mean. The form comes close to assuming you are an accountant familiar with tax law. This obscurity has created a whole industry of tax preparation experts who not only know the form but everything behind it.
The second example is Windows Explorer. When Microsoft originally came up with this UI motif in Windows 95, it suggested everyone use it. There were controls for Visual Basic that helped you apply the Explorer interface to your custom applications.