John Chamberlain
Developer Diary
 Developer Diary · You Heard It Here First · 28 November 2003
Whatever Happened to the Webapps?
Whatever happened to the web apps? Something has cooled off the enthusiasm. Or maybe I should say the "irrational exuberance" for the webified application. When venture capitalists hear the words "application server" today their eyes glaze over. This may be a very good thing. Lots of money was lost developing web applications that made little sense. The webapps tsunami passed over us and we all still use the same tired old standalone applications as before. Many people appreciate that the golden age of the web app is gone, but don't really understand why. Is it an answerable question?

My own observation has been that many web applications did not make much sense. For example, many groups built online accounting systems. This seems silly to me because most people using accounting systems do not need transient access to it. Your typical CPA does not have an Sunday afternoon ephiphany, rush to the nearest library and eagerly log on to the company accounting system with a browser. In fact if it were my company I would be concerned about having an accounting system that someone could access with a browser at all. The whole scenario is implausible. Even applications that make sense like email viewers have limited use as web apps. Most people view their mail from home or work and use a fixed client like Eudora, Outlook, Mozilla, Pegasus, emacs, elm or whatever. The highly occasional need where you do not have your regular tool with you is just that--highly occasional. So even though there is a use for a webified email client, people will not be eager to pay much for it.

It is fun to debate the usefulness of web apps, but the real reason they fail has nothing to with their basic utility. Regardless of need the crazy aunt in the attic is the difficulty of creating web apps, and the slow speed and crudeness of the GUI. Even if you have the best need in the world the reality is that it will cost five times as much to write a web app, twice as much to maintain it, and the interface will eat dirt compared to a platform client. I think it's funny that developers quibble over microscopic GUI details like whether Eclipse is more responsive than Swing, and then turn around and write a web app that is so much worse than either it's in the pleistocene.

This is really the overlooked key to the failure of the web app craze so let's itemize all the ways web apps rot compared to a standalone client:

- layout is much harder to do and less precise
- components cannot easily query their size and resize appropriately
- trees are not supported by HTML
- editable grids are not supported by HTML
- HTML lists are crude compared to native lists
- HTML text has unpredictable sizes and font metrics cannot be queried
- event trapping is limited
- you cannot ascertain the x,y position of a control or the mouse
- you cannot place an object at an arbitrary x,y position in standard HTML
- changing to a different view is lagged because there is a network hit
- there are no nested controls or container controls

This is just a taste of the limitations. Now factor in that you have to integrate code from up to four different languages (HTML/DHTML/Javascript/CSS) and that virtually all operations are harder, more buggy and behave differently across browsers and you start to get a sense for why web apps don't hunt. Nevertheless some groups have made valiant efforts to reduplicate standalone GUIs in a browser. They receive kudos, but the truth is that they are a tiny exception to the great mass of efforts which lie in ashes.

The bright side is that we can all get back to working on good old standalone clients where everything works great and is easy to do. Happy coding.

Developer Diary · · bio · Revised 28 November 2003 · Pure Content