I am not a designer and I could not design images and a color scheme for a website to save my life. However, the most beautiful website with vivid, popping imagery and a great color scheme does not always mean that the website has good usability. In this article I am going to talk about User Interface Design – but I will not be referring to the design aspect of colors and images, rather, design in the terms of usability, or the user’s ability and desire to use your software.
Usability is the difference between good and great software (using the term software generally for both desktop applications and websites). While there are technical, financial, project management, and other factors that can affect software project success, usability is ultimately what can make a software project succeed or fail. This is an no-brainer but low usability = low use. How the users perceives the software in terms of how they like the software, how it makes them feel, and if it makes their job easier or harder to perform, affect the user’s willingness to use the software.
The Simplicity Factor How is it that simple and sometimes plain or even ugly websites become the most widely used and most profitable? Take Google, eBay, Amazon, YouTube, and MySpace for example. While largely lackluster in design, all of these websites are very simple to use and push function over design. These sites are so simple to use that anybody can use them and as it turns out, everyone does use them. Enough said.
Task Based Interface What is the user actually trying to accomplish? Putting all of the options in front of the user at one time, on one screen is way too confusing. Highly usable interfaces should focus on one task at a time and guide users through that task. Ask the following two questions:
Draw the user’s attention to information and options by using subtle styling clues such as layout & grouping, light background colors, thin borders, etc. If more information is needed from the user to complete a task, show a dialog to gather more precise information rather than cluttering one screen with all options available. Use tips, tool-tips, or inline-callouts for a call to action. For example, showing an inline tip or callout when the user is creating a password is much more informative than having a user type in their password twice, and then hit the submit button only to learn that the password that they entered was too short. Inline tips that appear when needed can explain why information is needed, how to enter the information, and ultimately help the user instantly know what is expected of them so they do not have to resort to help documents, use the Contact Us link, or leave your website in frustration.
A Rockin’ Interface Fortunately for you, at Rockfish our passion encompasses design, usability, and functionality which you will find in all of our products. Usability is engrained in our company, from sending large e-mail attachments via filesend.us, to delivering content to your website via our advanced Content Management System. Simply put, our interfaces rock!
Press F1 for Help… Finding the answer in a sea of solutions.
For me RTFM* is not my SOP**. I’m your typical guy… “I don’t need no stinking manual” and I don’t particularly care for the F1 key either, it’s a waste of my keyboard real estate. Don’t get me wrong, I don’t have anything against a “good” manual. However a lot of technical books are filled with tons of regurgitated verbiage and very little real world examples. Same goes for “online help” and the MSDN library. These methods of help are fine to get you started and headed into the right direction, provided you’ve got time to research them. As for the rest of us… those of us who work on a deadline, those sifting through the muck searching for that small chunk of useful code that will bring our stress level back down into the black... there’s a better solution. It’s called “Social Networking”. No I’m not talking about your buddy's MySpace page. I’m referring to online communities of people who share the same interests. Sites like The Code Project and DevX .NET Zone. Community based sites are driven by its users. These types of sites provide a wealth of real world examples, examples you will not find in any book. They provide forum for discussion, collaboration, and it’s users are not afraid to let you know that “dude, this code sucks” . Honestly, how many times have you been knee deep in Google results only to find the solution sitting right there on The Code Project the whole time? It’s happened to me on many occasions. Often enough that I make many of these sites my first line of search. I subscribe to their RSS feeds, I engage in online discussion, and even giving back by uploading my own solutions to problems that plagued myself. These sites were developed by people like you and me who are sick and tired of sifting through the muck. And believe me, we can all use a little less muck and a lot more solutions. * Read the <Expletive> Manual ** Standard Operating Procedure