I <3 Steve McConnell*
Coding Horror
programming and human factors
by Jeff Atwood

February 12, 2007

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?

Posted by Jeff Atwood    View blog reactions

 

« Remotely Waking Up Your PC Code Smaller »

 

Comments

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.

Joe Goh on February 12, 2007 11:04 PM

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

Philip on February 12, 2007 11:25 PM

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

Izzy on February 12, 2007 11:44 PM

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?

Steven on February 12, 2007 11:52 PM

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.

Shawn Oster on February 12, 2007 11:55 PM

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.

Bishop on February 12, 2007 11:56 PM

Oh, and I would add that an application, whatever it is, that can work in offline mode should always propose an option to do so. Even if you design you application with an idea in mind, some people will always use it in a way you didn't thought about.
(That's funny, I was thinking that I have a lot of exemple about that, but can't figure just one. I will try to find one when cafeine will have do its work)

Bishop on February 13, 2007 12:01 AM

I'm not sure what I'd do with a browser in offline mode, but it is still useful for e-mail (write your replies, they stay in the outbox until you are connected) & feed readers & calendars, especially for commuters.

Also, there are countries that are not America.

Chris L on February 13, 2007 12:12 AM

Well, if you have lots of cache the offline mode is great :) The times i needed to 'look up something on the web' without having an internet connection are numerous.

Meh on February 13, 2007 12:19 AM

Offline mode is still useful for mobile users in areas without broadband saturation. The University I work at is still testing it's VPN facilities; if a laptop user wants to work on their files remotely, it must be done in offline mode. The same is true for businesses that are far away from cities, such as industrial processing facilities or chemical plants. Fast internet just isn't an option in middle Alabama. If you have your "My Documents" folder on a network share at your office while on site, you're pretty screwed without an offline mode.

This is more of an OS then application level, but it's important. With a tendancy towards centralization and ubiquitus internet access, it's easy to forget about areas that only allow 5kbps connections. Downloading a 40mb training presentation over a VPN just isn't an option on sub-dialup speeds. Offline files let work continue without internet.

Speaking strictly in relation to the browser, however... yeah, it's pretty useless.

David Sokol on February 13, 2007 12:21 AM

Hmm, and what about this:
http://www.readwriteweb.com/archives/firefox_3_offline_apps.php
"Firefox 3 To Support Offline Apps"

Rob on February 13, 2007 12:47 AM

People who spend a lot of time on jet flights still need offline tools.
I kinda hate using serious apps inside of the web browser too. Seeing an application inside of a browser makes me think it's fragile and can crap out and lose my data any minute. It will be interesting to see what Apollo does ....

Hanford on February 13, 2007 12:48 AM

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.

Martin Woodward on February 13, 2007 02:05 AM

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.

Vittorio on February 13, 2007 02:59 AM

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.

Rob Uttley on February 13, 2007 02:59 AM

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?

Brian on February 13, 2007 03:52 AM

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.

Gerrit Duits on February 13, 2007 04:06 AM

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

What about for multiplayer? *ducks*

Telos on February 13, 2007 04:13 AM

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 ;-) 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.

Brad on February 13, 2007 04:21 AM

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

Omar Qadan on February 13, 2007 04:28 AM

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. ;-)

alski on February 13, 2007 05:35 AM


or maybe sometimes you just need to be offline...

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

atisu on February 13, 2007 05:36 AM

For a web browser? Eh, probably not so much. For other applications? Yeah, you can and should plan for it. Case in point: Valve Software's Steam.
For those of you who don't play video games, Valve's the company that made Half-Life and Half-Life 2, two well-regarded first-person shooters (but so far not responsible for any Columbine-esque hijinks). They released their own digital authentication and distribution system called Steam: you can buy the games in the store, but you can't actually play them until you get online and authenticate yourself (and download some keys to unlock the game) and this is a sore point: when you try to get on, it's going to force an update of the underlying Steam software and try to pull down the latest and greatest patches and if you're on dial-up and all you wanted to do was play your shiny new game, tough luck. If you're on broadband and you wanted to play a single-player game because the cable's out, tough luck: offline mode's a giant crapshoot. One of the fixes for offline mode not working was, I kid you not, disabling your network card.
As a broadband user, I sort of scoffed at both of these as they "don't apply to me." Over the holidays, I was building my new machine up and got to the point where it was time to install all my software on to my box. I was finally actually kind of excited for Steam - hey look, I don't have to dig out my install media or go hunting through the internets for patches where I'm invariably going to have to click through 18 shock the monkey links before I find out that their server's full or they finally can throw a file not found error at me!
Except that my build coincided with the power outages in Seattle and winning game of the year doesn't mean that you built out a redundant, geographically disparate, network architecture (where's the call for an OSI Layer 1 offline mode?). I still don't know how Half-Life 2 runs on my new machine, but Far Cry is awful pretty.

dave solomon on February 13, 2007 06:28 AM

Using a *web browser* without an internet connection does seem ludicrous. Of course, there are many cases where you wouldn't keep a *machine* connected to the internet (file and database servers, DAWs, that sort of thing).

I don't think it's such a hot idea for programmers to implicitly assume that their target environment will have an internet connection (unless of course that's the point of the application!). There's nothing wrong with having features that don't work without one; users expect that. But if some app that's totally unrelated to the web - let's say hypothetically, Microsoft Word - were to become completely crippled without internet connectivity, that would be incredibly bad.

This is one of the things I hate about the SPP; near as I can tell it implicitly assumes an internet connection, and any application that uses this framework will eventually become crippled without one, even if it's a totally "offline" app in every other sense.

Aaron G on February 13, 2007 06:40 AM

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.

David on February 13, 2007 06:51 AM

im sure that i had ever use the offline mode about 9 years ago, when i connected to internet thru phone line, which is very slowly.
so i just opened many pages and shut down my modem and reviewed the pages carefully later in offline mode.

jack on February 13, 2007 07:18 AM

"I already feel like my home computers are nearly useless without a connection to the internet."

Yea, I totally agree. I always think its funny when I think that though because we have these great computing machines that people would be amazed with without an internet connection a while ago. Just goes to show how how closely integrated the internet is with our computers.

matt on February 13, 2007 07:44 AM

Offline still matters for people with portable devices (PDAs, phones, etc.)

But then you use Avant Go or something, not firefox.

Reed on February 13, 2007 07:48 AM

Well, I work and live in Spain, but we've got developers from other countries who really have Dial-UP and code offline, connect, commit, update, etc.. then offline.

Jeff, the world is not the US of A. ;)

Even in Spain, not everybody has got some form of "permanent" connection.

Gezzz not even in the US of A!

You're seeing the problem from your point of view, where you depend on Internet for your daily work. Try to be offline for a few hours. It helps. It will boost your productivity.

We're much like Gnome these days, we depend on too many "thinks" found on Internet. We're bloated. ;)

Martin Marconcini on February 13, 2007 07:55 AM

Bandwidth is a privilege for most of the world.

Chris Blow on February 13, 2007 08:00 AM

There's a subtle point that I think most people get wrong: it's not "the idea that an application has to be completely functional" without a connection, it's the idea that an application should not be completely nonfunctional. Still, they should either make this more useful or get rid of it. Dojo is doing some interesting (although last I checked very "alpha") work on an offline toolkit: http://www.sitepen.com/blog/2007/01/02/the-dojo-offline-toolkit/

Marc on February 13, 2007 08:39 AM

No one knows what offline mode is for because the browser has historically been used for relatively passive web browsing. Trying to do that off line makes no sense.

The traditional GUI-OS applications—office, image editing, etc.—are 100% offline apps which have been adding some network features ("publish to Web"). Meanwhile, network applications such as weblogs and Flickr have dominated the online space. But 50% broadband or even a fantastic 90% wifi coverage would not be enough to let web apps realisticially replace traditional apps.

Currently, I use iPhoto to manage all my photos, a plugin with a one-way export connection to Flickr, and Flickr for sharing the photos. I would love to have a single interface for both.

If integrated apps start to be written to dominate both the off and online spaces, then they will have to have a true offline mode. Nothing so clunky as that "work offline" menu item, or a modal export plugin—they will have to just keep working transparently in the 99% of the Earth's surface that doesn't have wifi coverage, and do the right thing when I reconnect. This would be a feature of the app, not the web browser. It may have to be something that transcends the difference between the native GUI app and the web browser.

Michael Z. on February 13, 2007 08:58 AM

Offline mode is still useful, but it depends on the application. Say for example your a Sales Rep giving a presentation to a doctor on a particular drug at his/her office. Your going to work offline then. When you finish for the day, you might connect (in your hotel room or at your house) and synchronize you data while online.

I think your overemphasizing the importance of the web.

"For a lot of computer users, their computer is an overpriced paperweight if it doesn't have an Internet connection."

I think if the only thing you use your computer for is for internet related activies, then you probably paid a lot of money for essentially browsing, uploading, and downloading content. The "computer" in this case is merely a multimedia storage device.

It is a shame that the computer has been relagated to this task for the masses.

Jon Raynor on February 13, 2007 09:21 AM

I help run LAN Parties at my High School as the vice president of our Tech/LAN Club, and we've always had a problem with Steam when trying to hold CS:S and Halflife tournaments. It's become so much of a hassle trying to get everything working that we've had to phase those games out entirely, and promote other games that can operate independantly of the internet.

Tom Grochowicz on February 13, 2007 09:33 AM

I think it is a choice I would miss the minute it is obsoleted.

I, for instance, would at times run Bloglines as an "occasionaly" connected application.

Of course, Jeff, you are right - use "Work Offline" will have no meaning anymore, the more developers don't care about cacheability of their web pages (yes, MSDN, static content served by an aspx is bad practice.)

Henry Boehlert on February 13, 2007 09:44 AM

It seems pretty obvious that some applications need to be used without a connection to the internet. However, I think the concept of "Offline Mode" is fundamentally flawed. The underlying problem in my mind is that the user has to SELECT that they are in an offline mode. Offline mode is a need that can be easily detected by the software itself, so there is no reason for the user to have to make that decision.

Adam Huffman on February 13, 2007 09:51 AM

So you don't program without an Internet connection? Hmmm... interesting.

Matt on February 13, 2007 10:18 AM

Sorry, but this is one of your stupidest posts yet.

Funny, for someone who's blog/website spends a lot of time "offline" I'd have thought that you would have a different perspective. ;)

Matt on February 13, 2007 10:20 AM

Here's how I use offline mode:

1. Save a web page to disk for later reference.
(some time later...)

2. Open the file in the browser to read it.

3a) if the browser is in online mode, it tries to fill in the missing pieces, especially images and adverts. Most of the time, the page is not displayed at all until the browser has pulled in what it needs or has decided that content is not reachable. This takes AGES (well, 5-30 seconds, that's ages enough!)

3b) if the browser is in offline mode, the page shows up instantly.

It's useful.

marek on February 13, 2007 10:23 AM

Kind of an absurd post.

A scarier thought you should have explored: what happens in 5 years when many more businesses are 100% dependent upon the internet and the government does something to pull the plug or make it very costly?

steve on February 13, 2007 10:30 AM

I have to agree with Vittorio of this one – “World is not US”. If I am building an application I wouldn’t be very comfortable making an assumption that all my users are based out of US / a place where there’s this blazing internet connection that never goes down (not even for a few hours a month).

Imagine if outlook made that assumption, never downloaded your emails and you were in an airport of one of these many other countries in the world which don’t have WiFi access points all over the airport and you needed to refer to that email you received last week.

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

It’s not about betting against the internet. It depends on what your application does and who and where your users are. After all you want to build software for them, right?

A couple of years ago we did a system in Texas for an Oil and Gas company and supporting offline mode was a primary requirement because a lot of offshore oil rigs around the world don’t have internet connectivity. Rig engineers wanted to be able to work offline and sync the data “by parts” as soon as they get online / get some form scanty dial up access.

Adam’s comment makes most sense. Just don’t make the user select this stuff. If there’s a connection available – use it. If not, assume that the user wants to be in offline mode. In this application I talk off, we used offline application blocks from Microsoft to see if the internet connectivity is available and the remoting server we needed to talk to can be reached.

But now that you've got me thinking about this, I’ll go a little further. There are some parts of the world where people still pay by bandwidth they use - e.g. a 1 gig download per month can cost you something, and a 2 gig download actually costs you more. So just assuming that you want the application to download that update just because you are online is not such a wise to do after-all.

Maybe ask the user the first time and then say – “Is it ok if this software assumes you want to be in online mode when you are online?” - or maybe have windows do this so that all of the other softwares don't have to do this.

I guess, the key-point is that software should understand what I want (ask me once if it has to) but don’t keep bugging me with the same questions over and over again. Or... maybe ask me once per network – because I might have moved from one country to another while I am travelling – or my office network is on unlimited bandwidth plan but my home isn’t - am I taking this a little too far? :)

Like I said, it depends on who you are building for. When you’re a Mozilla or a Microsoft building for the whole world it get’s complex and I assume that they in-fact, do consider these scenarios which might sound crazy to a lot of us. I guess this is why the “Word Offline” still hangs there like a there like a vestigial tail :)

But I do agree with the basic philosophy of your post - there is truly nothing more futile than a web browser without a connection to the internet. Offline mode in a browser just doesn’t “sound right” and frankly, I don't use that option. Ever. :)

rajiv on February 13, 2007 10:50 AM

I use offline when daily commuting on the train to work. It's a quick way to make my ibm brick useful in the subway. I can always connect during the day to get the latest details. Offline is still very useful.

leroy on February 13, 2007 11:21 AM

I wish MORE applications had an offline mode!
It always seems that your internet connection fails (or goes flaky) right when you need the software the most.

I have encountered the problem many times using student versions of CAD and simulation tools and it is EXTREMELY aggravating when your trying to meet tomorrows deadline and your internet cuts out and you can no longer open the application or save your results.

And to reply to the dave about Valve's Steam software: Why on earth do I need an internet connection to use the Hammer (Map) Editor. It should be a standalone offline executable, just like Worldcraft was back in the day.

Only patch/update things when I am online, but don't prevent me from using the application when I'm not.

Fodder on February 13, 2007 11:32 AM

In answer to your question, I pose the following:

Has offline mode *ever* mattered?

Seriously, how many people actually "downloaded the web" so they could read their pages offline at a later time? How many people "go offline" to wander around their browser cached pages? How many peope *ever* did?

I'd be willing to wager that, were usage statistics somehow available, they'd show that "Work Offline" was at best a niche, feature, rarely used and even less considered.

I agree that it's time for it to go. Perhaps it should never have been.

Randolpho on February 13, 2007 11:45 AM

I agree with others that having a visible user setting controlling online/offline status for an app is silly. Some apps do need to behave differently without network access, but it seems a pretty rare situation that this is something the user would need to select, instead of the app just asking the OS.

Simon Geard on February 13, 2007 11:49 AM

I was kicking myself this morning for not making the actionscript 3.0 documentation "available offline," because their site was down. That's a good use for the offline features - reference material that doesn't change often, and should always be handy, online or not.

Jim Rogers on February 13, 2007 12:07 PM

I use it occasionally to browse my internet history when not connected. "doh, what was that site??" It will just pull the html file and embedded pics straight out of the browser cache.

Brad on February 13, 2007 12:19 PM

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.

Neil on February 13, 2007 01:51 PM

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.

wioota on February 13, 2007 02:43 PM

Dragging sensitive data over a network that you (or someone responsible for you) don't control is asking for trouble. Sure, it can be done with SSL, but an all-too-common kludge to make SSL play nice with self-signed certificates also effectively disables the ability to detect a "monkey in the middle" (disabling CA chain validation, in particular).

Of course, lugging sensitive data around on a laptop hard drive can also be a recipe for disaster -- but adding the Internet means new, different bad things can happen that don't obviously involve theft.

Anonymous Cowherd on February 13, 2007 11:55 PM

Others have observed that offline mode is useful for secured networks like military ones where some PCs have to be literally stand alone. Even within a military environment, you can have multiple levels of security on different machines and some can exist in your local secure LAN and some others require even greater security. The same is true of public safety systems (I worked on police systems and military systems at one time).

Also, there are a lot of corporate entities that don't want certain sorts of external connections and seemingly random software updates. This makes running net-required apps problematic. Network admins tend to be controlling types, so letting the software do its own thing? Hahahaha!

Mobile devices like PCs and PDAs of course aren't alway 'hooked up' so offline mode is important.

Many places in North America still use dialup. Even if only 10% of NA was non-broadband, that would still be tens of millions of people. That's not a market you want to rule out. The dialup I used until recently was 21-26 kbps unreliable. That's not where you want to serve up heavy apps. I had to stop using an antivirus platform when a program update was packaged in a single 10 Mb file. The download time was just waaaaaay toooooo looooong for my dodgy dial-up link.

Also, you might consider that you have to differentiate between having web or server-serviced apps vs. Internet apps. I make this differentiation because if I run in corporate environments, we may be happy to have a corporate app server inside our security perimeter to serve up approved apps or component updates, but we might not be keen on pulling the same from MS, Adobe, etc.

Further, network integrity even in the broadband world isn't great. I've seen companies lose primary and secondary internet connections due to various construction mishaps. If you have 100 people suddenly without the ability to work due to this sort of event, you'll be damning Internet apps quite considerably. For these sorts of scenarios, it is vital you can continue albeit with some reduced capability (I hate software development without Google and MSDN for instance). You can, quite literally, sink a business if the timing is bad enough and you couldn't work offline. I've seen a company haul in diesel generators to drive UPSes to drive PCs to get a bid worth tens of millions out the door for the deadline when we had a massive power outage. At the same time, if we'd needed the Interweb thingie for our apps to work, we'd have been pooched.

So yes, offline mode still does make sense.


kaladorn on February 13, 2007 11:56 PM

Scrybe is an interesting example of a web application that exploits offline mode:

http://iscrybe.com

It hasn't replaced Outlook / Google Calendar for me but it's been fun to play with...

matt on February 14, 2007 12:43 AM

Applications like Scribe (http://iscrybe.com/main/index.php) use the offline feature to provide functionality in the absence of connectivity.

aviNash on February 14, 2007 01:11 AM

Sorry for being repetitive! missed seeing Matt's comment.

aviNash on February 14, 2007 01:15 AM

I think looking at the "work offline" menu item in the browser misses the point: I've never used it simply because I'm still not sure exactly what it does, and I've never bothered enough to find out.

But working offline is not the same as the "work offline" menu. Working offline is just as much the various 'save' and 'download' menus. In a truly online world, there is no discernible difference between local and network content.

Until my next-generation iPod can play a song equally well streaming it off a public wireless network as can it today can from local storage, and it can do that even on the subway or when hiking in the Himalayas, until then offline mode still matters. Not the menu, but the concept.

That day may eventually come, but it may not happen in my lifetime.

mephisto on February 14, 2007 03:07 AM

I don't use offline mode very often, but when I do, it is nearly essential.

Quite often I find something useful on the internet that I would like to reference later. In general usage, I am connected on cable and just pull it up again. But there have been many times where I was at my parents house (no broadband available, and no wifi), on the road (looking up that map that we thought we didn't need to print out), or just plain without internet that evening before my assignment is due (blame Roadrunner, bad storms, or my router dying) and I DEFINITELY want a browser to have complete and easy access to all of the cache that I KNOW it was keeping while I was browsing to that same information yesterday. It seems ludicrous to me to not allow access to that information (which is normally stored in some format/naming that is nowhere close to human readable if you just browser to your cache folder).

Even within the US, wifi, cell phone internet and broadband may be ubiquitous IN major urban areas, but cell phone modems/services are still not cheap nor available in all rural areas, broadband access is VERY geographically limited, and stealing your neighbors wifi is great IF you live in an areas where your neighbors are likely to even know what wifi is :)

So yeah, from a research standpoint (ie, finding what I know I found yesterday) working offline is still VERY valuable in a web browser. I wish that it worked more seemlessly - any time I browsed to a site that I couldn't connect to, it should automatically show me the cache with a little warning that I wasn't seeing the current thing.

Mike on February 14, 2007 06:40 AM

So I'm on the airplane to visit my aunt on Nantucket Island. I want to develop my website in Visual Studio .NET (2005 of course) and I have to click the "work offline" in the browser in order to test things. Sounds fair enough to me.

John A. Davis on February 14, 2007 12:20 PM

Also in line with the Dojo links provided up there, you might be interested in this: http://www.bluishcoder.co.nz/2007/02/offline-zimbra-with-firefox.html

Which means that kit developers do indeed see a need for a way to manage offline working.

Gonzalo on February 14, 2007 02:35 PM

Wow! Not one mention of all those html-based "Help" files and other instructional documents, i.e., readme.html.

Doofus on February 15, 2007 05:25 AM

For the "World is not US" posters,

Jeff lives in the US. Jeff is from the US. From my understanding, Jeff works in the US. It would only seem appropriate that his statistic would be referring to the US. Though many of you make good points on applications not having some form of connectivity, but still need to function, many of you are not able to see around that statistic simply because you aren't from the US. So the question is Who is more narrow-sighted, Jeff or you?

Spencer on February 15, 2007 07:15 AM

does offline mode still matter in an increasingly online world

Yes, yes, and once more yes. I sell, install, support and train for a biotech/pharma software company, and being able to work offline is absolutely critical, and one of the reasons that much as I like Google Apps, they're not a replacement for MS Office.

Lots of work gets done in planes, cars on the way to a customer and hotels which may or may not have an internet connection you can rely on (They all say they do, but it's not as if they have network people standing by if something happens to their connection). And it's also entirely possible that customers (at least in biotech and pharma) aren't able to provide you with an outside internet connection.

For a web browser, it's obviously not such a big deal to have offline mode, but for reading and answering emails, I find that it's pretty key to have the ability to work offline and send/receive all the latest in the time between flights and/or whenever else there's a connection available.

TW Andrews on February 15, 2007 12:26 PM

IMHO, the real problem with "off-line mode" is that it's a weirdo menu item instead of being totally transparent. If I visit a bunch of web pages, and then go off the network, and then try to re-visit the web pages, IE should automatically just pull them out of cache. (It should also be nice and put up a "you are off-line" dialog)

Why? Because "work off-line" is scary. There's no telling what it will do. Maybe it will wipe out my cache. Maybe when I go back on line it will try to 'refresh' all my cache, sucking up my bandwidth and give me an avalanche of pop-ups. Maybe if I set it to off-line, and then try to suck up some web pages for later viewing, it will just get in the way.

Even if I do use it -- when? Before I take a plane trip so I have pages ready to read? After I visit the pages? How do I tell? Certainly not by reading the help file -- 'off-line' isn't even in the index! Trying "working offline" in 'search' gets me 'how to change your home page" (really!)

In short: it's conceptually pointless and not documented.

And why not just visit pages and (manually) save them into a 'web archive'. Double click on the resulting file and there's the information again.

Peter on February 15, 2007 06:47 PM

I would like offline mode to work, but it never seems to. I'll be on a website, the site, or the net will go by by, but instead of pulling the site from cache, which it must have, it tells me it can't find it. Stupid program.

Charles Pergiel on February 15, 2007 11:33 PM

Urm..So, basically, your argument is that almost everybody has a connection to the internet that is fast, perpetually on and so on.Therefore you say that an offline mode is unnecessary but just take a moment to think about us unfornates in 'developing' countries like India. We here struggle with low speed dial-up connections (I am luckier than most having a 256 Kbps ADSl limited bandwidth connection) and if suppose I have to view a web page that I opened in my browser ,say today morning, I just select Offline mode and open the browser history. If that were not available, I'd have to re-download that page all over again and waste precious bandwidth...One teeny web page doesn't sound like much but the usage adds up.

By the way, I take offence at the way you mention Firefox and IE in your post but entirely ignore Opera... ;D

Jarquon T. on February 16, 2007 07:40 AM

Spencer – I think the “The world is not US” in my comment was brought in to highlight the point, that software vendors like Microsoft and Mozilla need to consider non-US crowd as well.

Having spent a lot of work time in both US and India I’m able to see around that statistic, but Microsoft / Mozialla cannot build software based on that statistic.

We’re just having a healthy discussion here. No-one is narrow-sighted. :)

rajiv on February 16, 2007 11:48 AM

Because, I guess, lots of people live outside the US as well.

Yuvi on February 17, 2007 02:32 AM

Rondolpho, I did exactly that.
In the past, I downloaded (at school) all the pages I needed to a USB drive. Then I viewed them at home.

Now, with high-speed at home, I launch windows to all the sites I need before leaving for the train. Then, I switch to offline and read the pages.

Offline User on February 18, 2007 01:06 PM

I use a local-hosted wiki as a PIM -- gotta use the browser to navigate.

Now, accessing my local Apache server - is that consider online or offline?

Prior to this, I used a TiddlyWiki -- which is just a locally-saved file (USB or otherwise) and is definitely an offline browser usage.

OtherMichael on February 20, 2007 11:38 AM

Off line mode was good after earthquake meant no downloads for 1 month later.

xiaoya on March 1, 2007 08:12 AM

The function Working off-line is not necessarily futile.
My internet explorer was hacked by installing improper softwares and that the working off-line function in the internet explorer prevents the spy-wares in my computer to communicate to the remote server, or to spam adult web-pages.
Micro-xxxx is quite stupid enough to design internet explorer because it can be hacked very easily but its smart enough to create a working off-line function

someone on May 12, 2007 06:17 AM

Google tends to disagree with you:

http://gears.google.com/

dnm on June 21, 2007 05:22 AM

The work offline facility on my pc is not there....How do I add it to my file options?

Jeff on July 5, 2007 02:10 AM

ok, I know that it is under the file list but also shows up under that wheel that showed up on my tool bar. What I can not figure out is why my computer keeps checking the work offline. It is really pain when it happens fifteen or twenty times an hour. So if someone out there can tell me how to fix it I would really appricate it.
cybergran

cybergran on September 7, 2007 05:14 PM

ok, I know that it is under the file list but also shows up under that wheel that showed up on my tool bar. What I can not figure out is why my computer keeps checking the work offline. It is really pain when it happens fifteen or twenty times an hour. So if someone out there can tell me how to fix it I would really appricate it.
cybergran

cybergran on September 7, 2007 05:14 PM

i cant get on to check my mail it tells me that i am working off line

some times i couldent get on for days ,and if i ever get on i will be checking my mail and it will knock off and say that i am working off
line ,i would like for this to be fixed,

and i have a problem with this to it says there is a problem with
this websites security certificate,

the secrtificate presented by this website has expired or is not yet
valild

security certifity problems may indicate an attempt to fool you ar
intercept any data you send to the server
we reecommed that you close this webpage,
and do not continue to to this webpage


now when this comes up i cant get on my email page
is there a way to fix this mess thank you lois young

i had good luck i got on but it could change

lotily_80@yahoo.com on January 30, 2008 02:23 PM







(hear it spoken)


(no HTML)




Content (c) 2008 Jeff Atwood. Logo image used with permission of the author. (c) 1993 Steven C. McConnell. All Rights Reserved.