RIA and Usability Concerns
RIAs (Rich Internet Applications) are not any different from other software solutions. Developers need to follow some basic User Experience design principles. They have to choose the right design to fit the right context of use against what we know about
users' cognitive capabilities.
The warning to development teams not to be too enthusiastic with new and cool technologies. This is what initially led to Jakob Nielsen's decree that Flash is "99% bad." Most of the challenges associated with developing RIAs are design issues and not technological problems.
How Developers Deal with Design Problems
Developers can also leverage new design conventions. The Yahoo Design Pattern Library is an amazing resource to help teams out. Developers have fallen into the copy-cat design methodology. Conventions are guidelines and not rules. They can be extrapolated upon easily and creatively to evolve into new conventions. So look to examples for guidance, but not for solutions.
Some of the benefits of developing applications using
It allows a subsection of a screen (or page) to act independently. This helps developers and designers mitigate a big pain point in standard HTML solutions -- the full page refresh phenomena. In standard HTML, every time you need to fetch information from the server, the entire page will disappear and redraw, even if only a section needs to change.
view.
The best example of this is in both Gmail and Yahoo's new Mail Beta. When you begin typing an address or name, they attempt to auto-complete it, refining your choices as you type. On each keystroke, it is refreshing a query against your address book (and history), presenting you with the total list of matching addresses, all without a page refresh.
I think the primary reasons for its popularity is that it is all open and is an extension of the same technologies that web developers are using today. There is not a lot new here. It is an extrapolation of existing logic in the current collection of web development languages: HTML, JavaScript, XML, and CSS.
Also, there has been a strong community of eager developers who have seen AJAX-like applications as a holy grail, to add appropriate richness to their applications without having to be tied to anything but a browser -- no plug-ins at all.
The last piece that has come together is the push towards Software-as-a-Service (SAAS) and browser-based applications. People want to subscribe to applications instead of buying a license.
New technologies
Instead of blindly upgrading to RIA applications, development teams need to ask themselves if the technology offers benefits not possible otherwise. For example, are there places where using a different page metaphor would be advantageous for their
solution? Are there opportunities to reduce the frequent page refreshes on their projects? If this type of questioning bears fruit, then the development team should consider a new technology such as
If the team wants to try their hand with an RIA technology, they can start with "quick wins" like address book suggestions, or search suggest, or single field view/edit (think ratings in NetFlix). Use these quick wins as both technological and design proofs-of-concept to gain support for bigger page-metaphor changing designs later.
Are Rich Internet Applications are setting the standard? Are there some that just "get it" and could serve as valuable examples for those trying to learn more about them?
a toss-up. Google succeeds in one place where Yahoo doesn't -- simplicity of entry. Yahoo is still too hard to use, while Google still doesn't have the right output and features. These are a great example of how total experience is important to make a solution truly succeed. There is definitely a middle ground waiting to be designed for.
behaviors like drag & drop in a new context. The favorite criticism of most RIAs by web purists is that it kills the "Back Button." It is true that the back button does have to be managed, but there are aspects of the browser that "get in the way" of trying to do desktop-like behaviors in a web browser. However, you can succeed at having a pretty rich interaction model and still allow users to use the back button.
Comments