This is an archive site. For the recent posts, visit

Ordered List


Jan 10 2008

The Web/Desktop Divide

I love the idea of being able to get to my data from anywhere. The web does this well. I love responsive, powerfully advanced interfaces. Desktop does this well. There’s got to be some way to balance this.

I use web applications. I design web applications. I even architect, program, and support web applications. Building your application on the web creates an open platform, ease of upgrade rollouts, and easy access from anywhere, amongst other things. But as we begin to create more and more complicated applications, I have to believe there’s a better way to use them then a web browser.

For Example

I’ve designed and implemented a few webmail interfaces. I can’t bring myself to use any webmail client, even my own. They just don’t work like they should. Things as simple as dragging a list of 25 messages into a folder are a staple of desktop software, and it brings webmail systems to their knees. Why can’t we program this most basic of interactions on the web easily, and with excellent performance? Here’s your answer: the web browser.

Possible Issues

When it comes down to it, today’s modern web browsers are trying to be, amongst many other things, an operating system. Your computers operating system, be it OS X, Windows, Linux, or whatever, is an application. It’s an application that runs other applications. With web applications running in a browser, now we’re running an application inside an application, inside another application.

While this in itself might be an issue, I believe the real problem comes from the basic understanding that web browsers simply aren’t designed to handle this advanced desktop-like behavior. For behavior in a browser, we have JavaScript. I find JavaScript is simply insufficient for application-like advanced behavior. Perhaps it will catch up in the future, or maybe I’m just not good enough at writing efficient JavaScript, but in my mind, there’s got to be something better.


I’m going to propose just a few ideas here, none of which I’m sure will work, nor am I smart enough to implement them. But at the risk of complaining without suggesting, I’m going to throw them out there.

Wrapping Up

This may be more of a rant than I wanted it to be, but it’s something that keeps bugging me. For now I’ll keep writing, designing, and architecting web applications because I believe in their benefit. I’ll keep using desktop software for many things because it provides a more functional interface. But that doesn’t mean I can’t dream of the day I can have both in the same application.