Feature

Developers prefer Apple's iOS Maps SDK over Google Maps

article thumbnail

AppleInsider is supported by its audience and may earn commission as an Amazon Associate and affiliate partner on qualifying purchases. These affiliate partnerships do not influence our editorial content.

An in depth comparison of the development frameworks behind Apple's Maps and Google's finds pros and cons in both, but highlights Apple's as more mature, less limited and recommended for most third party app developers.

Apple's Maps: new, different and… more mature?

When Apple launched its own new Maps in iOS 6, many observers compared the new app negatively against the existing Maps app of iOS 5, unaware that both shared much of the same plumbing.

The "new" iOS 6 Maps replaced Google's mobile maps as the source of its mapping data and search features; Apple's loss of Google's server-side expertise in mapping meant that the new iOS 6 Maps introduced some obvious and problematic location errors and downgraded its search efficiency and accuracy in ways that were impossible for users to miss.

These flaws were obvious enough to sap much of the excitement away from the novel features that Apple had added to Maps, including 3D perspective with building models, Flyover for adding depth to satellite views (depicted above) and turn by turn navigation.

While many reviews of iOS 6 complained about the new Maps app, developers had a different initial expectation: rather than seeing negative changes on the client end, they looked forward to positive changes on the back end.

That's because the new iOS 6 Maps retained the maturity of Apple's Map Kit software development kit (SDK), which Apple had refined over the last five years of iOS. This SDK is used by third party developers to incorporate map features into their own apps.

Prior to iOS 6, Apple's Map Kit helped developers to integrate Google's mapping data into their products. After the launch of its own mapping services with iOS 6, Apple's SDK shifted the entire iOS app market to using Apple's own maps rather than Google's, but its underlying feature set actually improved.

After the surprise launch of iOS 6 Maps, first announced at Apple's Worldwide Developer Conference last summer, Google scrambled to bring two products to market: a standalone iOS Google maps app for consumers to use as an alternative to Apple's, but also a new Maps API for iOS developers in order to compete for attention among developers who incorporate maps into their apps.

"Enormous advantages" of Apple Maps SDK

A new report by Michael Grothaus of Fast Company profiles the experiences of two UK developers in integrating support for the rival Map SDKs of Apple and Google in their own apps, noting that Apple's maturity, completeness and unlimited all offer "enormous advantages" over Google.

Unsurprisingly, Apple's more than five years of experience in refining iOS' developer frameworks for working with map data give it a strong edge over Google's brand new SDK.

Among the SDK features that Google lacks in comparison to Apple's Map Kit is support for "map markers, polylines, and overlays," the report noted, explaining, "Tiled overlays are common in apps to display a layer of information, such as weather, crime, and even earthquake data, over a map."

Lee Armstrong, developer of the flight tracking app Plane Finder (shown above), was cited as noting, "we can’t do some of our more advanced features in Plane Finder like gradient polylines, chart overlays, or smooth moving planes with animations. We have some complex tiled overlays in Plane Finder: These are aviation charts that actual pilots use (shown below). With the Google Maps SDK these tiled overlays are just not possible right now.”

Other features unique to Apple Maps SDK

Bryce McKinlay, a developer behind the London transit app Tube Tamer (below), specifically noted the sophistication Apple's Map Kit provides in creating animated, draggable markers, something that's currently impossible to do with Google's SDK.

Apple has used animated, draggable markers in Maps since Steve Jobs first demonstrated "pin drops" to locate multiple search results for Starbucks at the 2007 debut of iPhone (just before clicking one to place a crank call from the Macworld Expo stage; below, starting at 4:50).

"The fact that annotations in Map Kit are UIViews also means that animation and other effects can be applied easily using Core Animation, which isn't currently possible with the Google Maps SDK approach"In contrast, McKinlay explained that Google's iOS maps SDK requires that markers must be configured in advance with static images, adding "this is less flexible and less efficient for apps with a large number of markers."

McKinlay also added, "The fact that annotations in Map Kit are UIViews also means that animation and other effects can be applied easily using Core Animation, which isn't currently possible with the Google Maps SDK approach."

Other handy features unique to Apple's Map Kit is "follow user location" and "follow with heading" modes. McKinlay explained this "automatically moves the map to follow the user's location, and rotates the map according to the compass heading," adding that "this is very helpful for pedestrian navigation. It is possible to implement this manually in Google’s SDK, but it adds extra development time/effort."

Apple Map Kit SDK offers better performance than Google's

McKinlay also pointed out that "the current version of the [Google] SDK does not perform as well as Map Kit. [Google's] GMSMapView's frame rate is capped at 30fps, which is lower than typical for iOS and results in a slight but noticeable ‘jitter’ effect when panning and zooming the map. "Drawing of labels and POIs sometimes lags behind if you pan quickly, even on a fast device like the iPhone 5.”

Armstrong observed similar issues in Plane Finder after creating versions of the app to use either Apple’s maps or Google’s. “Overall," he stated, "the Apple maps feel nice and work really smoothly, even with thousands of planes plotted simultaneously.”"The Apple maps feel nice and work really smoothly, even with thousands of planes plotted simultaneously."

Because Google's Maps for iOS are so new, it experiences "a lot of crashing," Armstrong said. "This is getting better with each release but we needed a fallback to users contacting support. Apple Maps are also much faster as there are methods that allow geospatial queries to the map to get at certain data very quickly, these are not in Google Maps yet so there is a definite lag to the Google Map for us.”

Apple's Map Kit more mature, easier to use, more likely to stick around

Apple has been working on Map Kit for the last five years, and there's a experienced, sizable community build around using it. This ecosystem of users is useful in helping other developers to work through issues as they run into them.

Armstrong noted "the immediate benefit of Map Kit is that it is very easy to drop in some code to your app and that it is a very mature API."

He added, “the Map Kit maturity is important to us because there is a great resource of websites, forums, and peers to turn to if you have any issues. Because it is a very commonly used API there are a lot of people to turn to. We have used Apple themselves to help out with some issues. With Google Maps there are only a small numbers of developers pioneering implementation so we don’t get this.”

McKinlay added, "Because it's built in to the iOS SDK, it's quick and easy to get up and running. Adding a map to an app can be as simple as dragging and dropping it into a view in Xcode's Interface builder. And because it's part of the iOS SDK, apps using Map Kit will most likely keep working with future versions of iOS with little or no effort on the part of the developer."

The report also added that "Apple’s Maps work across most iOS devices and iOS versions with little effort needed from the developer."

Google's maps SDK neither freely open nor free for unlimited use

Google's Android is often described as offering a free and open alternative to Apple, but its Maps SDK is neither of these. The SDK is closed source that's proprietary to Google, and any developers that use it to add Google Maps to their own apps must incorporate the code into their app, wasting storage space on the device.

Apple's Map Kit is part of iOS, so every third party app that uses it shares the same code, rather than packaging a copy of it in each app installed on a device.

More problematically, Google enforces limits on the number of map transactions third party developers can use, and the company requires a valid credit card on file for developers to access its mapping APIs.

"If you run out of quota," McKinlay stated, "they just start denying requests for the rest of the day, which breaks your app— which leads to angry users. You can of course ask them nicely and hope that they'll raise your quota— but all of this is stuff you don't need to worry about with the Apple API," which has no limits on location search transactions.

Developers don't have to pick one mapping SDK

Due to the strengths and weaknesses of each, some developers might want to use both, as Armstrong does in Plane Finder, although he said he doesn't really recommend that approach.

After running into serious issues at the launch of Apple Maps related to missing and incorrectly placed map labels, Armstrong saw his app plunge from five stars down to three in App Store ratings. "Twenty percent of our daily support emails were also on this issue," he noted.

But moving to Google Maps wasn't a straightforward panacea. In addition to being slower and buggier, the missing features in Google's SDK meant that "the [app] features we would have to remove would take our app back a year or so in development and we would also have a backlash from our user base."

Moving to Google's SDK, or implementing in in parallel with Apple's Map Kit, is only something the two developers recommend in specialized cases where Google's search or mapping detail offers a significant advantage, such as the more detailed coastlines that are important in Armstrong's Ship Finder app (below).

"The Google SDK is clearly not designed to be a drop-in replacement for Map Kit,” McKinlay noted. “Its API is more closely related to the existing Google Maps Javascript and Android APIs. The parts of an app's code which interact directly with the map need to be rewritten. Map Kit offers the better developer experience at present. It's more mature, seems to perform better, and is easier to set up and use. There's also a lot more documentation, sample code, and tutorials available for Map Kit.”

Additionally, the report noted that Apple's new transit routing system in iOS 6 Maps (depicted below) "continues to generate significant download traffic" and that "the release of the Google Maps iOS app late last year does not appear to have significantly affected the level of referrals to the app from Apple’s Maps."

Future plans for mapping

Both Apple and Google are actively working to refine their competitive maps offerings. Apple still needs to improve upon its location data and searching savvy, two strengths of Google that attracted Apple into its partnership with the company in the original Maps.

Conversely, Google needs to improve upon its expertise in building and maintaining platforms. Since launching Android as a competitor to iOS several years ago, the company has seen remarkably little progress in wooing away developers or in building a functional, self sustaining software market.

Despite the various licensees of Android now claiming a collective majority in smartphone market share compared to iOS, Apple still dominates virtually every measure of actual use, from video consumption to mobile web browser share to app and media sales and even online shopping statistics.

More details on where Apple and Google plan to take maps should appear this summer as Apple hosts its WWDC event detailing iOS 7 and Google outlines its future plans at its own I/O developer conference.