It is a challenge to introduce a new model of UI to the web. People are clearly frustrated by the standard web application experience where interaction has devolved into a series of forms. The RIA model provides an opportunity to solve this problem.

Jonathan Boutelle writes about User Mental Models of Persistence in RIAs. When we have the opportunity to keep some state on the client and let people choose when to save or cancel, what should we do? Should we return to the desktop application model of requiring an explicit save?

I agree that requiring a person to save their work can cause real problems. While this is the standard approach in desktop applications, perhaps its worth re-thinking.

In the user experience of a web application, changes are more lightweight. At almost every click, you expect your changes to be saved. This is usually the case in this environment where every click implies a server round-trip. Perhaps this side effect of a bizarre user interaction model actually introduces a nice model for persistence.

The web presents different kinds of tasks than a desktop application. I’m not writing 100,000 lines of code when I use a web application. You aren’t writing a novel. We’re answering questions, filling in bits of data. There may be a lot of questions, the transaction may have complicated dependencies, and we all may be entering a googleplex of data, but this data is of a fundamentally different form than the most of the documents we create on our desktops.

Web applications are by their nature transient. We are more likely to use them for one minute than for an hour, and I would guess that we use many more different web apps from different vendors than we use desktop applications.

Perhaps a natural approach to a persistence model in this evironment is to simply make it easy as easy to change data that has been submitted as to submit it in the first place. This is possible in an HTML web application and I frequently see well-designed web apps that provide appropriate links and checkboxes to modify submitted data. Using this model of persistence, it is essential to let people easily see their “state” — where they are and what data they have entered so far. It is in this area where many web apps fail and where RIAs offer opportunities to improve the user experience. With a persistent UI on the client, it is easier to provide appropriate cues to the person using the application.

What do you think?