Wednesday, December 07, 2005

Simply better

Personal computing and network computing each have two major advantages over each other.

For personal computing (Windows) it is:

  • Disconnected operation. Your laptop is still useful when the network is inaccessible.
  • Performance. Local applications don't have to transfer data back and fourth over the network, and therefore can be much more responsive.
The advantages of network computing (the Web) are:
  • Synchronized state. Your data and your applications are centrally managed, and they are up-to-date no matter where your access them from.
  • Ease of deployment. An application on a website is deployed to millions of users who just need to follow a link to access it.
There is no reason why you can't have a system that offers all four. For example Mac OS X with its .Mac and Software Update components simplifies synchronization and deployment in some applications. There are obvious limitations: you can't take a worldwide search engine with you into the offline world, but you can keep a copy of your mailbox in case your webmail is inaccessible.

Maintaining synchronized state is a tricky problem in the programming models popular today, but the right framework can make writing "autosynced" applications easy. In combination with the framework for deployment similar to Java Webstart, a platform can offer the best of both worlds—"either or" trade-offs will become a thing of the past.


Blogger Matt said...

The "scriptability" that OSes such as MacOS, Linux, FreeBSD etc (In fact, the Unices in general) offer is what I believe enables this ability to operate in any state of connection. With Linux, I can write a script that will sync all of my online content - run off with my laptop and then sync it all later when I'm connected again.

Also, any OS shipped without basic network tools like "wget" are obviously not network-ready!

8:51 AM  

Post a Comment

<< Home