Coding Horror

programming and human factors

Does Offline Mode Still Matter?

It's the classic achilles heel of web applications-- without an internet connection, they're useless. It's why both Firefox and Internet Explorer still have Work Offline under the File menu, hanging there like a vestigial tail.

Firefox, File, Work Offline

But do you know anyone that actually uses work offline? Is there anything more futile than a web browser without a connection to the internet?

By now, more than 50 percent of Americans have broadband internet. Add the ubiquity of WiFi access points, and the increasing availability of high-speed 3G cellular networks, and it's difficult to find any place that you can't be online, if you really want to be.

And people, not just geeks, really want to be online. We've long since reached the critical mass that Metcalfe's Law predicts-- as greater numbers of people gain access to the internet, the more inexorable the draw is on everyone else to get connected. Asking someone if they have an email address these days feels almost as ridiculous as asking them whether they have a telephone. Of course they do. How could they live without one?

Which leads me to wonder: does offline mode still matter in an increasingly online world? I can definitely see value in building an occasionally connected app. The network isn't always reliable. Or fast. But the idea that an application has to be completely functional with no connection to the internet grows more and more absurd with every passing year.

I think Dare Obasanjo put it best:

For a lot of computer users, their computer is an overpriced paperweight if it doesn't have an Internet connection. They can't read the news, can't talk to their friends via IM, can't download music to their iPods, can't people watch on Facebook or MySpace, can't share the pictures they just took with their digital cameras, can't catch up on the goings on at work via email, they can't look up driving directions, can't check the weather report, can't do research for any reports they have to write, and the list goes on.

I already feel like my home computers are nearly useless without a connection to the internet. And internet connectivity is an absolute requirement when I'm on-site with customers; without it, I can't research any problems I might encounter. Lack of internet connectivity is a major impediment today. But in another five or ten years, it'll be paralyzing.

If you think you need a pure offline mode in your application, consider carefully. Do you really want to bet against the internet?

Written by Jeff Atwood

Indoor enthusiast. Co-founder of Stack Exchange and Discourse. Disclaimer: I have no idea what I'm talking about. Find me here: http://twitter.com/codinghorror