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