Principles - Ajax Patterns

Principles

From Ajax Patterns

(Redirected from Ajax Principles)

Contents

Ajax/Javascript Programming and Usability in "Ajax Design Patterns" Book

Overall Goals

Specific goals closely related to Ajax application design.

User First

Adopt Ajax for usability, not just to strut your stuff, so that the user is engaged, and not immediately driven away by your nod to website splash screens, <blink> tags, popup ads, and other usability disasters of websites which have gone to a place you don’t want to be. The user's time should be spent thinking about the task at hand rather than the intricacies of the interface.

Projects incur the risk of using Ajax as an end rather than a means. Ajax is an excellent tool for improving the user experience and is now a natural choice for any serious web project. The goal should be usability rather than buzzword-compliance. If Ajax is used just to prove a point, two detrimental consequences are likely: resources will be wasted, and usability will suffer. Incorporation of Ajax features needs to be driven by usability concernss.

Conserve Resources

Be careful about conserving resources in the server system, the browser system, and the connection between them. Resources such as bandwidth and system load have always been an issue, and Ajax pulls the lever even higher. With the possibility of frequent round trips, consideration must be made as to the transmissions' size and value to the task at hand.

Be Accessible

Ajax applications should consider specialised needs of users with particular disabilities, of different ages, backgrounds, and so on, as well as different browsing devices such as mobile phones. The importance of these factors will depend largely on the particular application being developed.

Respect Privacy

Ajax applications can be intrusive from a privacy perspective as it's possible to send the server frequent updates about the user's behaviour. This information can improve the user experience, and may be valuable to the server-side party, but should be balanced against privacy concerns.

Design Principles

Design principles, more specific than the overall goals, but not patterns as they do not cover concrete design features.

Minimal Traffic

Minimise traffic between browser and server so that the user feels the application is responsive.

Explicitly Ajax

Be clear on the interaction mode being used - regular HTML versus Ajax versus desktop application so that the user can predict what will happen next.

No Distractions

Avoid distractions such as gratuitous animations so that the user can focus on the important things.

Established Conventions

While avoiding confusion, borrow from conventions of HTML and desktop applications so that the user can rapidly learn how to use your application.

Continuous Interaction

Stick with Ajax wherever possible - just say no to entire page downloads so that the user’s experience is consistent.

Relevance to Design Patterns

Some (and eventually all?) of these principles inform the Ajax patterns. The patterns are about trading off among the principles, and also about resolving conflict between the needs of usability and other practical constraints, such as ease-of-development.