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.


This is a companion discussion topic for the original blog entry at: http://www.codinghorror.com/blog/2007/02/does-offline-mode-still-matter.html

I actually need an offline mode for my RSS reader (Newsfire) pretty often. How my workday goes is like this: In the morning, I wake up my Mac and let my news reader download all the RSS feeds for the day. I then pack up the notebook and read it on the train to work.

This is a prime example of where a pure offline mode in the application would come in handy. For many RSS feeds, the images in the feeds are not downloaded until I click on the feed - with an Internet connection. Without an Internet connection, all the images are not cached and all I get are posts with lots of text, with no images.

So I wouldn’t say that having a pure offline mode in an application is exactly like betting against the Internet as you say. Its more like working WITH the Internet, even when the user has packed up the computer to use it elsewhere.

Caching to avoid going down the memory heirarchy still makes sense. A user controlled “offline mode” probably never made sense…

The most-used program that runs under Windows never needed an internet connection, and probably never will: Solitaire.

In the 11 years that I’ve been using web browsers, I’ve never once used the “Work offline” mode. Don’t even know what it’s supposed to do. Isn’t the whole point of a web browser to browse online content from the web?

So what does offline mode do? Does it turn the browser into nothing more than an HTML renderer capable of rendering whatever is in its cache or otherwise on the local file system?

That’s a question I struggle with myself as someone that does both stand-alone and web-based development.

I work with a lot of hospitals and large corporations that make it a matter of policy to forbid internet connections in certain areas, meaning my apps have to work in a pure desktop stand-alone environment. Given the frequency of security leaks this is something I actually see increasing rather than decreasing. I get more and more requests to make sure applications can work without the internet.

Even though saying over 50% of households have a broadband connection sounds like a lot it’s still not nearly enough to be at the point we can start assuming an internet connection is available. My own mother still uses dial-up and honestly she really has no need for more, she just uses the internet to check e-mail and uses the computer to track and print invoices, offline.

The digital divide is still out there and until we cross the 80 to 90 percent saturation point I think we still need to code for those on slow or no connections. I agree with Joe Goh, you have to work with the Internet in getting the content to your machine and then still being able to do something with it when you’ve unplugged it and are on the go.

I also wonder what happens when you think more global? I imagine more than just American’s use Firefox and hopefully more than just American’s use your software products in other parts of the world, as this is a global economy after all and what better product to take advantage of it than software?

I’m betting on the Internet but until I can get a strong wireless signal on my UMPC while wandering around Galway, Ireland so I can jot down notes, or hit an online currency exchange program so I can make sense of what I’m paying for on the Charles Bridge in Prague or hell, even be assured I’ll have a strong enough wireless signal in South Dakota when I go visit my grandmother I’m going to hedge my bets with a bit more memory, harddisk space and applications that allow me to work offline.

Actually, I used the offline mode of my browser in two particular cases : I accessed a webpage some time ago and try to get back on it and the website does not respond OR my internet connection is down. With offline mode, I still can browse the pages I visited. But that’s not a pure offline mode.
I can still imagine some cases (that I never saw) which would give the “offline” mode of a browser a true meaning tho.

Maybe a browser’s off-line mode might be pushing it, but for all your grand talk about the ubiquity of internet connections (which I really wish was true), the fact remains that I have long patches of my day without internet connectivity.

  1. Various rooms on campus have varying amounts of internet connectivity; so I easily spend a few hours here and there without connectivity.

  2. When I was abroad in India, I almost never had connectivity except where I worked and at home, and often one or the other would suffer outages.

  3. When traveling, airplanes and airports haven’t quite gotten that concept of “free internet” down right (and I usually can’t justify the expense unless there’s something critical I need to do, and checking email doesn’t qualify most of the time), and definitely not on the train.

Fine, browsers, IM clients don’t need it. But I use it all the time on my feed reader, my email client; and that is also why I’m none-too-keen to switch over to web-streamed apps.

Offline mode in the browser never really made sense. Even in the days when I used dial-up and would sometimes use offline mode to allow me to read files without the “pay-per-minute” clock ticking - it still was a really bad experience and definately something that the more normal people in my household could get their head around.

That said, two examples where offline is / would be really handy:-

  • Outlook (from on the plane, on a bus etc - though being online would be better if it was possible)

  • Team Foundation Server (again, on a plane, bus etc - but also for a remote office in the case where the link to base happens to go down for a hour or so)

M.

There’s nothing worse than seeing people down tools when the network drops out. Working offline modes (and why does it need to be a mode, anyway? Couldn’t some level of transparency be achieved?) mean that people can continue working despite issues connecting to the network. Composing and classifying my email should not require network access… Composing any sort of document should not require the network… Developers can switch to local web servers if required (although you run into problems should you not have a local checkout). Most activities that require net access are those related to procrastination.

World is not US.
Software developers do not only watch at US market.
The day the connectivity won’t be problem is still far from now.

I’m with Joe Goh, above, on this - for things like NetNewsWire I normally let the laptop grab everything of interest in the morning and then spend an hour or so on the train catching up on the world via ‘pre-downloaded’ rss.

It’s another reason why it’s important to try and include full articles in the rss feed rather than just a headline or two - nothing more annoying than reading an interesting headline but being unable to chase it up and read further until you regain connectivity again - particularly here in the UK, where public wireless access isn’t exactly ubiquitous (yet).

I’m not so convinced that an offline mode matters in a browser, though.

We’re certainly getting closer to universal net access, but it’s not there yet. Airline travel is probably the biggest limitation for businesspeople in industrialized nations. And other parts of the world are still lacking completely.

However, I agree that an offline mode is mostly useless. All applications need to be written to tolerate different network conditions, from no link at all to a poor link to a great broadband connection. It should never be required, unless the whole purpose of the application revolves around the network. In the case of a web browser, it does seem a little silly – offline mode is really more of a cache browser, so why not call it that? For a word processor or other office application, there’s plenty of functionality that’s not network-related, so why inhibit it if the network isn’t there?

The most obvious example has already been given: being in transport. When you’re in a plain, train or bus, you probably won’t have a connection at all, or a terribly overpriced one.

The other problem are networks witch are over-secure, and don’t allow you to do anything. Often corporate networks and other institutions, like schools, only keep the most needed ports open, like port 80. Especially developers use more rare ports, like port 21 for SSL. In those cases offline functions can help you.

Izzy: “The most-used program that runs under Windows never needed an internet connection, and probably never will: Solitaire.”

What about for multiplayer? ducks

Offline mode is important in certain situations. Sometimes, it doesn’t make sense, say, for an instant messenger. Even then, it might be useful to at least see archived messages offline.

I work with the military and very often wifi is forbidden, and I’m not allowed to connect to the building LAN. In these situations I’m typically using software which ONLY has an “offline mode” - like an editor, compiler, etc.

The problem to watch for is building in an expectation that the net is ‘always on’ when there isn’t a good case for it. For example, it might be nice to use internet connectivity for some cool feature in an editor, or to build in access to a compiler farm into a compiler. But if that feature isn’t optional, I can’t use the application at all unless I’m connected.

I see this problem within certain national militaries, that believe they can re-package and re-use internet techniques for use in a ‘private, military version’ of the internet. But that net will never be considered to be ‘always on’. This doesn’t affect only specialized military software, but daily use stuff like OpenOffice, etc.

OK, I’m also cheap :wink: I won’t pay $9.95/day for 45 minutes of use when I’m in the airport lounge, or $34.95/month when I’m actually around a hotspot of that provider for, say, 10 hours/month. I think $1/hour is more inline.

My point is, internet UBIQUITY is only true today for certain demographics. Match your offering to those demographics, and don’t kid yourself.

will it’s still good feature fro us here at the 3rd world country’s
:smiley:

There’s lots of good points for when the user is offline, but one that hasn’t been discussed is when the site is offline.

Having worked in organisations when critical information is stored on the web (e.g. a callout rota) having that info cached on my laptop was essential, and when the site is down, you have to dig it out of the browsers cache. With Work Offline, browsers let you do this without having to go digging behind the scenes into their own caches.

Also users might not want to be connected, I have recently moved away from a mobile provider that charged 3+Vat per Mb. Yes thats $5.82660 USD per Mb or put it another way (since the xe.com page and graphics is 67Kb from http://www.websiteoptimization.com/services/analyze/), then thats 50c just to calculate the exchange rate.

This is one area that Windows falls down on. The user has no control what apps talk to the net and when. So if I am connected via my expensive connection, how can I stop my RSS reader updating all it’s cache. How do I avoid WindowsUpdate detecting new updates and my Virus signatures being updated. Why can’t I define which apps get to talk to the network on a per connection basis? Or at least, why don’t all apps have a Work Offline mode?

BTW I have moved mobile phone supplier now. :wink:

or maybe sometimes you just need to be offline…

[ http://www.37signals.com/svn/posts/80-get-off ]

I use a Palm PDA, and its web browser has an offline mode that I do use. When I have connectivity, I download pages to save for reading later on. For example, I might download a whole section of the NY Times to read when I’m on a plane.

Still, I’ve never used the offline mode in a computer browser.