Friday, August 10, 2007

Desktop-Internet integration

We have seen the evolution of development platforms from batch processing systems through timesharing, personal computers, local area networks and now the Internet. In a recent Dr. Dobb's Journal article, Michael Swaine discusses the return to the desktop.

Swaine outlines four phases of development on the Internet platform:

  1. Static HTML pages
  2. Dynamic behavior exemplified by AJAX and Flash
  3. Application integration -- mashups
  4. Integration of the desktop with network applications
He gives capsule descriptions of development tools that are facilitating network-desktop integration: the dojo Javascript toolkit, Adobe AIR, Google Gears, Microsoft Silverlight, and Joyent Slingshot. With these tools, one can build applications that can store data on either the server or desktop, enabling users to work on-line or off-line.

You can experience this today using Google's RSS Reader. Reader uses a beta version of Gears to transparently store 2,000 items on your desktop for access when you are off-line. The premier version of ThinkFree, built using Slingshot, let's you work with Word, Excel or PowerPoint documents whether they are stored on locally or on the Internet. The beta test is currently closed, but will open shortly.

Is anything wrong with this picture? Since these applications save information locally, a bug or malicious program might cause harm. (As you see here, Gears warns the user). Performance might also be a problem. (Synchronizing for off-line operation with Google Reader takes just over a minute over my slow DSL link even if I made no changes while on-line). But, if your network connection and the speed of your desktop PC were fast enough, you would see equal performance performance regardless of where a file was stored. (That is not the case today for most of us, but what about ten years from now)?