Set of usability heuristics specifically compiled for Rich Internet Applications (RIA) or Single-Page Applications (SPA).
By jordisan
Set of usability heuristics specifically compiled for Rich Internet Applications (RIA) or Single-Page Applications (SPA).
By jordisan
When designing RIAs, it is tempting to design many new features that add a lot of richness. Go slowly, adding richness where it significantly improves usability, and relying on traditional models where these better suit your user group.
Users expect to directly manipulate objects on the screen, such as dragging and dropping appointments, because they are used to doing so in desktop systems that look similar to the application at hand.
Most desktop applications provide a command-based way to move objects from one location to another. Where possible, we recommend the same approach for web-based applications.
Using animation or video tutorials with concise narration can often guide a user through complex tasks, while engaging individuals who learn better from visual or audio instruction rather than text. Showing the required steps is often easier for the user to understand than mentally translating a text description of the steps to the appropriate interface elements. Providing immediate contextual help through the use of tool tips and contextual help buttons allows the user to complete their tasks without having to shift focus to a help system.
Display error messages along with the appropriate application controls or entry field sot that the user can take appropriate corrective action when reading the message. The ability to overlay help messages or illustrations directly over the interface can be useful in explaining task flow between related screen elements.
Some pages and features rely solely on users discovering application functionality such as right-click menus, the ability to drag objects, or content appearing only after a cursor rolls over an object. Because no alternative methods such as navigation menus or visible control sets are provided, task failures rates are often high.
One way is to use controls that mimic things people are familiar with from the physical world. While RIAs can offer novel metaphors, novelty often slows usefulness and usability. When using metaphors, ensure that they act consistently with their real-world counterparts. If application functions cause the metaphor to behave in ways that don’t match the real world, the metaphor has lost its usefulness and should be discarded in favor of a different concept.
The Web 2.0 design aesthetic – with its emphasis on simplicity – has spawned a related technique where actions for an item on the page are only revealed on rollover. The implementation can have a huge impact on usability. If the entire object is “hot” and creates a large target area for displaying the actions, discoverability is improved.
We can use this to our advantage and draw the eye to the updated part of the page.
When we take an action such as clicking a button, our eyes remain fixed on that point for a short time, then release to look somewhere else. By making sure the change occurs quickly and as close as possible to where they are looking, we can ensure the eye is drawn to the appropriate place.
Visual attention can only be focused on one thing at a time. Make one update at a time, and don’t use high-contrast, moving images elsewhere on the page. 37 Signals were one of the first to do this, popularizing the yellow fade technique.
Sluggish performance can result in users blowing right by important functionality.Essentially, this lets users perform functions that the system can’t adequately support. It’s very frustrating for users to try to find the "sweet spot" -the point at which they can perform the task as quickly as possible without breaking the functionality.
RIAs should leverage the rich display capabilities to provide real-time status indicators whenever background processing requires the user to wait. While progress indicators are frequently used during an extensive preload when launching an application, they should also be used throughout a user’s interaction with data. This may be monitoring backend data processing time or preloading time.
Most users have developed a mental model of the Web based on pages—every click takes you to a new page. This is a strong mental model, and is reasonably accurate for the majority of content-rich sites. Users will continue to apply their page-based mental model to RIAs unless they can clearly identify that the RIA uses a different model. You may need to design different visual navigation models so people can identify when they are getting a new page.
Consider when people may need to go “back”—this will give you clues about where to use pages. Don’t disable the back button, reducing users’ control of their situation. The RIA should include code that is aware and responsive to browser history.
While RIAs are made possible by the functionality of Flash and other technologies, users are usually not familiar with terms like rollover, timeline, actionscript, remoting, or CFCs – such technology-based terms should be avoided in the application.