Did You Have iPhone Wi-Fi Issues Last Night?
If you’re an utter geek, like me, the reason you did is actually quite interesting! I’ll explain what happened but first a little bit of background is needed…
So, lots of places have free Wi-Fi these days, right? Coffee shops, restaurants, bars, McDonalds, the list goes on. And when you use a particular brand of free Wi-Fi for the first time, you have to log in using a webpage before you can do anything. The tricky thing is that webpage sign-in. The actual Wi-Fi signal isn’t password-protected; your phone, or whatever device you’re using, thinks it’s an open network. Only when it tries to get to the internet through it does the network go “um, password please.” And that’s the heart of the problem – there is no way for your device to know that the network is going to throw up a sign-in page before it can do anything. This is a problem for phones and tablets because you’re not likely to have your web browser open when you’re trying to connect, you’ll be in the Settings app telling it what to connect to. If the browser isn’t open you can’t sign in to the network because it can’t show you the sign-in page. So the phone thinks it’s got an open network but in fact the network is dead because you haven’t signed in, which is bad from a usability standpoint because you’ve no way to know what’s going on. So mail won’t be sent, apps can’t do their thing, dogs and cats living together, mass hysteria, et cetera.
This is where someone at Apple has a bright idea to get around the issue. Every time you connect to a Wi-Fi network with an iOS device, the device pings a simple little webpage at apple.com to see if it can get to the internet unhindered or not. (Click this link to go to the actual webpage your device pings.) If it can get to the success webpage, the device knows it’s not behind a sign-in page and it can go on its merry internet-using way. If, however, the device receives a different web page than it was expecting, it knows it’s behind a sign-in page and bounces you to Safari so the network can get you to sign in. Clever, no? It’s important to note that this is not a privacy issue, by the way; the page is a tiny, simple little page that doesn’t get told anything about who you are, where you are, what network you’re trying to get on, or anything like that. None of your cookies from your internet browsing are sent, the device simply wants to know whether or not it can see the page. (Click here for more technical information on what’s going on.)
So this is all very simple and effective and Apple-like, yes? So what went wrong last night? This problem showed up in none of the pre-release versions of the software, it wasn’t in the final version that developers received a week ago, nobody at all saw any wi-Fi problems at all until release day, when people in their millions downloaded iOS 6. The software installed, the device rebooted, wanted confirmation that it could connect to your home or work Wi-Fi network and… what? The answer is disturbingly simple.
The “success” webpage disappeared.
It wasn’t a bug in the iOS 6 software, it was nothing to do with your home networks, nothing like that. The webpage that your device pings every time it wants to connect to a network all of a sudden wasn’t there. And what happens when your device can’t get to that webpage? It bounces you to Safari so the network can get you to sign in. Unfortunately, your networks weren’t throwing up a page asking you to sign in. So the entire process fell on its arse. For a period of about forty minutes, no iOS device wanting to connect (or reconnect) to a Wi-Fi network could do so. People went batshit crazy, rivers and seas boiled, dogs and cats started living together, and there was mass hysteria.
Now I wasn’t affected because I had installed the “GM” version (as we hot sexy nerds call it) of iOS 6 a few days ago so I wasn’t trying to connect to a network, I was already on it. There were scattered reports of people managing to make a connection and if you in fact did need to sign in via a webpage before you could use your Wi-Fi then you were absolutely golden. But a lot of people couldn’t. Also this problem was almost certainly man-made rather than technological. Somehow the webpage was moved, deleted or renamed on Apple’s webservers just as several million people were hitting it. People trying to get to the page manually were getting a “404 – Not Found” error rather than a “We do have that page but our servers are melting” response. I get the feeling that someone who worked at Apple yesterday now no longer does so. I also get the feeling that Apple might make this system slightly more robust in a future software update now it has been shown to have one monumental point of failure.
It all goes to show, though, the kind of hoops that software developers have to jump through to get things to “just work” (I’m interested to know how Android devices deal with these kinds of Wi-Fi networks). People think that modern software and hardware are infinitely complicated orchestrations beyond the ken of mortals, when it’s actually an infinitely complicated series of quite simple jerry-rigs all built on top of and underneath and around each other and all of them relying on other things to be working so they themselves can work. It’s amazing anything does, really.