Tuesday, September 7, 2010

The state of mapping APIs

The state of mapping APIs

Mobile, utility and server-side development will define the future of maps.

by Adam DuVander | @adamd | Comments: 1 | 7 September 2010

Guest blogger Adam DuVander is the author of "Map Scripting 101," an example-driven guide to building interactive maps on multiple platforms. He also serves as executive editor of ProgrammableWeb.


Maps took over the web in mid-2005, shortly after the first Where 2.0 conference. They quickly moved from fancy feature to necessary element of any site that contained even a trace of geographic content. Today we're amidst another location and mapping revolution, with mobile making its impact on the web. And with it, we're seeing even more geo services provided by both the old guard and innovative new mapping platforms.

Though the map itself continues to be important, other geographic data is having a larger impact. Providers are making this data, such as driving directions and business listings, available in increasingly open ways.

The old guard

This screen is from Marcelo Montagna's Custom Tile Layers with Opacity Google Maps demo.
A screenshot from Marcelo Montagna's "Custom Tile Layers with Opacity" Google Maps demo.
Google had the first mapping API and continues to keep its lead by adding useful new features. The company's Maps V3 was originally optimized for mobile, but in May Google made it the go-to platform for the web as well. With this move, Google showed that the mobile web is at least as important as the web we access from our homes and offices.

Another sign of mobile's influence on mobile appears in how Google is making some of its newest services available. Geocoding, driving directions and business listings are no longer confined to access via JavaScript. Instead, Google has made these all available via web services, giving developers the freedom to use the results in multiple ways, such as in a native smart phone application.

Yahoo has done little to expand its mapping platform in recent years, though it is almost as old as Google's. Due to Yahoo's more lenient terms, its auxiliary geo services, such as geocoding and static maps, get consistent interest from developers. And the company has made improvements, such as its next-generation geocoder, PlaceFinder, which it announced in June.

Yet, with Yahoo's tremendous potential, the mapping platform remains untouched. There's hope, given the recent deal with Nokia to provide maps on Yahoo proper. Both Yahoo and Nokia are mum on whether the deal will extend to Yahoo's developer platform, which makes me wonder if it will leave behind an industry it helped create.

MapQuest is oft-forgotten by developers, though it has made some of the largest strides with its mapping platform in the last year. A sixth version of its JavaScript API, written from the ground up, recently came out of beta. The new platform takes advantage of the web services that MapQuest has released. It's an attempt to make the thin client code even thinner.

One of these web services, Directions, made MapQuest a leader among mapping APIs. Launched a year ago, Directions marked the first time routing was available for free without being constricted with JavaScript-only access. Most recently MapQuest made the same service available built on top of OpenStreetMap data.

The newcomers

Bing may seem like a strange newcomer, since Microsoft has had a mapping API for some time. Previously called Virtual Earth, it was re-branded in 2009 along with the launch of Microsoft's new search engine. But it's not just surface-level changes. Microsoft has continued to launch new developer services with Bing.

In addition to the JavaScript SDK, Bing Maps can also be created with Silverlight, which makes for smoother transitions and animation. The Bing Maps site itself runs on Silverlight, and in June Microsoft launched the ability to create map apps, which can run on the main Bing Maps site.

CloudMade is a company built upon OpenStreetMap, the project creating a wiki-like map that anyone can edit. Using this open data, CloudMade's API gives you access to the Open Street Map tiles in a way that is more reliable -- and style-able -- than the project itself.

CloudMade's Map Style Editor lets you set colors for features, such as roads and parks. Then, make your own style available for embedding using the JavaScript API. CloudMade supplies much of the same power that super-users have when making map tiles server-side in a point-and-click interface.

Where have all the hackers gone?

With so many official mapping APIs available, it's easy to forget that the map mashup culture was founded upon hacking. Paul Rademacher created HousingMaps to show Craigslist rentals and homes for sale on a Google Map before Google had an API. Adrian Holovaty made Chicago Crimeto show crime data (which he scraped from the police bureau's website) on a hacked and embedded Google Map.

Rademacher joined Google in 2005, created the Google Earth plugin and now is part of the team that makes Google Maps. Holovaty's Chicago Crime project became part of EveryBlock, a local news aggregator that sold to MSNBC last year. Ironically, EveryBlock doesn't use any mapping API, instead opting for using its own minimalist map tiles.

The mapping hackers of 2010 have also gone server-side, away from the APIs. Using tools likeMapnik, they're styling their own maps, almost always with OpenStreetMap data. Sometimes it's for fun, like Brett Camper's 8-Bit City. And when an earthquake struck Haiti, map hackers responded.

Mapping the future

Mapping providers will likely make it easier to create your own customized maps. Already Google Maps V3 has simple styling via CSS-like code. And the process of creating OpenStreetMap tiles is greatly simplified by Tile Drawer.

But it's not just making the map itself that needs simplification, but storing and accessing the data on top of it. For years developers have had to set up their own databases of locations, which raises the bar for the type of developer who can use maps. Now there are tools like SimpleGeo to make the process easier. However, it would be useful to see these tools baked into the mapping APIs and we likely will soon.

Similarly, we need easier ways of expressing data without just adding more markers. Graphic overlays, such as choropleths (regions shaded based on data) and heatmaps, are not accessible to most developers. The processes need to run on a server capable of geo-referencing the graphic it outputs. And services available to do this tend to charge. The open governmentmovement is already tied closely to mapping. Hopefully projects for the greater good will fill in feature gaps where mapping providers don't see business opportunities.

Obviously, mobile will play a huge role in the future of mapping. Already we've seen an impact, yet there are far fewer sites taking advantage of the user's location than could. Expect the next generation of store locators, for example, to be much more exciting. But that's just the beginning.

No comments:

Post a Comment