Andrei Popescu, Google Gears

Gears insulates applications from the network connection: they don't know whether they're offline or online.

Gears: OSS library with JS APIs. Local storage, expensive background computations (i.e. a basic threading model), allows access to local data using SQL. Google Docs uses Gears.

IE 6/7, Firefox 1/2 (3 soon). 1mb download on Firefox/MacOS.

Mobile is intermittently connected, slow CPU, little RAM, slow stable storage.

Gears web apps read and write to local store, changes queued for later synchronisation. Server communication is completely decoupled from the UI and happens periodically (perhaps a model for other mobile apps?). Interesting, this seems to partition all networked interactions into "storage" (async) and query-based (sync)... which I guess we have to do anyway.

Seems to have a read cache too ("resourcestore").

Then I got too hot and left :)