I Like OpenStreetMap (OpenLayers Plugin)
by Pascal Neis - Published: August 31st, 2012
A few months ago, Frederik Ramm posted an idea on the German OpenStreetMap mailing list about a new (stochastic) approach to OSM data quality assurance. You can find his original German post here. His idea was to create a way to allow users to “like” or “dislike” a specific region on the OSM map, a function that other popular websites such as YouTube or Facebook implemented to allow users to provide feedback to videos or status updates. For OSM this particular function could give some indicators or trends about the OSM map data.
I really liked his idea and in collaboration with Frederik I created an Open Source OpenLayers plugin. For all new readers: OpenLayers is an Open Source library which can implement a dynamic (OSM) map into more or less any webpage. One of our goals was to make the integration of the ILikeOSM plugin as easy as adding a tile server to your OpenLayers map.
The following image shows the plugin in more detail, including the “like” and “dislike” buttons to provide feedback about the area on the map.
An additional feature of the plugin shows how many users have been viewing the same area of the map that the current user is taking a look at. More precisely: How many other users have been viewing a similar area of the map within the past two minutes with a zoom level of +-3 to yours. All components of the plugin are Open Source and available on github. The database which saves the likes and dislikes is running on a German OSM Dev server. A database dump file can be downloaded on a daily basis. It is important to note at this point that no private data is saved in the database when a user leaves his or her feedback. The plugin only saves an independent, randomly generated user ID, the feedback type i.e. thumbs up/down, the zoom level, the layer name and the bounding box of the map section. A map view is generally not saved to the database until the user accepts to do so via a pop up window.
Do you like this feature?
It is quite easy to integrate it into your own webpage. Here is how it works:
1. Add the following line below your OpenLayers script-tag:
<script src=”http://ilike.openstreetmap.de/ILikeOSM.min.js” type=”text/javascript”></script>
2. Then add the following lines to your OpenLayers Controls:
new OpenLayers.ILikeOSM()
3. Styling
<style type="text/css">
div.olILikeOSM { position: absolute; top: 15px; left: 50px; padding: 7px; color:white; border-radius: 10px; background: rgba(0, 0, 0, 0.6); }
div.olILikeOSM a { color: white; font-size:12px; text-decoration: underline; }
</style>
4. That’s it!
What is the benefit of this plugin or of the saved ILikeOSM data?
Based on the saved likes, dislikes and map views we can generate some statistics to provide you with information about the number of people who like or dislike your particular area of interest. Maybe we can even see some prove of Linu’s law “given enough eyeballs, all bugs are shallow”; meaning in this case, that a larger number of users that check a certain region of the map, results in “better” OSM data quality. As a first prototype, I generated a static webpage which shows an example result map.
Further ideas?
The plugin could potentially be expanded with an additional textbox in which a user could leave a comment why the area is not well represented in OSM. This information could then be saved e.g. in OpenStreetBugs. Anyway, we think that the current version of the plugin could provide some very useful information. You will find a webpage with all information, examples and downloads here: http://ilike.openstreetmap.de As a first step we integrated the plugin into the OpenStreetMap Germany webpage.
Frederik will give a short talk about the ILikeOSM plugin at the upcoming State of the Map 2012 in Tokyo. If our proposed session abstract about another topic for the State of the Map 2012 US gets accepted, Dennis will try to present it there too.
Thank you very much for your feedback: Frederik, Jonas, Dennis, Sven & Marc
How is the user ID generated? So how/does it repeat? E.g. a hash of the IP address so I can say it’s probably the same person or computer.
Are likes/dislikes restricted?
Does it save time? I think this would be important/good, as the map changes over time. One could look at things like, most people disliked that town, until after the month I did nothing but map it.
Thanks.
I really like how you’ve focused on making it easy to add to map implementations. That will hopefully give it some traction and get data coming in.
The example map link didn’t work. result.html does (linked to from the index page).
What if an area is 2 likes and 8 dislikes, how will the result map look? Will it be clear to see that area has had more votes than an area with 3 likes and no dislikes?
Hi Gregory, thank you very much for your comment.
When you reload the webpage, you will get a new UUID. No IP address is used or saved. Nope, likes and dislikes are not restricted. Sure, server side saves the time of any like/dislike/view.
Link should works now (thx!): http://ilike.openstreetmap.de/result.html
All the best,
Pascal
Hey, that’s great! Really pleased to see this recently discussed feature now for real!
So, I really like this in principle: a simple plugin (can be used not just on osm.org), gathering very straightforward information. I’m worried though that like/dislike does not provide enough context to be actionable.
Specifically for such reports to be fed into a system like OpenStreetBugs just a little more information from the reporter would be useful.
Have you thought about this at all?
Hi Alex, thank you very much for your comment.
Yes, as I mentioned in the blog post, it could be useful to add a textbox which allows a user to provide information why she or he dislikes a particular area
However, so far the plugin is fairly new and sadly not many people have integrated it into their own webpages. The idea of the plugin is *not* to only retrieve information about areas that people dislike but also to get a general overview of where people are taking a look on the OSM map.
You can read a general discussion about pros and cons of the tool in the German OSM Forum (http://forum.openstreetmap.org/viewtopic.php?id=18101). Ist kein Ding für dich zu lesen, oder? 😉
[…] Pascal Neis publicó el plugin “I Like OpenStreetMap” para OpenLayers. Este permite al usuario el dejar un “Me gusta” o “No me gusta” de retroalimentación sobre la condición de cierta área en OpenStreetMap. Puedes encontrar más información aquí y en un artículo de blog aquí. […]
[…] Pascal Neis published an “I Like OpenStreetMap” OpenLayers Plugin. It allows the user to leave a like or dislike feedback about the condition of a certain area in OpenStreetMap. You can find more information here and in a blog post here. […]