The iPhone Wi-Fi Black Hole
January 21st, 2009 by John
Devicescape is all about Wi-Fi, and I’ve been using Wi-Fi on an iPhone ever since we got our first one on June 30, 2007. Over that time, we’ve learnt a lot about the iPhone’s Wi-Fi experience.
If your thinking is limited to home networks, Apple’s decision to make the switch to a known Wi-Fi network happen automatically seems pretty smart. You walk into your home (or office, etc), the iPhone switches to your Wi-Fi network and everything is good.
But, the iPhone is a mobile device, and one that people tend to have with them all the time (unlike a laptop). Increasingly, those devices are being connected to other Wi-Fi networks, including public hotspots like AT&T’s network in the US Starbucks locations. So now my iPhone knows the AT&T Wi-Fi network as well. And therein lies the problem: every AT&T Wi-Fi becomes a black hole for data access until I log in.
Daily Annoyance
Every morning I walk from the ferry terminal to my bus stop. In between the two, very conveniently, there is a Starbucks where I stop to buy a coffee and check my email and catch up on my Twitter stream before the bus comes. As I walk towards the door, my iPhone switches from the cellular network to the Wi-Fi one, and in doing so disconnects me from the internet. Now I am stuck in the AT&T walled garden. My email no longer works. I can no longer update my Twitter stream. I can’t connect to the App Store.
Sure, I can launch Easy Wi-Fi and within a few seconds the connection is back (or, I can launch Safari, enter my phone number, jump through a few hoops and get online that way). But that’s annoying. I just wanted to check my email. It’s even worse on the days when I’m tapping out a quick reply as I walk, only to find the send fails because the network switched. That slick automatic switching from 3G to Wi-Fi, intended to do away with the need for me to think about the type of network my phone is using, just disconnected me from the world!
Known Problem
Oddly, Apple should be well aware of the problem since their original launch of the iTunes store in Starbucks, back at the end of 2007 when Starbucks still used T-Mobile for Wi-Fi, did exactly the same thing. Glenn Fleishman wrote a great description of this over at Wi-Fi Net News.
T-Mobile hotspot subscribers noticed the problem before this was launched, but by giving others a reason to connect to the Wi-Fi signal in Starbucks, Apple made the problem affect a much larger group of people. And with the addition of free access at AT&T’s Wi-Fi network for all AT&T iPhone users, the problem just became much larger.
What can be done about this?
There are really two things that Apple needs to change to make this black hole a thing of the past:
- Apple’s network reachability mechanism needs to become aware of the concept of web-based authentication;
- There needs to be a mechanism to allow third parties, like Devicescape, to add authentication services to the OS.
The first means that when a device latches on to a Wi-Fi signal, it won’t automatically switch all traffic to that network until it knows that it can actually get to the internet, and is not just stuck in a walled garden.
The second provides a way to support the thousands of different networks out there without having to have them all built into the firmware. The default option here could be to ask the user whether they want to sign in using Mobile Safari.
Beyond Switching
The holy grail when it comes to handling Wi-Fi and cellular data networks is that the selection and transition is totally transparent to the user. Even if the black hole issue is resolved, the iPhone still switches from one network to another. When that happens, any connections open on the old network are dropped (especially going from Wi-Fi back to cellular).
Applications can try to resolve that by catching the error, re-opening the connections and carrying on where they left off, but that’s very dependent on the application and may not give the best user experience. A nicer solution is to include a mobile IP solution so that data connections can move between the radios without interruptions. Of course, some applications (esp. streaming media apps) might need to adjust to the new network’s capabilities, but at least they stay connected.










June 11th, 2009 at 3:10 am
Interesting concept. In my experience as an Apple developer, the access to ‘privileged’ APIs by Apple is generally for two reasons: (1) there’s some functionality they want to reserve for themselves to make Apple-made software work, well, better, on their platforms. Or, (2), access to system resources are proscribed for security reasons. In a recent Apple presentation to U.S. federal CIOs, I made the case that the ’sandbox’ approach on the iPod/iPhone for app memory space makes perfect sense to close a major security issue found in RIM, WinMobile and Symbian operating systems — the ability for an app to cross over into memory space.
While Objective C is no fun when it comes to granular memory management, the advantage of this model is clear: very hard to design a malicious app. Taken in concert with the requirement of signing every app (either when submitting to the App Store as a developer, or from an enterprise’s own in-house distribution network), and you’ve got the most secure mobile platform. With our iPhone customers in the U.S. and the E.U., security remains the number one issue. My approach has been to work within the bounds of the platform to craft solutions that leverage that model — and forget about a Windoze or Symbian-type approach. In 20+ years of Apple development, this has worked well.
My two-cents.