Everything on the web seems to be about AJAX and software as a service (SAAS) these days – but is it just another fad, or will it change the way we work? I think the latter, and I will explain why.br /br /In 1996 Alan Cooper wrote “a href=”http://www.chi-sa.org.za/articles/posture.htm”your programs posture/a”, where he split the programs we use in our daily lives in four distinct categories – Sovereign, transient, daemonic and parasitic. Sovereign programs are the ones we work with for hours on end – Word, Outlook, and Photoshop. They are our main working horses. Transient programs are helper programs that are used for a specific task and then quickly closed again. Calculators and Apple’s finder are examples of this. Daemonic programs don’t usually require any interaction, but will work quietly behind the scenes. Printer drivers for example. Parasitic programs are small programs that give quiet feedback, such as the clock, or the task manager.br /br /He lays out the design principles for each of these in his essay. Here’s an overview of sovereign and transient applications:br /span style=”font-weight: bold;”Sovereign applicationsbr //spanulliUsers are experienced. Since users by definition use the program for extended periods of time they will quickly become experienced users. Certainly everyone will start out as a novice, but only for a relatively brief period of time in relation to the amount of time they will eventually spend in the program.br //liliSpeed and power. Experienced users know their way around, and need powerful ways of interacting with the program. Keyboard shortcuts, complex controls, and toolbars that may seem daunting at first sight.br //liliMuted graphical appearance. Since the user will be staring at the application for hours each day the visual presentation of the program should be muted and subtle. No normal user can stand looking at a bright colored application all day.br //liliRich output environment. The program should give the user little hints about its state in the form of small icons or other graphical representations. These might not be noticed at first, but as the user gains experience he will experimentally interact with them and start using the program more productively.br //liliRich input environment. The input should be controllable in several ways.br //li/ulspan style=”font-weight: bold;”Transient applications/spanbr /ulliUsers are inexperienced. The program is only used once in a while and users will forget how to use it.br //liliSimple controls. The program should be simple to use since it is not used often. Buttons should be marked “print this document now” instead of “print”.br //liliSelf-explanatory. The program should explain itself – a novice should be able to carry out a task in the program without instructions. /liliLarge buttons and bright colorschemes. Since the user needs to re-learn the application every time and doesn’t spend a lot of time with it cheery colors and large buttons are preferable.br //li/ulbr /A webbrowser is a special case: The browser itself is a sovereign program – we use it as our main tool for hours on end, but the webpages we look at are mostly transient applications – we go to a specific webpage for the weather, news, gossip, or other information and then leave.br /br /But users can do pretty much everything in a browser that they can do in sovereign programs (maybe with the exception of Graphical designers, 3d artists and a few others) – with the added benefit of being able to better share their work, never have to worry about backups, and being able to work off any computer. So why don’t they?br /br /The answer lies in the way we interact with our sovereign programs. When I visit a webpage there is normally a small lag whenever I press a button or a link because a round-trip to the server is needed, and the whole page is redrawn. When I go to weather.com to see tomorrows weather I don’t mind because it is a transient task, and I don’t have to do it for hours on end. But when I work in a sovereign application this is unacceptable and would drive me nuts in a few days. How would you feel if there was a half second lag in photoshop every time you pressed a button?br /If a program that I use for five hours a day has a lag of half a second, or even 1/10 of a second, every time I press a control I will get extremely frustrated. I expect Word to react instantly to my commands. Until a few years ago there was no way around this, and so webdesigners all over the world accepted their fate and designed their websites to be used as transient programs.br /br /But the world has changed, and the technology is now much more advanced than it was just a few years ago. Using ajax technologies it is now relatively trivial to create websites that react just as fast as programs on your computer – the primary barrier for moving applications to the web has fallen. With ajax it is possible to create sovereign applications in a browser that have no discernible disadvantages over installed programs. They even have the added benefits of portability and easy sharing between many users.br /br /But a lot of websites that are building the sovereign applications of the future on the net are making the mistake of treating them as transient applications. Instead of building sites with rich outputs, expert user interfaces and muted graphical experiences, they are stuck in the tradition of making transient applications that are self-explanatory with simple controls and large buttons.br /br /If you are making an application that works in a browser you have the possibility of making a sovereign application instead of a transient one – but you have to design for it.
January 31, 2007 by max
Category Uncategorized | Tags: