Introducing iOS 6.0 Maps
Using Maps Offline
2: Maps and visualizations
3: Transit directions
4: Map labels & local search
5: Routing & traffic
Apple's App Store integration for transit directions
With iOS 6 Maps, Apple has handled transit directions (which means anything other than driving or walking) the same way that it supports mobile data service on its Macs: it leaves everything up to third parties, leaving just enough hooks in place for someone else to do the job (whether or not somebody actually does it).
Rather than taking on the huge task of adding a public transit layer to its new iOS 6 Maps app (which includes marking stops by operator, showing routes and finding interagency, multi-line directions with arrival and departure times), Apple simply delegated the task to third parties. While this may appear to be a huge cop out, it's also probably the best decision the company could have made to get iOS 6 Maps to market.
As Apple's head of iOS engineering Scott Forstall announced in June, "When building Maps, we looked around and realized the best transit apps for metros, for hiking, for biking, are coming from our developers. And so instead of trying to develop those ourselves, we are going to integrate and feature and promote your apps for transit right within the Maps app in iOS 6."
Apple essentially focused its resources on building a maps service oriented toward drivers and pedestrians, leaving the door open to its App Store developers to address the kinds of tasks they had already been performing as an alternative to Google's basic transit information and routing in iOS 5 Maps. Had Apple taken on transit directions itself, the new Maps would likely still not be finished.
Instead, Apple integrated support for third party transit apps by enabling users to find two end points within Maps and then forward them to a specialized app for routing (shown above). This not only makes it possible for third party app developers to deliver urban transit directions (such as metros and city busses), but also regional directions (trains, interurban busses and airplanes) and specialized direction routing (including hiking trails, bike directions, ferry connections, even other options like taxis and ride sharing).
Less than a month after iOS 6 first shipped, the full potential of this integration hasn't yet been realized. There is, however, already a variety of good to exceptional apps that support this integration, including several new types of transpiration that iOS 5 Maps never offered, such as bike routes and ride shares.
Even in areas where there aren't many (or any) routing apps shown for iOS 6, there likely are transit titles in the App Store, or information available via web apps, including Google's own. For example, HopStop provides Google Transit information in a free iOS 6 integrated app, with an improved interface, local transit maps, and other features.
Apart from forwarding two endpoints to another app (and providing App Store integration to help you find relevant apps capable of finding routes between a particular set of end points), Apple hasn't even taken a stab at showing transit lines in the new iOS 6 Maps. There are just enough bus/metro/train/streetcar stop icons on Apple's new maps to make it clear that it expects you to jump to a dedicated transit app to find your way around via public transportation, rather than trying to plan transit trips within Maps itself.
The way things were in iOS 5 Maps
This initially seems to be a big step back. Using Google's Transit directions in iOS 5 Maps, you could find your way around within and between lots of cities. Google's depicted transit information in iOS 5 Maps was relatively basic however; a global "one size fits all" approach that often provided incorrect, confusing or misleading information.
Just looking at the map, iOS 5 Maps shows most surface railways and indicates different types of metro stations (something iOS 6 Maps falls short in doing, as detailed below). Few cities show any actual transit routes on the map though. Ask for directions, and Google's results range from helpful to ludicrous, depending on the city you're in.
For example, in the San Francisco area, Google's maps show different station icons for regional Bart subway stations; for Amtrak and Caltrain regional rail stations; for SF Muni street cars and VTA light rail stops; a fourth icon for ferry boat landings and a separate one for bus stops. Ferries routes and some train paths are indicated on the map, but there are no bus routes (nor are most bus stops indicated) and the path of most subways can only be guessed by connecting the stops.
Ask for directions around San Francisco, and Google will provide a few options that take you from bus to Bart to Muni metro to Caltrain and even ferries across the bay. Unfortunately, it provides arrival times that have no correlation with when Muni busses or trains will actually arrive, even though the local transit agency has GPS transponders on all its vehicles that publish exact arrival times. Many third party apps show this information, but Google has chosen not to for some reason.
Google's calculated routes (in iOS 5 or via its Google maps Android or web app) also often make no sense or are absurdly out of the way. While standing at a Muni Metro station (and providing my current location), Google provided four options that all directed me to walk a quarter mile to catch a bus (or alternatively a similarly out of the way Bart train, neither of which would take me more directly to my destination), rather than just taking one of several metro trains that would get me there in half the time.
From San Francisco's Dolores Park, which is directly served by a streetcar line that dives underground to take riders downtown, Google provided four options for getting to "Powell Street," but each one randomly determined that rather than getting me to Powell Station at Powell and Market, I should transfer to the 9 mph touristy cable car to double my transit time, estimating more than a half hour for what should take around 15 minutes.
The arrival times it reported were wrong; had I made plans around them, I would have missed the train. Google also suggested several other half hour trips that made even less sense. It is typical, not occasional, to get bad route estimates, bad arrival times, and irrelevant route suggestions. In some cases, Google can recommend useful routes, but the departure times it provides usually wouldn't help you actually catch any of them. If you want useful transit directions in San Francisco, you wouldn't use iOS 5 Maps.
In iOS 6, Apple doesn't fix the problems with Google Transit in San Francisco on its own. Instead, it delegated the task to third parties who do. The base map in iOS 6 is actually less useful in navigating transit than iOS 5 was, but install helper App Store titles (like Embarcadero or Transit, shown below) and iOS 6 shoots way past the iOS 5 experience and delivers better presented, more complete and more accurate information for transit users.
Ask for transit directions from San Francisco to Reno, Nevada, and Google only offers a variety of ways to take two or three transit systems toward an Amtrak train that leaves from the other side of the bay, which just by itself would cost three times as much and take just as long as riding a Greyhound bus directly from downtown San Francisco. If you want non-driving routes between most U.S. cities, it usually makes no sense to try using Google Transit.
In Portland, Oregon, (where Google Transit originated) iOS 5 Maps show Max light rail stops and some bus stops, but no lines. Ask for directions between virtually any two points and you get sensible routes for either the Max or bus, along with arrival times that are typically correct because the transit system there is run on an actual schedule. Google Transit seems to work well in Portland.
In Berlin, iOS 5 Maps similarly indicates U-bahn subways and S-bahn urban trains with separate icons, but doesn't show routes between stations (apart from where these are obvious from the surface train line paths). It also doesn't show routes or stops for regional Deutsche Bahn trains, MetroTram light rail, or any of the 150 bus lines in the city. Ask Google for directions around Berlin in iOS 5 Maps, and you can get extremely basic routes and times between only the major metro stops.
For example, if you ask for directions between Alexanderplatz and Prinzlauerberg, Google provides two ridiculous route options (with two or three connections, above) that would take as long as walking. Consult Berlin's transit website (or one of several iOS apps, like Berlin Fahrinfo, shown below) and you'll find there's an M2 streetcar tram that takes you directly between those points in half the time. If you want functional transit directions in Berlin, you wouldn't use Google.
In Paris, Google can't find any routes, not even via the metro. It also isn't any help getting around France, whether you want to go to Versailles or N?mes. Ask for directions to Berlin, and Google will recommend an ICE train (note that Google just added routing support for Germany's Deutsche Bahn trains last month), but it recommends walking 2km across Paris to catch it, rather than offering any information for subways to get you there. There are several iOS apps and websites that provide the directions around Paris and France that Google can't provide, and some already provide iOS 6 integration.
In Tokyo, iOS 5 Maps indicates at least four different transit systems with unique icons (Tokyo Metro, Toei subway, JR regional trains or monorail and interurban Shinkansen bullet trains), and it prominently shows both surface and underground metro paths throughout the city (and in other major cities, such as Sapporo), with detailed station maps, their underground passages, and named exits (visible in light pink below). There are no city bus routes or stops. If you want to navigate by train within Tokyo or across Japan, you can do it pretty effectively with Google Transit.
There's no Google Transit information on trains in Thailand outside of Bangkok, and if you want transit directions around Melbourne, Australia, or to Bondi Beach, or between most cities in Australia, no luck. Google doesn't provide any outside of New South Wales, which it just added this summer. Google does list some sort of transit support in over 500 cities, but that includes lots of cities where it doesn't really work or isn't really very effective or accurate.
Google is in the transit information business to make money, and this is reflected in the often annoying routes it often assumes for you when you ask for transit directions. It couldn't put ads on the screen in Apple's iOS 5 Maps, so it instead just gave you directions to its sponsored links, no matter how ridiculous these might be, and no matter how this might negatively impact the usefulness of the route information you get.
What was wrong with iOS 5 Maps
Because Apple relied entirely upon Google for transit directions in iOS 5, it couldn't offer anything other than what Google chose to supply (or the agencies that wanted to give Google their information). In iOS 6, you can still access Google's transit via the web or through a variety of apps that get their data from Google. In many cases, these apps provide better information from Google than Apple was presenting in its own app. Other apps bypass Google altogether to present more accurate transit data.
Some of the transit deficiencies in iOS 5 Maps were due to the fact that Apple didn't offer an optional transit layer showing lines between stops (as Google itself does in its Android app, or its online web app). In iOS 5 Maps, you also couldn't tap on a transit stop and see what lines serve it, when the next vehicles are arriving, or plot out a route and see how much it would cost. These are all possible from Google's Android and web apps (albeit via a rather wonky interface), or from specialized iOS apps that use Google Transit or get their own transit information independently.
Apart from lacking support for the full range of features that Google Transit provides, iOS 5 Maps also suffered from Google's fair to poor representation of transit. If you live somewhere that transit is relatively simple and runs perfectly on time, Google's maps and transit directions may work acceptably. But if you live in a place like that, you probably don't really need help navigating the system.
Introduce enough complications and Google Transit often starts to fall down, as noted in the previous examples. Google's depiction of Church and Market Streets in San Francisco, even on Android with its transit layer on, fails to show enough information to know where you catch can catch a bus, or even the direction of one-way routes. It makes more sense to consult a transit map than to try to figure out Google's. Ask for directions and things start to improve, indicating that Google knows more about transit that it puts on its map (such as the actual location of bus stops).
Transit information in iOS 6 Maps
With the move to its own Maps in iOS 6, Apple had the choice between maintaining Google as its exclusive partner for transit, or opening things up so that anyone could offer directions, for public transit or any other means of getting around. Apple's minimal user interface for Google Transit information in iOS 5 was sometimes serviceable, but fell short of the potential third parties could deliver with specialized solutions for specific areas or modes of transportation.
The situation for transit initially seems to be worse in Apple's new iOS 6 Maps: rather than showing only the major subway stops and only a limited number of bus stops, iOS 6 Maps typically shows transit stops as just a generic point of interest, rather like a post office or bank. In place of Google's fair to poor transit information, Apple is making it clear there is essentially nothing in iOS 6 to help you with public transportation, at least until you ask a helper app for routes.
In San Francisco, Apple still doesn't show bus stops. Surface streetcars and subway metro stations share a generic train icon (a step back). Apple gives every transit system (such Muni, Bart and Caltrain) gets the same generic train icon, or sometimes a generic bus icon that's also used to represent transit offices and other transportation-related points of interest. As with iOS 5, there are no route indications for anything other than ferries and (occasionally) the visible surface tracks of regional trains.
Apple actually refers to Caltrain as the "Southern Pacific Railroad" (which it hasn't been since 1985) in the select places it bothers to label train stations on Caltrain's route through Apple's own backyard of Silicon Valley. Tapping a transit label provides nothing more than a panel listing its street address (only a slight improvement over Google's stop labels in iOS 5, which couldn't even be selected), and sometimes, an empty Yelp review of the station.
Most subway stations in iOS 6 have multiple icons scattered around them, each with different names (Google's iOS 5 depictions weren't really much better). Near Apple's flagship retail store at Union Square, there are three icons representing what is the Muni/Bart Powell Street metro station in iOS 6. However, these icons don't pinpoint station entrances, not even the one that is integrated into the side of Apple's store. They're just clutter.
In iOS 5, Apple didn't show station entrances and subterranean passages here either, nor does Google in its own web and Android apps (despite the fact that Google does show such information in Japan; Google's Android app also shows multilevel indoor maps for nearby Nordstrom and Bloomingdales, but not the rest of the San Francisco Center mall that integrates underground with the Powell metro station and Hallidie Plaza. Wayfinding through the mall and multimodal subway station is probably more helpful that pointing out where children's clothes are in a department store.)
Google's web app (and Android app) labels three "stations" at Powell Station, two representing the underground subway systems and the other listing all the busses and streetcars that stop on the surface of Market Street. Clicking on one pulls up a list of all the routes and departure times.
This is better than Apple's complete lack of information, but if you didn't already know how to navigate the system, all this information is a bit of a mess to wade through. You'd probably want to ask for directions, and if you're going to do that rather than look at the map for guidance, you might as well launch a specialized app designed especially to provide detailed transit routes.
As noted earlier, Embarcadero enhances iOS 6 with both transit directions and a version of Apple's map with every transit stop pinned (there are eleven different stops represented on the block of Powell Station). Clicking on a stop shows every line that serves that particular location. This level of detail isn't necessary for most towns in the U.S., validating Apple's open, market-based solution to transit as opposed to Google's "one size fits all" approach.
Keeping it simple
Looking at the moderately complex transit options at the intersection of Church and Market in the middle of San Francisco (noted above), Apple doesn't even try to depict that there are two light rail lines erupting from market street tunnel, taking trains west and south over the top of the separate, multi-line subway station below the corner, which is also intersected by a historic streetcar going down the surface of Market. There are also two bus lines that intersect that corner. At night, the subway lines are replaced with three "Owl" bus lines.
Zoom in on Apple's Map, and you'll see four separate icons for transit stops on that corner, with nearly zero information about them. The bus lines aren't even depicted at all. Clearly, Apple's Maps is essentially worthless for transit location or wayfinding on its own.
Apple needs to clean this mess of pins up, but its lack of effort in depicting all the trains and busses converging on and under this intersection was also quite intentional. If you look at the "transit layers" provided by Google and Nokia, they are generally terrible, presenting just enough information to introduce confusing complexity, but not enough to find basic answers.
There are also significant errors in their transit layers: Nokia appears to show more than one subway stop (there is only one subway platform), while Google appears to indicate that there's only one set of bus and train stops on the corner. Rather than taking on the task of depicting global transit systems and doing a poor job at it, Apple delegated the entire task to its third party developers to create specialized solutions for different areas.
So in general, Apple's new iOS 6 Maps simply ignores transit, placing it well behind Nokia's and Google's half-complete presentations on their web app or in their native apps. But when embellished with third party apps, Apple's integrated transit options are often easier to navigate, nicer looking, more detailed, and present more alternatives for users to choose from.
Why Apple delegated transit to external apps in iOS 6 Maps
Apple pretty clearly ignored transit in order to release iOS 6 Maps, focusing instead upon driving directions. Apple had the luxury of doing this in part because there were already a wide variety of third party App Store titles designed especially for navigating the San Francisco Bay Area, or Berlin's transit system (everything, not just the two major train systems), or the various systems in Tokyo and Paris and nearly every other significant transit system.
As Google's Android app demonstrates, it's far better to present transit information in a specialized app than to try to overlay lines on top of a road map. That's why every transit system and metro operator creates a specialized map rather than just drawing transit lines over the top of a standard road map. The more complex a transit system is, the more abstracted its map will be to simplify navigation.
This is why Apple simply passes start and end points to a helper app to find routes. Had the company tried to create a complex plugin architecture for Maps to allow third parties to overlay interactive transit information directly within Maps, it would have drastically limited what those developers could achieve. It would also have complicated the business model of third parties, forcing them to turn their own apps into "In App Purchases" within Apple's Maps app.
Additionally, plug in architectures have often failed due to security or performance issues (think about the mess of web browser plugins that the industry has moved away from); instability problems (from the old System 7 Extensions to Mac OS X kernel extensions and drivers, adding installable bits of software creates problems that are hard to track down); and simply the difficulty of selling component features rather than "apps" (OpenDoc was a notable failure along these lines).
Apple's solution to delegate transit to its App Store developers via a simple passing of end points is pretty genius in its simplicity, but it isn't perfect. If you enter search terms in Maps, you need to resolve them fully before asking a third party to route between them. Otherwise, typing in something like "home" might end up with the app finding directions to Home Depot rather than your house. Fortunately, this is easy to do: just enter your end points and pick from the suggestions Apple provides (there's more detail on labels and searching for locations later) before asking for a route.
The new location search mechanism in iOS 6 Maps (backed by Apple's own place search service, which will be examined in detail next) also helps out third party mapping apps, many of which seem to have trouble finding locations on their own. Rather than struggling with this issue in every routing app you use, you can use Apple's location search and address completion to set up and verify end points before you hand them to an app for routing.
Existing third party mapping apps continue to work and simply get more accessible (and visible to users) via Maps' new App Store integration. Note that there are lots of transit apps that don't yet support iOS 6 Maps. For example, the highly rated Routesy works great in the San Francisco Bay Area, but you still have to find it manually in the App Store because it hasn't added Maps integration yet.
There are lots of other specialized apps that iOS 6 Maps won't recommend trying until their developers add support for being found automatically (which involves a tweak to the app and specifying where it can provide directions), including Berlin Fahrinfo, which not only finds S-Bahn and U-Bahn routes like Google, but can traverse the city's entire transit system in detail.
What Apple needs to address for transit in Maps
The new Maps has only been out a few weeks, but there's clearly some aspects Apple needs to correct even if it plans to leave transit directions to third parties. First, it needs to replace the mess of transit "points of interest" with correctly labeled station markers, and assign them icons matching their transit operator. This should be done just to make it possible to set up driving directions to metro stations, if nothing else.
Once that's done, you should be able to click on a station and see at least some indication of what it is and what agency serves it. The same type of information should be applied to ferry terminals and airports, minimally directing users to the operators' websites or apps. Transit isn't the only type of location marker in iOS 6 that needs to be backed up with useful information, but it's one of the most obvious improvements Apple can make.
Finally, Apple needs to flesh out indoor and subterranean map layers for malls, airports, train and subway stations within Maps. Even if third parties are calculating their own routing between locations, they should be able to use Apple's Maps to portray how to get to and navigate within station levels and platforms. C3, one of the mapping companies Apple acquired, had already started work on mapping out indoor locations, making it likely these will find their way into upcoming updates of Apple's Maps.
While a variety of map-related apps (and unrelated apps, such as Coverage, for checking to see if your cellular carrier has service where you're going) have already supported integration with iOS 6 Maps, there's a number of routing apps, transit agencies and other transport companies with apps that don't yet. Apple should work hard to light a fire under airlines, ticket vendors (like Expedia or Hotwire) and other travel sites to support iOS 6 Maps (and Passbook).
iOS 6 Maps in Transit
In the area of transit, Apple's new iOS 6 Maps app delivers virtually nothing on its own, but taps into third parties to provide better presented, more accurate information than iOS users saw in the previous version of Maps. Third party titles supply not just routes, but features like reminders, station maps, local transit maps, and other customizations suited to a particular mode of transportation or to the culture of a particular region.
In addition to conventional transit, Apple's open-ended routing system for App Store titles allows for all kinds of new types of routing apps, presenting a lot of yet untapped potential for creative app developers. And because apps register a geographic region they know how to route with the App Store (which Apple uses to recommend appropriate options to users), developers can create specialized apps for very specific areas (as small as a ski lift or theme park, or a large as global airline).
When Google brings its own native maps app to iOS, it will have to reach a far higher bar than if it had done so prior to the release of iOS 6. It may, however, attract users for whom Google Transit currently works well. Both Google and Apple can use competition in this area, and both need to enhance their ability to find and label locations on their maps, a subject the next segment will address in detail.
Introducing iOS 6.0 Maps
Using Maps Offline
2: Maps and visualizations
3: Transit directions
4: Map labels & local search
5: Routing & traffic