The Websphere Is Nuts

Gears, Slingshot, Dojo, Dekoh, Apollo (now AIR), and soon Firefox3 are few ways to taking applications off the Web and into the desktop.

Weren’t we, the very same developers getting excited over these technologies, griping just a couple of years ago, that Web applications can never compete with the desktop? Wasn’t resembling the desktop the hallmark of usability? What happened to No Surprises? What happened to Don’t Reinvent The Wheel? You Ain’t Gonna Need It? And all those principles lectured at Applications 101?

Don’t get me wrong. I see the value for these technologies. I’m even guilty of being just as excited as the rest. But I can’t help but feel we’re recreating the ’90s, and we like to believe this time it’s different.

I won’t go back as far as comparing mainframes vs. client/server. But here’s a glimpse of relevant history:

  • 1995: Sun introduces Java. Together with Java Applets, and a slew of proprietary UI controls, we can deploy the ugliest applications, and claim they resemble the desktop.
  • 1996: Macromedia introduces Flash. With its vector-based drawing capabilities, we can now make our own ugly UI controls, and claim they resemble the desktop. Screw applets, they’re too thick.
  • 1998: DHTML creeps into Flash UI market. Netscape looses browser wars. Together with Microsoft, they leave a legacy of broken, incompatible, spaghetti mess of JavaScript.
  • 2000: We say screw it, Java sucks, Flash sucks, DHTML is broken: Let’s stick to standard browser control, limited, but available now. Thick client is dead.
  • 2005: Browsers advance. JavaScript is now useful. Why not bring back the thick client on a diet. The world’s online now.
  • 2007: Now that we have thick clients, and an online world, what can we do to take offline? And since we’re at it, and we love XML, why not have at least 3 languages to describe the interface, all of which do the same thing?

Shriek! What? What kind of progress is that? If I understand correctly, and according the the poor timeline above, this is what we asked for consecutively:

  • We want Web applications to be rich.
  • We want them to be animated.
  • We hate installing “stuff”.
  • We don’t want applications to be rich. Just animated.
  • We want applications to be rich again.
  • We want them offline.

So basically, we want desktop applications running in a browser. The question I ask is: Why?

Gears, and similar approaches, are essentially cookies on steroids. No good can come of it (that’s not entirely true, but then I’d lose the stylistic exaggeration). I believe that offline applications must, by all means, make use of the desktop. Instead of tightly-coupling the Web interface and the data it displays, let your Web-based application be a data source, and wrap it with a desktop application. Let me use my familiar environment to control my data, instead of asking me to install extensions, distinguishing between online and offline states, and eventually, have me use crippled UIs.

Slingshot comes closest to achieving that bridge, except it still wraps HTML which barely resembles the desktop its running on. These design decisions are left to the application developer, so it’s not really Slingshot’s fault.

I think it’s great that we won’t have to worry about an constant internet connection. But Web applications should be careful in how they implement this. When it comes to usability, I’d rather install a complete desktop application that can sync my calendar, if its easier to use than its Web-based counterpart. After all, just because users excuse our downgraded UIs, doesn’t mean we have to.

Comment (1)

  1. Tom wrote:

    Yes!

    Tuesday, June 26, 2007 at 7:48am #