Offline web technology: where are the killer applications?
written by craig, 28 July 2008
If you’re reading this, there’s a strong chance that you’re a regular user of online applications for email, mapping, blogs or even documents and spreadsheets. The distinction between web and desktop applications has blurred: it’s certainly possible to buy a web-connected PC and complete all your computing tasks without installing any software (except a decent browser perhaps!)
Several major companies, including Google, Adobe, and Mozilla have been actively developing technologies that allow web applications to work when you’re not connected to the internet. Although they differ in functionality and implementation, in general they allow the developer to:
- leverage their web skills to create an OS-independent application that runs on the desktop,
- run processes locally to improve latency and application response, and
- store data on the PC either permanently or temporarily during periods when there is no internet access.
Great stuff. Or is it? I initially thought so and was excited by the prospect, but I’m not so sure now…
Creating web-based desktop applications
Installing an icon on the user’s desktop is a web marketing manager’s wet dream. The user won’t forget about your service or visit a competitor because they’ll see your icon every time they boot up. The application can also run in it’s own window: navigation icons and the address bar won’t be there, which can significantly help development too. Finally, the apps are easy to install and can log the user on to the manufacturer’s site without them having to remember an ID or password.
One of the first Adobe Air applications was an eBay widget that provided details about your sales and purchases. It didn’t do anything that you couldn’t do on the eBay site, but I can understand why it’s attractive to big businesses.
But how do users benefit? The real beauty of the web is that I don’t need to install anything. I can create a desktop shortcut to a site if I like, but I’m in control of my browser and can do what I choose.
So there’s the possibility of using my web skills to build a desktop application. That’s feasible for simple widgets, but HTML controls are not as rich or usable as those provided by most desktop programming environments (not without a lot of effort, anyway). If I really want to develop a desktop application, then it’s much easier to use VisualStudio or another IDE. I can still use web services and, although cross-platform development is harder, solutions such as Qt make that possible.
Improving latency and response
If the server can offload work to the client, then the processing overhead is distributed. It’s also possible to send data in more efficient batches rather than requesting a full page reload.
However, most good web applications are doing that already. Ajax techniques allow data sent, received, and processed locally without a full page reload. Offline applications don’t make that any easier, unless you consider local data storage…
Local data storage
The killer feature. Offline storage on your local PC can provide several advantages:
- You can store sensitive information which won’t be transmitted over the web.
- You can use a web application even when you’re offline. For example, you could complete an article using Google Docs which is then sync’d the next time you’re connected.
In reality, though, just how useful is this? If I’m storing sensitive data, then why would I use a web-based app? There are plenty of desktop-based alternatives that never pose a risk of connecting to the internet (I can recommend KeePass).
So that leaves us with offline storage. I can see the appeal, but if I’m going to be editing a document in a location with poor net coverage, then I’ll use a word processor. There’s the possibility my connection could go down but that’s rare and, if it happens, I’ll just copy the text from my browser to WordPad.
The big advantage of web applications is that data is stored in the cloud. Offline storage offers a safety net, but how often will that net be necessary? There’s one thing we can be certain of: internet connectivity will improve.
So what will the killer app be?
Here’s where I’m stuggling. Offline web apps sound useful, but the majority are either password managers, online apps with the option of offline storage, or dubious tools that only “advertise” big sites.
Offline web technology appears to be a solution looking for an application. I’m not saying there won’t be a killer app, but it doesn’t exist now and I’m not convinced it ever will.