Recently there seems to have been a rash of 'desktop client' solutions for popular webapps.
There's Twhirl and Twitteriffic for Twitter, Alert Thingy for friendfeed and a whole slew of others. A lot of this development has been stirred up by the launch of Adobe Air (a platform that lets developers port flash-style apps from the web to their very own desktop clients).
So far, I've resisted downloading and using any of these desktop hybrids. I like my webapps in a browser and I already have an offline client for Twitter - my phone. That said, judging by the sheer volume of 'via Alert Thingy' signatures on friendfeed these days the desktop apps do seem to have been quite popular.
What do you get from a desktop version of your favorite app? As far as I can see there are 3 big advantages:
1. A flashy, reactive interface
2. A neat, standalone instance of the app
2. Offline access to your data with syncing of your offline actions
3. Notifications that unobtrusively (sometimes) alert you of other activity on the app
Well, here's my take. I don't see why Firefox (or any other browser for that matter) can't do all of this, with no need for additional downloads. Let's take things one at a time:
1. As is evidenced by the web apps themselves, the combination of CSS, DOM and Javascript make for incredibly responsive, highly styled interfaces. If Google can use these tools to turn my lowly browser into a spreadsheet, then I am pretty confident we can do anything.
2. On my mac I have a little app called Fluid. It creates standalone, single window instances of Safari that open a specific URL (gmail or Google Reader for instance). Those apps are walled off from your other browser windows so a pesky crash caused by some random Facebook app doesn't hurt your unfinished draft in gmail. One addition I'd make here is an API in the browser that lets the app take greater control over the appearance of the window (e.g remove all of the chrome or color it black etc) that is controllable from Javascript.
3. Google Gears - improve the stability and speed and then package it with the browser. Package it with all browsers (or something else similar that uses the same API)
4. Here's where we need something genuinely new. But it's not rocket science. Browsers should have a little API that let's web apps create notifications from the OS (in the same way and IM client does). Just like Gears the web app should have to get explicit permission from the user to access this API (to avoid the obvious abuse you'd get from advertisers).
My point is, we already have almost everything we need for the browser to be the desktop client for all of our web apps and with a little effort there would be limited additional effort required by an app developer to create an app that just doesn't care about the connection state of your PC.
The key of course (as I'm learning with my efforts to build an app myself) is to get this stuff standardised across browsers. The APIs need to work the same in Firefox, IE and Safari. But if we can get that right, I'm not sure all this hype about Adobe Air is justified...