Flex RIA usability
As Flex usage continues to take off and Apollo prepares for launch, bringing with them a whole new breed of application developers, we would all be well served to invest some time and energy in usability design. Everyone knows good usability design when they see it, use it and experience it, yet it is something that can be very hard to achieve. With tools like Flex and Apollo it is only a matter of time before a new generation of applications become pervasive, both on the internet and on the desktop. The great part about this is that developers are not bound by the same constraints that traditional application developers are bound by (ie. Flex/Flash provide much greater design flexibility). This can however, be a huge liability. There is a reason most high end, high volume desktop applications look the same, the 'look' has been proven to work. For better or for worse users expect applications to act and function in a certain fashion. This is not to say that new ideas and concepts can not be worked into applications, it just means be very careful in how a new idea is executed. Users can handle little improvements and enhancements, but creating an entirely new way of doing a familiar task and you run the risk of users dropping your application like a hot potato and going elsewhere, even though you may have a superior application.
So where can one learn how to design for usability? Well there are two options. Option one, trial and error. This will surely be time consuming and costly, yet many developers choose this path for some unknown reason. Option two, learn from someone else's trials and errors. Why not take advantage of the millions of dollars and countless hours that large software companies have spent on usability research and design. Apple and Microsoft have published some exhaustive documentation that is very applicable to RIA usability. For the Flex developer the documentation on all of the different control and container types is very pertinent since these controls are almost identical in look and use to the mx.controls set.
- Introduction to Apple Human Interface Guidelines
- Apple User Experience Library
- Microsoft User Interface Design and Development (use the tree on the left)
- Windows Vista User Experience Guidelines
There are also many other great sources of information on the science of usability and most of it is freely available. Here are a few of the better ones I have found on the internet.
- KDE User Interface Guidelines
- KDE User Interface Guidelines - Standards
- Cornell University - Ergonomic Guidelines For User Interface Design
- Joel Spolsky - User Interface Design For Programmers
For those of you who prefer a good book, here are two good resources.
- Web Application Design Handbook: Best Practices for Web-Based Software
- Don't Make Me Think: A Common Sense Approach to Web Usability
To quote Peter Parker's uncle Ben
I look forward to seeing the next generation of applications built by designers and developers using Flex, Apollo or whatever else comes along, I just hope they use their tools responsibly.with great power, comes great responsibility
Dec 15, 2006 at 4:22 PM
I also highly recommend Designing the Obvious:A common sense approach to Web Application Design by Robert Hoekman. It's an easy and quick read. It's really transformed the way we approach Web UI's.
http://www.amazon.com/Designing-Obvious-Common-Approach-Application/dp/032145345X
Dec 15, 2006 at 6:16 PM
I couldn't agree more. Almost all of the developers I have know would consider themselves poor at design but usability design, or user experience (UX), is a totally different topic and something that must be done to each project.
In my opinion almost all of UX is based on asking the right questions. When you ask the right UX question then the answer is obvious.
Apr 04, 2007 at 5:28 PM
There are also other sites that aren't tied to specific vendors. Here are some examples
Jenifer Tidwell's Designing Interfaces (from her book).
The Yahoo! UI Library
The Google Web Toolkit Widgets gallery.