Tuesday, September 06, 2005

The Web OS vs. The Desktop OS

As Microsoft has demonstrated, and IBM before them, owning the platform standard is computing’s equivalent of boxing’s undisputed heavy-weight title. Owning the platform means that you own that critical juncture between developers and users. Users must use your platform to operate their applications and developers must program to your platform in order to access the users.

IBM owned the platform back when the platform was the mainframe. The mainframe, as a platform, had both pros and cons. When the mainframe was king, computers were large, expensive and complex. Maintaining them centrally offloaded the pain and expense from individuals, while sharing the benefits across a large group of users.

As the costs and physical dimensions dropped, computing became personal. The real driver of personal computing was economics. Anyone could afford a PC and so the barrier to entry by users and developers dropped precipitously. This, in turn, led to unprecedented innovation. It also meant that while the mainframe remained an important platform, the desktop operating system merely became a more important platform.

The Internet has resulted in a sea change once again. The Internet lowers barriers to entry yet again for both users and developers. Users can promiscuously try any number of applications on the Internet, often for free. Developers can build and release applications without the typical production, advertising and distribution costs.

Now, the two predominant types of applications are desktop applications and web applications. Both have their pros and cons. I look at some of the pros and cons from a user’s perspective. (Note: There are also pros and cons from a business’ and a developer’s perspectives, but I don’t address those here.)

Desktop Applications
processing occurs on the desktop


Pros:

  1. Disconnected operation: continues to function without Internet connectivity
  2. Responsiveness: responds more quickly, you don’t have the latency caused by loading pages
  3. Rich Functionality: enables things like drag and drop, real-time spell checking, type-down suggestions, cut & paste, etc.

Cons:

  1. Turns every user into a systems admin, managing the operating system, applications, upgrades, conflicts, spam, etc.
  2. Turns every user into a security specialist, managing firewalls, back-ups, etc.
  3. Application functionality evolves more slowly, according to release cycles
  4. Weak in providing interactivity and community benefits (e.g. group editing)
  5. Not integrated with the rich data on the Internet

Internet Applications
processing largely occurs on the server

Pros:

  1. Very powerful interactivity and community benefits
  2. Hyperlinked to rich data throughout the Internet
  3. Rapid application evolution and bug fixing
  4. Managed services offload system admin and, to a lesser degree, security functions.

Cons:

  1. Requires connectivity, doesn’t work when disconnected or mobile
  2. Less responsive, more latency as pages are loaded
  3. Less rich functionality, lacking things like drag and drop

Hybrid or Shared Processing

Recent developments are enabling a blending of processing, or a hybrid processing model. Internet applications are shifting some of the processing to the client, using methods like AJAX. This approach reduces the latency in web applications, because the applications aren’t refreshing whole pages, instead they send small pieces of information that can be processed locally.

An example of this is Gmail’s type-down capability. When you compose an email you start typing the recipient’s email address and Gmail offers you suggestions based upon the letters typed. It does this without refreshing the entire page.

At the same time, Microsoft and Apple are adding more Internet functionality to their operating systems. For example, Vista, the future version of Windows will provide an RSS platform. This will make web-based data available to applications through a common API. Imagine, for example, using Outlook to set-up a meeting with someone out of state. Outlook might automatically offer flight options, weather information, hotel and car information, and more, without requiring you to request that information, but merely selecting from what it finds on the Internet.

In short, operating system companies are embracing the Internet and exposing it through their OS platforms. At the same time, the Internet companies are processing more and more information on the client to provide desktop-like application functionality. This hybrid approach moves the processing dial somewhere into the middle between server and desktop processing.

This is nothing new. We’ve had client-server architectures in the past that shared processing between, well the client and the server. We’ve seen applications like Half-life’s Counter-Strike. Counter-Strike relies on server-based data management and local processing to create multi-user virtual worlds with incredible responsiveness.

The press and Silicon Valley act like Don King promoting the next heavyweight battle with a fresh contender going up against Microsoft for control of the platform. Which of course, means battling for the hearts and minds of users and developers. We’ve seen failed efforts before, is the webOS destined for success?

There are several unanswered questions that will ultimately handicap this battle.

  1. Generally speaking, where is the right balance of processing between the server and desktop?
  2. Is connectivity sufficient to support a webOS model?
  3. Will a standard local suite like MS Office suffice for most disconnected requirements?
  4. Can web development leverage its speed and cost advantages to own the hybrid computing “platform” or will Microsoft leverage its installed base (developers and users) and resources to overwhelm the web upstarts?
  5. Can a generalized engine, possibly the Java VM, browser, etc. satisfy the local processing needs of all web applications?


Let’s hope this isn’t yet another quick knockout in the early rounds. This sort of battle can be hell for developers (think OS/2 versus Windows), but it is great for consumers.