Tracking Service-Oriented and Web-Oriented Architecture

SOA & WOA Magazine

Subscribe to SOA & WOA Magazine: eMailAlertsEmail Alerts newslettersWeekly Newsletters
Get SOA & WOA Magazine: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn


SOA & WOA Authors: TJ Randall, Lori MacVittie, Andreas Grabner, Dynatrace Blog, Cynthia Dunlop

Related Topics: RIA Developer's Journal

RIA & Ajax: Article

Bill Scott's AJAX Blog: Nine Tips for Designing Rich Internet Applications

If you were going to provide some quick basic guidelines for designing rich applications what would they be?

Nine Tips for Designing Rich Internet Applications

Recently I was asked to provide input into a presentation. The question was asked, if you were going to provide some quick basic guidelines for designing rich applications what would they be.

Here were the nine thoughts as they originally came to my head.

1) Make it directly interactive
Instead of page to page interactions think direct interaction. Use in context editing as much as possible. Use drag and drop only where it makes sense. Barring a selection model, put tools as close to the objects being edited as possible. Cooper states it as "Where there is output, let there be input."

2) Make it inviting
Use hover to invite users to the next level of interaction. If the interface responds well to light events (like hover) it can be used to entice the user to interact.

3) Use lightweight, in-context popups instead of page transitions where possible
Although they will eventually get over-used, lightweight popups can be your friend. Think of them as annexed areas for your page.

4) Use real-estate creatively
As mentioned popups help. But slide outs have long been allies in desktop tools, they can be an aid in the world of the web.

5) Cross page boundaries reluctantly
Think of a page switch as a context boundary that the user may or may not want to cross. Think of it as a place that many of your users will lose interest and no longer follow you.

6) Create a light footprint
Make it extremely easy to interact. Rating movies or news with just a click on a star with no-refresh is awesome. Checking hostnames without leaving the page is an excellent way to keep a user engaged. Shopping by clicks that only add to a container on the page (instead of going to a new page) are like impulse aisles in the grocery store.

7) Think of your interactions as storyboards
As the designer you are the director. Think about the event states as acts in a play and your interface elements as actors. Get them all moving towards telling your story. Putting the frames down on a storyboard is a great way to rehearse your script. Think of the interesting moments as opportunities for engagement.

8) Communicate transitions
Keeping the user informed during lightweight operations (that don't leave the page) with spinning wheels, busy or progress indicators keep the user engaged with a living page.

9) Think in objects
Instead of thinking about content and pages, think about Rich Internet Objects. The travel log in Yahoo!'s Trip Planner is a good example. Once created it can be searched for or shared. This will help you create more interactive applications and make the user's work recognizable and sharable.

These are not exhaustive. Even as I go to publish this I can think of other tips to include... but I will resist adding to the list. Perhaps you have some tips/principles that have helped you solve design challenges?

More Stories By Bill Scott

Bill Scott is the Director of User Interface Engineering at Netflix, the world's largest online movie rental service. At Netflix he is guiding the UI Engineering team's efforts to continue Netflix's excellence in user experience, improve client performance and refactor the presentation tier to use the latest best practices for both the DHTML layer as well as the Java tier layer.

Scott is currently finishing up an O'Reilly book called Designing Web Interfaces: Principles and Patterns for Rich Interaction. The book covers 75+ interaction design patterns, several anti-Patterns organized into six design principles for designing rich interfaces.

Previously, he led engineering for Yahoo! Teachers, a Web 2.0 community allowing teachers to gather, organize & share web resources and lesson planning. In addition, as an Ajax Evangelist at Yahoo! he focused on spreading the goodness of "rich and sane" AJAX design & development. Bill is a frequent speaker at conferences and workshops discussing the nuances of good design and the challenges of great engineering. At Yahoo! Bill was also the Design Pattern curator where he launched the public Yahoo! Design Pattern Library. Before Yahoo! Bill led User Experience at Sabre Airline Solutions and co-founded Rico (an open source Ajax framework).

Comments (2)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.