I have spent a decent amount of time over last year looking into web-based occasionally-connected architectures. I have explored both the browser-local database model, and the full offline-stack model. In my daily blog reading, I often come across people who say that connections are practically ubiquitous, and so there should never be a need to work while occasionally-connected. You can read this rather strongly-worded blog entry for one example of a person advancing this view.
Even though connections may be becoming ubiquitous, it doesn’t mean they will always be usable. I ran into two such cases in the last week while trying to use my email during my travel to the PHP Quebec conference . For this conference, I decided to take the train to Montréal rather than a plane. Although I generally prefer rail travel to air travel, one thing that really attracted me was the ability to get wifi on the trains. With the wifi, I expected that the eight-hour train trip would end up being like a regular day at the office (except that I would stand up 700 kms away from where I sat down).
Unfortunately, this was far from the case. Although all of the trains did indeed have wifi (for $8.40 per day), it was utterly unusable. My laptop was unable to maintain a connection for more than a few minutes at a time, repeatedly causing my VPN to timeout. After fighting with trying to get my email for over an hour, I simply gave up. Even when I was connected, the speed was so pitifully slow that it made even simple browsing nearly impossible.
When I finally got to the hotel, I was able to hook up to the wired internet in my room expecting to enjoy a fast, stable connection. Here I ran into another problem: I recently got a new laptop and am trying my best to only do work in VMs (after suffering from a bad case of Window’s Rot on my old laptop, I am trying to keep my base OS as clean as possible). After plugging into the port at the Hilton I accepted the $8.95 fee, and got connected…sort of. Apparently I had made a wrong assumption that my VMs would be able to use the already-purchased connection from the base OS. The hotel must have been doing some filtering that disallowed the connection to my VMs. I tried playing around with the settings in VMWare Workstation, but had no luck sharing the connection. And, since I had been trying to keep my base OS clean, I had never installed my email client on it. Again, I was out of luck.
Granted the use of VPNs and VMs make it a bit more complicated, but I basically struck trying to simply get email on a wifi-enabled train and in my hotel room. Apparently ubiquitous connectivity isn’t as useful as it appears sometimes.