Technology that allows web applications to work without an internet connection sounds like a great idea. In general, it allows developers to:
- run processes on the PC to improve latency and response, and
- create applications that work offline and store data locally.
The technologies blur the boundaries of the web and the desktop. It’s a concept that excited everyone in the industry a couple of years ago and has now been adopted in HTML5. See my previous post: How To Create an Offline Web Application.
So why are there just a handful of mediocre web applications which use offline functionality?
Google has added it to GMail, and I suspect Chrome OS was a major reason for doing so. But it’s hardly a groundbreaking concept — offline email has been available for decades. Other offerings tend to be a random collection of password managers and speed boost widgets for systems such as WordPress.
Here are 5 reasons why offline applications have not gone mainstream:
1. Poor browser implementation
Although HTML5 is gradually appearing, offline functionality is immature and implementations differ. Until the technology is commonly available, developers must rely on browser plugins. Google Gears is the most well-known, but it’s not available on all platforms and development has ceased.
2. Additional development effort and complexity
Creating a web application which works online and offline is not easy. In some cases, an application could require two separate versions to handle the differences. That effort may not be worthwhile if the majority of users stay connected.
The processing overhead is distributed if the server can offload work to the client. It’s also possible to send data in more efficient batches rather that full page loads. However, many good web applications are already doing that with Ajax. Response times can be fast without using offline-enabled code.
Storing data locally should prevent many security issues and this is why it’s been used by several password managers. However, if you’re really concerned about security, why not use a desktop application which never connects to the web?
5. Few user benefits
I can understand the appeal of offline storage, but how many users do a significant amount of web-based work at a location with poor net connectivity? If they do, then it’s a simple matter of using an email client or a word processor rather than an online application.
The big advantage of web applications is that data is stored in the cloud. Offline storage may provide a safety net, but how often will that be necessary? If there’s one thing that we can be certain about — internet connectivity will improve.
Perhaps it’s too early but, for me, offline functionality feels like a technology waiting for an application. However, I have thought of one killer idea … come back tomorrow to find out more.
A Comparison of Ruby Version Managers for macOS
By Daniel Kehoe,
If you're a serious Ruby developer, you'll need an up-to-date version, possibly several. We cover the best Ruby version managers for macOS.
A Guide to Git Interactive Rebase, with Practical Examples
By Tobias Günther,
Even if you're a Git pro, there might be more Git tricks to discover. Learn about interactive rebase, one of Git's most powerful tools.
Introduction to Data Types: Static, Dynamic, Strong & Weak
By Tim Hurd,
Static, dynamic, strong, weak data types? Are you confused? Learn what these terms really mean, and which is best for you.
Craig is a freelance UK web consultant who built his first page for IE2.0 in 1995. Since that time he's been advocating standards, accessibility, and best-practice HTML5 techniques. He's created enterprise specifications, websites and online applications for companies and organisations including the UK Parliament, the European Parliament, the Department of Energy & Climate Change, Microsoft, and more. He's written more than 1,000 articles for SitePoint and you can find him @craigbuckler.