An annoying misfeature of AJAX web applications

; Date: Mon Apr 09 2007

Tags: Java

AJAX (asynchronous javascript and XML) is the new darling of the Internet, despite it having been a valid concept going back to the DHTML concept over 10 years ago. In the "web 2.0" meme we have this thought that all our data can live online and we access it through web browsers, and that AJAX in the browser is good enough to provide desktop quality applications so that we don't have to be tempted to use traditional applications because the web2.0 web sites are good enough. I saw a blog entry last week which talked along exactly those lines, that with services like Google Docs, Think Free, or Flickr, or (, etc.. that there is a growing number of services where one can store their data (their pictures, their music, their financial records, their writing, their e-mail, etc) out on web servers on the Internet, and that you don't have to worry about your own machine crashing on you, because your data is out on some server which has a staff of professionals handling backup and reliability etc.

( Is the 'Web OS' just a geek's dream? talks about this dream (or is it a nightmare?). As they say: "A decade-old concept of moving a desktop computer's everyday tasks onto the Web is gaining steam. The idea of treating the Web like an operating system--and loosening dependence on Windows desktop applications--dates back to the Netscape browser's debut in the mid-1990s. "

But how would you feel if thie ( Oops! Yahoo Japan erases 4.5 million e-mails happened to you? Yahoo is certainly one of the primo examples of professional sysadmins running a web service. Does it make sense to trust your email to a service that's going to go 'oops, we lost your email'? Does the user agreement for these online mail services or any other online service make the service liable for losing your files? But this isn't what I wanted to write about.

Earlier today I was writing an interesting blog post on ( my other blog but if you go over there you'll find there's no new postings on that blog since last October. What happened is, after spending 30 minutes writing and editing and crafting a moderately sized posting, I went to click SAVE .. and was greeted by a login screen. Seems that during the time I wrote the posting the system automatically logged me out, and when I clicked SAVE it lost track of the stuff I'd written.

The problem? Why did that posting get lost? The new model of editing web content is the content management system, where you browse a web site, sufficiently priviledged users have "EDIT" buttons all over the place, you want to change something you click EDIT and edit away, or to make a new posting you click something like "Create Blog" and edit away. In both cases you often have the grungiest of editors possible, a TextArea, or maybe your CMS has one of the DHTML-style editors implemented with javascript like fckeditor.

By the dream proposed by these "the web is your OS" idealogists, this is the way it should be. Everything should be accessed or edited through a web browser. But I'm here to say that the usage model for web browsers doesn't fit very well.

Why did that posting get lost? If I'd been editing the posting using a standalone application there would be no session to save, no autologout that causes my writing to disappear in a puff of greasy black smoke. Sure there are several ways standalone applications can crash and make stuff disappear so maybe it isn't any better than similar application usage in a web browser.

I'm wondering what will be lost in the rush to move our data online. I, myself, am very reluctant to follow the trend. I find it hard to trust these service companies to not peak at my data ... what if they got a supoeana? There's been past instances of these companies turning over personal email without notifying anybody. And what if those service companies die? Or their servers crash in a drastic way? Or their sysadmin's make a mistake and blow away your email?

But there's also this issue of application usability. Why did that posting get lost? I say it's because of bad application usability. And why am I editing this in a horrid textarea? It's because of bad application usability. Why don't I have a toolbar full of formatting buttons? It's because of bad application usability.

Another symptom of bad application usability are keyboard shortcuts and mousewheel scrolling behavior. For example I've evaluated several of the javascript WYSI(almost)WYG editors for use in the CMS I use on my personal sites. They do a decent job especially considering the hoops they have to jump to make cross-browser javascript function decently right. But, on my Mac if I hit the copy/paste keystrokes (command-C and command-V) a dialog window pops up telling me that copy/paste only works on Windows, and since I'm a Mac user I'm a loser. Well, it didn't say that last phrase, I just threw that in because that's how it makes me feel.

In the javascript-WYSIAWYG apps the mousewheel tends to work right, but when you get to a FLASH oriented site you can kiss that mousewheel goodbye. I've never come across a FLASH site that knows the slightest thing about mousewheels. Having avidly used a mousewheel mouse for several years now it's a big pain to try and go back to the old style click-only mice, and it's a real pain when an application doesn't respond to flips of the wheel.

It's rather seductive, these javascript based apps. They offer the possibility of cross-platform application features. They offer the possibility of just logging into a web site and poof all your stuff is there. But I think they have a long way to go before they can truly replace traditional desktop applications.

Source: (

About the Author(s)

David Herron : David Herron is a writer and software engineer focusing on the wise use of technology. He is especially interested in clean energy technologies like solar power, wind power, and electric cars. David worked for nearly 30 years in Silicon Valley on software ranging from electronic mail systems, to video streaming, to the Java programming language, and has published several books on Node.js programming and electric vehicles.