It appears that all the leading software companies are trying to bring web 2.0 technology to your desktop. Google recently announced Google Gears which provides Javascript centric APIs for web-site developers to store and retrieve online content locally; content is stored in SQLite database, which is installed on the desktop by Google Gears. Likewise, Adobe recently announced AIR (Adobe Integrated Runtime) beta allowing developers to create Rich Internet Application (RIA) for the desktop. AIR was previously called by code-name Apollo. Adobe provides a rich AIR SDK that not only gets all the desktop-centric processing done, but also has easy hooks to tap on the web technology.
One thing good about these tools is that they provide a Rapid Application Development environment to create powerful applications with access to both the local file-system and the internet, something that was not possible earlier, except for ActiveX and the likes. Although I've not explored the SDK in great details, looks like the desktop-functionality is close to that of VB.
One question that comes to mind is - are we running in circles here? Earlier the talk was to take everything to web, contrast that to bringing them back to desktop now. Google made so many acquisitions in last one or two years to make office applications like word processing, email, spreadsheet, photo-album, calendar and presentation delivered through web. None of these required any software to be installed locally, but for a web browser. Now it seems that we are coming back to the good-old desktop. We are talking about installing a runtime or a framework on the desktop, which will be the new launching pad for web applications. Well, things are a bit different here this time though, these applications are meant to be developed once and run anywhere, which was the old Java mantra. It is claimed that application developed for Windows can run on Mac, Linux, and yes on the mobile phone too.
However, coming from a storage background, I still wonder how we would go about syncing our data across so many platforms. There’s still a need to store data at a centralized location so we can carry it anywhere and work with it, perhaps we need a mechanism to replicate data. Replication seems alright, but given that content is growing at a very fast pace, it may not be a viable to replicate TBs of data; may be we would need a better technology to intelligently classify data and manage them efficiently. I guess we will know the answer in times to come.