As you probably know by know, when Apple Computer Corporation released the newest version of their mobile operating system, iOS 6 last week, the mapping application was broken. Spectacularly broken. Loses train station, shrinks tower, and creates new airport broken. Slideshows of ridiculous glitches broken.
Tim Cook, CEO of Apple apologizes broken.
How did this happen?
Apple Computer launched a major upgrade of it’s operating system across an entire family of mobile devices – iPhone, iPod, and iPad. The upgrade took ~600MB and was one-click easy. Devices sensed an upgrade needed to happen, told the user, and upgraded themselves without a hitch.
Of all the major supported to apps on the system, only one fell down: Maps.
Meanwhile, on the PC side, most of my friends don’t both to do operating system upgrades. They purchase a new computer with the new operating system, or, more likely, limp along on the old OS until they can no longer limp, then purchase a new computer, because the process is just that painful.
All of this tempest over Maps tells me one thing: Location and Direction Applications are now mission critical.
Maps Are Now Mission Critical
Ten years ago, a few forward thinking friends would have a GPS in the car. If they got lost, they could open the GPS, type in the address, and get directions. A few years after that, maps started to appear in cell phones. At the time, I thought this was mostly due to digital convergence (“and it’s a camera too!” / “and it’s a Personal Digital Assistant!” / “And it does email!” / “And it …”)
Over time, people began to rely on these, to the point that they don’t both to get print directions at all; just fire up the iPhone and drive. I confess, after I got my latest iPhone, I’ve done this a time or two. Now, all of a sudden, these apps go from optional to having to work.
That said, it is king of strange that maps fell down in iOS 6 – the errors look more like data errors than software glitches. Why would that cause a problem?
Only because Apple replaced the underlying engine driving the software, switching out Google Maps for their own.
This wasn’t an incremental release of iOS maps; it was an entirely new engine.
And there’s one secret that folks might not know about mapping applications.
With traditional applications, you can develop examples (“tests”) up front, and require your programmers to have them passing before the application is passed off to a group that will test the application like a user. Maps are different.
Testing Mapping Applications is Incredibly Hard
With Map software, there is a second unknown: The data underneath the application can have a problem, and that problem can require massive amounts of late-stage test and evaluation. Here’s James Whittaker, then a engineering director at Google, talking about that problem (advanced to 19 minutes in by me):
Whittaker gives examples in Google Maps at the time. Whittaker asks for a walking route from Cambridge to Hall, England, that requires swimming the English Channel — twice. In another example, he shows Arlington National Cemetery, with an icon above it indicating the facility is a resturant.
Again, mapping data need to be scrubbed, and, without massive peer review, ‘unclean’ data purchased from multiple sources and combined in likely to be a mess. It took Google years (and lots and lots of temporary and contract workers) to sort out the issues in Google Maps — the main point of Whittakers talk is that, despite the automation rhetoric, manual testers still play a critical role in application development.
To give you some idea of how long this process was, keep in mind: Google Maps went public in 2005 and Dr Whittaker gave his talk five years later, in 2010.
All of the publicity around these problems actually give me hope.
I hope that we are slowly transitioning from a ‘let the users find the bugs’/Facebook/Twitter world (what James Bach calls “Quality is Dead“) to one where companies recognize certain applications as critical, and give test and quality the attention it deserves.
Mapping Applications are mission critical, and there is a chance they might actually be treated that way in the future.
What else is mission critical that we are not treating that way as a society — and how can we change it?