Wednesday, May 30, 2007

Browser-based thin-client apps: a part of The Last Computer

When I talk about The Last Computer people often counter with the idea that, with the advancements in Web 2.0 Ajax-y applications, there will soon be no need for a personal computer at all because all applications can be online.

For a decade or more many have claimed that the browser will become the ubiquitous front end to all applications, making the OS and even the computer a mere commodity. Following this claim is usually the prediction that these changes are on the verge of putting Microsoft out of business. (If I had a nickel for every million dollars that has been invested into putting Microsoft out of business through a browser thin client, I'd be a very wealthy man.) In the past the claim has always proven to be incorrect. The browser-based apps were just never good enough to replace desktop applications.

Are Web 2.0 browser-based apps now good enough to replace desktop applications? As a test, for the past couple of months I've switched away from my old Outlook program to GMail for all of my personal correspondence (Google's GMail is an example of one of the top-notch browser-based applications using Ajax and CSS and other magic). It was painful at first, of course, as any program switch is, but overall I've been very impressed. GMail is remarkably quick, interractive, useful, considering that all of the code logic is in the browser I already have and is updated as-needed onto any computer I log on to. From a user-interface perspective, GMail is probably as good as any standalone email desktop email reader of 10 years ago.

Yes, Web 2.0 apps are much richer than they were during the last dozen years when web apps were predicted to replace desktop apps. Much better than when we used to have to push each update from a slow server, and didn't have CSS to make things pretty, and had way too many browsers to support, and had to do the equivalent of today's XMLHttpRequest via communicating with separate 1-pixel-tall frames (if the browser supported frames and ecmascript, which many didn't). But they remain only about as good as the equivalent standalone app of 10 years ago.

Here's the thing: If you were to compare GMail side-by-side with Outlook on the same computer, and didn't know GMail was web-based but instead thought it was a standalone application, you'd think "what a crappy email program, slow, ugly, hard-to-use, and featureless--this looks like a 1.0 product of 10 years ago". But when you find out GMail is browser based, you say "wow, all this in a browser? Cool!"

Bad as it is, is GMail good enough to replace Outlook? Yes. For most situations and users it is, simply for these reasons:

  • It's free.
  • No installation or upgrade required.
  • It's available from any internect-connected browser anywhere.
  • No backup worries
  • Did I mention that it's free.
I'll be sticking with gmail for the foreseeable future for these reasons (and because I'm losing my exchange account as I enter my 3rd retirement soon). I'll get used to it. Google will improve it. It will remain "good enough".

But gmail, and web-based apps, are not great, and will never be as great as desktop applications for these reasons:

  1. Connection Required: They don't work when offline
  2. Slow: Slow with a good connection, and very slow with a bad connection
  3. Sandboxxed: Interaction with my real computer, or any programs not part of the google environment, is inconvenient (attaching files, sharing clipboard, etc...)
  4. HTML==PoorInterface: html+css+canvas + browser differences imposes severe limitation on how good anything can look and how difficult it is to create a rich interface

Reasonable fixes are coming to all of these problems (except probably the html+css problems). These issues will get better. But standalone desktop apps will also get better.

Summary: Web-based apps are good-enough to replace desktop apps in many situations. And we can expect them to improve (although always lagging many years behind desktop apps). But web aps are only part of the solution. For real power applications and users, and processor-intensive applications like games, browser+html+css+ecmascript+canvas+other-standards-layers is not going to cut it.

Browser-based thin-client apps will be a big part of, but not all of, The Last Computer.

No comments: