Google releases open source toolkit for offline web apps.

Google joins the group of companies trying solve the offline web application problem with Google Gears. Released as an developer oriented open source technology, under a BSD license, as a new browser extension. It provides 3 significant components to the browser ecosystem. A multithreaded javascript environment, which provides a restricted background taks JavaScript environment for accessing remote data source without blocking the main UI. Adding support for local data storage is a new set of javascript APIs. The storage support transactional data based on SQLite. The last part is local application caching wich hosts data locally and pulls down updated data . So the other The plugin and SDK is released under a BSD license. The first Google app released as a Gears enabled example is Google Reader with offline capabilities. The Google Web Toolkit will add support for Gears to facilitate the easy of adding offline support to Google Web Toolkits.

These components are available in Internet Explorer, Firefox, Safari and Opera on Windows, Mac and Linux. In an effort to provide this as an industry standard, Google is co-operating with Adobe. The promise is that the Gears API will be available in Adobes new Apollo platform. Opera is interested bringing the technology to the handheld.

This adds to the trend started by the Dojo Offline Toolkit to support offline apps by a small browser add-on reported on by Brady a month ago. Hopefully the Dojo API and the Gear API will converge to avoid developer frustration, and increase the total developer ecosystem.

I find this development very interesting. The demand for offline rich applications is still strong, but you want to combine it with access to the grid environment that the Internet provides. On a recent trip to New Zealand I discovered the pain of 300-500 ms lag for the web apps I use. Ability to do more stuff locally would have been a much beneficial ability.

David Heinemeier Hansson blogged a while ago in You’re not on a plane that apps only need to live online and that the offline idea that you only need on an airplane is irrelevant. I disagree with his idea that the net is ubiquitous. Perhaps in a distant future the net will be available everywhere, all the time. Even when that happens, we still have the problem of speed-of-light latency, like the 200 ms the roundtrip to New Zealand from Europe. In the meantime we need to be able to provide ability to use the combination of hosted platforms and local apps.

The one missing part of the Google announcement is how we actually sync multiple different local sources to remote data sources. They have chosen not to tackle this area due to the highly application specific domain. Is this perhaps a new field for the disconnected distributed version control technologies?

tags: , ,