Wednesday, June 16, 2004

Web vs. Windows

Joel on Software has a gynormous amount to say about software.

My feelings about Web apps pretty much match his, though I disagree with some of the things he says can't be done well with them. (Look at Flash, sort of a desktop plugin I guess but blurring the line).

I have been working with web sites pretty much since the early '90's, and building web apps for Business Intelligence (great oxymoron) for at least 8 years. It is very tiresome to implement 'workarounds' to fix code that doesn't work in a customer's version 3 IE browser, but at least we aren't dealing with DLL hell here.

Quoting Joel:
Web Applications are easier to deploy because there's no installation involved. Installing a web application means typing a URL in the address bar. Today I installed Google's new email application by typing Alt+D, gmail, Ctrl+Enter. There are far fewer compatibility problems and problems coexisting with other software. Every user of your product is using the same version so you never have to support a mix of old versions. You can use any programming environment you want because you only have to get it up and running on your own server. Your application is automatically available at virtually every reasonable computer on the planet. Your customers' data, too, is automatically available at virtually every reasonable computer on the planet.

But there's a price to pay in the smoothness of the user interface. Here are a few examples of things you can't really do well in a web application:

1. Create a fast drawing program
2. Build a real-time spell checker with wavy red underlines
3. Warn users that they are going to lose their work if they hit the close box of the browser
4. Update a small part of the display based on a change that the user makes without a full roundtrip to the server
5. Create a fast keyboard-driven interface that doesn't require the mouse
6. Let people continue working when they are not connected to the Internet

These are not all big issues. Some of them will be solved very soon by witty Javascript developers. Two new web applications, Gmail and Oddpost, both email apps, do a really decent job of working around or completely solving some of these issues. And users don't seem to care about the little UI glitches and slowness of web interfaces. Almost all the normal people I know are perfectly happy with web-based email, for some reason, no matter how much I try to convince them that the rich client is, uh, richer.

So the Web user interface is about 80% there, and even without new web browsers we can probably get 95% there. This is Good Enough for most people and it's certainly good enough for developers, who have voted to develop almost every significant new application as a web application.

Which means, suddenly, Microsoft's API doesn't matter so much. Web applications don't require Windows.


Well, they will in the next version, from what I'm reading online. Watch out Google.

Speaking of web apps that DO require windows, checkout Dave's Toolbar It actually uses javascript to display an all-powerful search box in your taskbar. I haven't even tapped into the usefulness of that one yet.

And for something totally off topic, the Top 11 80's Cartoon Villains.