I just finished reading (actually, the computer just read to me (w00t!)) The Essence of Effective Rich Internet Applications, a Macromedia white paper by Kevin Mullet. Although terribly business oriented in tone and examples, (some people might like been spoken to like an executive-type, kinda makes you feel like you could hang out with Donald Trump) the paper outlines some nice little keywords that Macromedia uses to describe what makes an effective RIA, namely:
- Seamless experience
- Focused experience
- Connected experiece
- Aware experience
Seamless experienceWhen it comes to RIAs, the user experience should be seamless. Seamlessness applies to both the layout of information on an interface (static/spatial), and also the temporality of that experience (dynamic/temporal/spatial). Mullet cites the obvious example of page reloads and the quick flash of white that the user might see as a new page is loaded. Often this breaks the interface metaphor, particularly as it relates to tabbed interface elements. I agree that this is a significant problem, but have never felt it was a massive problem from a design perspective (the millions of happy Amazon users will bear witness to that!). Obviously, it is much better if the response of clicking on a tab is instantaneous, which I am sure we will see more frequently with XMLHttpRequest taking off.
Focus experience
The tools of the application should be task focused and not try to solve everything with one interface. “A focused experience has a purpose that is clearly defined at the outset and continuously reinforced” (p17).
Connected experience
The application will be both interoperable and able to cope with periodic disconnections from the network without disrupting the user’s productivity. Connectedness and disconnectedness should be as seamless as possible to the user experience, with the software either intelligently finding alternative way to access the network, or caching the user’s work locally until the network connection can be re-established.
Aware experience
Aware talks about an adaptive user interface. This can range from full adaptivenes , to simple little things like an auto complete function.