Hacker News new | comments | show | ask | jobs | submit login
Porting 600k Map Views to OpenStreetMap/MapBox (doublemap.github.io)
106 points by erjiang on Apr 30, 2014 | hide | past | web | favorite | 37 comments

> The main feature that we can’t get anywhere else is Street View, something that nobody has come close to replicating.

Some people are working on it http://wiki.openstreetmap.org/wiki/Mapillary ;) (but yes right now not an alternative)

Yep, Mapillary is pretty cool! But in terms of approaching Google Street View, not close yet. I suppose if I get a dash mount for my phone I can contribute some data, but it'd just be along my daily commute.

If anybody comes close, it'd probably be one of the big mapping companies. An armchair OSM contributor can map out a whole city without leaving the desk, but street-level imagery requires systematically visiting each street.

So I tried typing "SE1" to get south london and all I can see is a map.

That application requires a TON of personal information, including:

* Full access to all my accounts, and ability to set passwords

* Read my entire USB storage

* Record all activity on my device

Not tried the app (it doesn't work on my phone) but you can upload images taken externally if they have certain characteristics (exif gps etc)

I worked on an app that drew streetview-like imagery from Nokia. I think that's http://here.com , based on the company http://earthmine.com/ they acquired.

It's quite interesting, I saw an advert in a local newspaper for a streetview driver today. I don't think that google will have a monopoly for much longer in this sphere.

>the main motivation was simply cost. Google doesn’t publish its enterprise maps pricing, but it’s orders of magnitude more expensive than MapBox.

> the main motivation was simply cost. Google doesn’t publish its enterprise maps pricing, but it’s orders of magnitude more expensive than MapBox.

hmm, something is weird there. It doesn't say how often the 600k hit their site, but presumably that's per month ("We have hundreds of thousands of hits per month"). Google Maps allows 25k map loads per day for free, which is already 750k for a 30 day month.

Even if you allow for overages that would cost money, it still doesn't add up. If you double that to 1.2 million per month, that's $12.50 a day, or $375 a month, which is still under the $499 a month Mapbox "Premium" Plan[2] (which only gets you 1 million loads per month).

And that's not even touching enterprise pricing, which presumably has a discount for volume (it's really dumb that gogole doesn't publish those enterprise prices though).

[1] https://developers.google.com/maps/usagelimits/

[2] https://www.mapbox.com/plans/

You can't use google maps at all without a business account if the maps (and content) aren't 'publicly available'. If you're using their maps for internal apps or you charge for access to your app, you have to use a business account. Business accounts start at $10k a year and scale up from there depending on usage and other factors.

Dealing with Google was rather weird, but the actual negotiations were handled by someone else in my company.

I think Google's enterprise pricing was targeted towards, say, a long-haul trucking company or a corporate GIS department where the viewers are just some managerial or analyst staff. In cases like that, if they charged the same rates as they did for CraigsPinSquare, they'd make a few pennies. Thus, the solution would be to discriminate pricing between high-volume consumer-facing usage and low-volume internal "enterprise" usage, especially since internal "enterprise" usage wouldn't give Google Maps much publicity.

Google decided that we fell in the "enterprise" bucket, and enterprise sales typically involves private negotiations with pricing. It's very possible that we got wildly different pricing than other companies.

We're still open to using Google products in general, but OSM is more fun.

Google Maps has no free tier for commercial use.

I've been involved in negotiations with Google for their mapping service. I can't give specifics, but will say we settled on another commercial service that was two orders of magnitude cheaper for our use case.

(In our case OSM wasn't a viable option, as mapping data in my country is very poor).

If you want to do something that isn't covered in the free usage license, you have to pay before you are hitting the usage limits.

OK? There's nothing here that isn't covered by the free usage license. Check out http://tufts.doublemap.com/map/ for instance. Looking through the code, it's all pretty standard stuff.

Is there any hard data as to the quality of Google Maps versus OSM?

yes and no. In terms of street coverage, the general idea is that OSM is pretty good (in large part because both Google and OSM source map data from the US census) and both have active communities that improve that data.

Google is much better when it comes to both places and addresses, but OpenStreetMap is improving rapidly and you can get great coverage in most big cities. Also in theory you could source the POI data from some other place and overlay that on top of OSM street data.

Google used to be much better in terms of ease of use, but with players like MapBox that has changed dramatically. Its so pleasant these days to use OSM to make a mapping product -- try out cartodb.com or mapbox.com just for kicks.

And the big plus of OSM of course is that you can pick and choose what data you want to render, what you want to do with it (my fav new example is this scooter routing engine that takes into account the hills in SF while routing --> https://www.mapbox.com/blog/launching-smart-directions/)

As for "hard data" -- here are a couple of studies that compare OSM with private map providers

- http://eprints.nuim.ie/2476/ - http://www.spatial-accuracy.org/system/files/img-X07133419_0...

It also differs dramatically between regions, since the local governments may have varying amounts of data publicly available.

For example, many cities in OSM have virtually perfect address geocoding because some random person pestered their local government to openly release a dump of addresses and their coordinates, whereas Google is just guessing at house numbers.

OSM does not rely on imports that much, many cities have fantastic geocoding potential because local mappers poured their sweat and local knowledge into it. ;)

I think you'll find that without a data import, address data tends to be forgotten by many mappers. Compare Chicago, which did have a bulk data import, with San Francisco, which did not. In Chicago, every house number and building is mapped, but in SF you'd have to interpolate the numbers.

You can compare the maps here, but that of course ignores a huge amount of "hidden" data:


Then there was a small analysis in Germany in 2012, but obviously a lot has changed since then.

http://www.mdpi.com/1999-5903/4/1/1 (Or just have a look at the images on the German article: http://neis-one.org/2012/01/osm-germany-2007-2011/)

I've been using OSM with first Cloudmade and then Mapquest for an internal project at work and my experience is mixed.

The most notable difference in terms of quality that I have personally noticed is that the geocoding on the OSM side of things is of wildly variable. The Cloudmade v1 Geocoding API was simpler and returned better results that the Cloudmade v2 API, but the data returned in v1 had less detail that the data returned in v2.

Mapquest offer a licensed data geocode and an open data geocode. The licensed data geocode, as you would expect, returns better results than the open data geocode but still fell short of both the ease of use and accuracy of the v1 Cloudmade geocode.

The kicker in all of this is that Cloudmade recently changed the way they choose to do business. That meant that my internal application wouldn't generate enough hits to the the Cloudmade servers to continue to keep the account open. We were literally in a situation of wanting to throw a small chunk of money at Cloudmade but because we couldn't meet a seemingly arbitrary lower limit we couldn't, abandoned Cloudmade and moved everything across to Mapquest.

Also I'd just like to call out that Leaflet.js is a fantastic library to use and allows us to do everything we want to do to the maps with an absolute minimum of fuss. We are looking at adding internal floor plans to some of the maps and I managed to throw together a PoC in leaflet.js that is looking like it would easily support this with a minimum of fuss.

Outside of the US, OSM is almost completely useless. I live in a major Australian capital city, and there's vast areas of the city without any geocoding information at all.

If you just want to display a vague map of a major metropolitan area it's ok. But as soon as you need to actually find an address, you're out of luck.

The address coverage in OSM for much of Europe is superior to the U.S. The road network is also pretty solid there.

Especially Germany and the U.K., but there are other active communities.

Also, in the U.S., the Nominatim instance setup on openstreetmap.org mostly falls back to address range data imported from Tiger. That data isn't really part of OSM. It gives great coverage, but there are some limits to the accuracy.

And therein lies the problem. For some areas of the world OSM data is excellent.

But the internet is global. It might work correctly for you when testing, but somebody in another country finds your app utterly useless.

Even if Google Maps has worse data for some areas than OSM, globally it's far more consistent.

Given that there's far, far cheaper options for mapping than Google while still providing excellent data (ArcGIS comes to mind), if you're building a commercial product with an international market in mind you're still better off using a commercial GIS solution

> But the internet is global. It might work correctly for you when testing, but somebody in another country finds your app utterly useless.

This appears to be based on a misunderstanding; the OSM project isn't an app released by a company, instead it's a global community creating a map dataset, somewhat similar to Wikipedia.

If the data in your country or local area isn't good, then please consider becoming a contributor to OSM and edit the map. By making the OSM better, you can help solve those consistency problems and improve the experience for the growing number of people who are using it - whether directly or via companies like DoubleMap.

I think you misunderstood my post. By 'app', I mean the app built by a third party company that makes use of OSM.

Being a contributor is nice and fuzzy, but not a commercially viable option. If my customer says "I can't find this town on the map", I'm hardly going to tell them to drive out and map it themselves.

It's only 'a' problem. Which is sort of a meaningless objection, but people looking at OSM are asking "Is this good enough for what I want to do?", not "Is this the best for everything?".

Who knows what will happen in Australia, but a thing I see happening in the U.S. is people starting to use OSM for whatever and then investing effort in fixing their immediate problems. So there is some sort of hand wavy tipping point that has been reached.

But a lot of apps are just used in a certain area. For example transportation apps.

And when it comes to websites there are even more of those.

Not to mention that more and more apps use data that only OSM provides.

Not really on-topic (and pretty unconstructive, admittedly), but I wanted to complain about OSM for a long time, so I'd better do it now (largely in hope somebody explains me that I'm wrong and missed all the thing).

The OSM is really important project. Like Wikipedia or GNU in the older days, maybe even more. And like everything open-source, community-driven, it's strongly dependent on how many people use it. Because, obviously, you are more likely to be wishing to contribute if you are using it yourself and, preferably, depend on your friends using it. And OSM is the kind of project that pretty much everyone potentially could contribute to, because local knowledge is invaluable for that kind of stuff. So caring for usability for everyone should be the primary goal, I'd assume.

Yet OSM is kinda "b2b" in terms it's important for stuff like Foursquare running, but is close to unusable for the common user without stuff like MapBox, Foursquare and such. Because, really, what "common user" cares for? Where to find café nearby, how far is it from point A to point B (usually in some comparatively small area) and only very little information about the whole world (like major cities, country borders). More importantly, whatever information is there, he want's it to be usable and accessible. That is, being fast to navigate, ability to make marks on your local device, accessible in offline. Ideally, of course, you'd also want to have seamless integration between offline and online modes, ability to share your local maps, there's always something more to wish. So I feel that existence of good clients for all platforms and ability to extract information you need for them easily (without any self-education for that purpose at all, really) are absolutely must-have.

Well, alright, we cannot expect somebody else working for free to provide every single service we want after all. If you want something done, do it yourself, right? It's how the open-source works, really. And that's the real problem: documentation is horrible, both for "common users" and "power users" (potential developers). There's quite impressive in sense of size wiki, but it's totally awful in sense of usefulness. It's very hard to get going if you are completely new to project and don't know anything about cartography. There's basically only one thing I want to know when I find anything new: how to use that thing. That is "Getting started" guide, followed by links to "What's next?". OSM wiki has something called "Beginners' guide", but it must be a joke, as the only thing it does is explaining how do I actually edit that map, and that isn't really "using". (Again, if we don't think of it as b2b only, which I explained why I think it's wrong.)

The same time there're articles on very wide range of topics, like existing software clients or "Why open data is important". But you aren't guided to stuff like that. And they are even worse. For example, why'd you care for existing clients? Right, you want to find one for your device. There might be several bests, sure, but neutral-point-of-view-style listing of a hundred of them does only a little better than nothing at all. If you want to know what you have to do (or know) in order to implement your own one — it's even worse. The typical github project probably has better API overview than OSM (and usually even includes some domain-specific knowledge you probably don't have if you are new to the field, which is absolutely natural in case of cartography).

If you want to see an example of good thematic wiki, look at ArchLinux wiki.

In the end is simply all comes down to limited resources. Should I edit the wiki or contribute to the map. Should I develop something that makes it easier contribute the data or fix errors or should I make a nice application for average users.

Overall I think OpenStreetMap is better of having small projects like WheelMap, OpenFireMap, SeaMap, CoinMap etc. because there is less or even no competition at all. Many of these things can simply not be done the same way with google.

What you are suggesting is competing with google maps with basic services, where OpenSreetMap is worse of at best sometimes equal. Why should someone use OSM to get from A to B when google and every navigation system already do that perfectly?

Wikipedia is both a website for editing and creating a free encyclopedic, and for providing accessing and reading to that content.

OSM is not both. It is a project for editing and creating a free map database over the world. The site, the community and the wiki is all geared towards attracting editors and making the data they contribute as high quality as possible.

It would be good if we had a project to make it easy to use and develop application on top of the free data OSM provides. Its not OSM goal for now, so the spot is open for anyone who feel they can make a difference.

You could have spent this time improving the docs...

Not really. If I thought I can you can be sure I would, because it's what I usually do (and that's why I prefaced my post as being unconstructive).

But I can't for the several reasons. First off, I don't have enough domain knowledge myself yet to improve the docs or even confidently develop for OSM. And, yes, I'm planning to correct this omission, but not even soon enough.

The second reason is, that b2b model I pointed out to be wrong in my opinion is the very idea of OSM at this point. You can see claims quite often, that stuff I mentioned isn't important, because OSM is the data, not the service. That's why I've written this post, explaining why I think ignoring "the service" part is hurting "the data" part, in hope that somebody from OSM community would read it.

On the docs: there's a good project underway at learnosm.org to write proper beginners' docs. As soon as they're ready for primetime they'll be linked from osm.org (I believe there's a current issue for that), though they're not quite there yet.

On the "b2b" thing: I think that's a mischaracterisation. It's not "to business" specifically, it's to anyone who wants to make use of the data. There are already OSM-powered consumer-grade mapping sites for particular verticals (I run one for UK cyclists, http://cycle.travel/map) and more are on the way.

But it's not true that osm.org goes out of its way to avoid being a consumer service. It may not be the prime focus (and nor should it be) but there's a lot happening on the user-facing side of OSM: a significant redesign last year, lots of stylesheet improvements underway, and routing going live in the next couple of months, for example.

>[...] people using our real-time bus tracking to find out where there bus is.


I don't seem to get the point of this post? Seems rather basic and trivial to rewrite google maps code to fit in with another library like leaflet or mapbox. What is something new or innovative done here? Also it seems like you guys jacked a lot of what transloc does http://duke.transloc.com/

If anything this seems like a weak attempt to garner some attention for doublemap. I mean look at the link, its to github.io sure, but is there any actual code. No. Then why not link to doublemap's blog? Why create this false sense of open community (by linking to a github page) and sharing if you're not really sharing anything. You're basically detailing what you did in text, but in no way do you share your code.

Yeah, seems simple. First, get a map of the entire world. Then, allow complete customization of every detail of it. Then, serve it at cloud scale.

The point here is that "Google" is no longer synonymous with "map" and that there is finally some choice in the space. This post by DoubleMap shows that going with an alternative at scale is more than possible.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact