OpenStreetMap iD editor

The new Javascript OSM editor iD is working on live data now. So I made an edit, adding a pond I know is there by tracing it on Bing. Works pretty well, it’s an impressive JS app. Interactivity is not great, need 30fps+ responsive user feedback to really feel right. But it’s an early alpha, I’m sure they’ll get there.

The CSS looks home rolled other than a stock reset. Here’s the third party JS libraries they use:

<script src=’js/lib/lodash.js’></script>
<script src=’js/lib/d3.v3.js’></script>
<script src=’js/lib/sha.js’></script>
<script src=’js/lib/ohauth.js’></script>
<script src=’js/lib/jxon.js’></script>
<script src=’js/lib/d3.typeahead.js’></script>
<script src=’js/lib/d3.geo.tile.js’></script>
<script src=’js/lib/d3.size.js’></script>
<script src=’js/lib/d3.trigger.js’></script>
<script src=’js/lib/d3.keybinding.js’></script>
<script src=’js/lib/d3.tail.js’></script>
<script src=’js/lib/d3-compat.js’></script>
<script src=’js/lib/queue.js’></script>
<script src=’js/lib/bootstrap-tooltip.js’></script>
<script src=’js/lib/rtree.js’></script>


Notice what’s missing? A typical slippy map library like Leaflet or OpenLayers. He’s using D3 instead. I hadn’t realized how far along d3.geo.tile has come. Works pretty well on iOS too!

In addition to D3 there’s Lo-Dash (an Underscore alternative), SHA and OAuth (for login), JXON (for XML parsing?), Queue (for async), Bootstrap tooltips, and the RTree data structure for spatial lookups.