iD editor for OSM

✍ @tmcw / MapBox

let's start with a demo


is a pure-javascript, complete map editor for OpenStreetMap designed to be easy to learn and simple to use

we* wrote it in the past ~7 months at MapBox under a Knight News Grant


John Firebaugh, Ansis Bramannis, Saman Bemel-Benrud, myself, and many volunteers


usability 111 + design 37


iD is all details

it is miles deep

Open Translations Work

Better than 'open source' sometimes. We have tons of eager translators, high-quality translations.

With the smallest Locale Framework Ever

toGeoJSON: Tiny libraries that work

Just convert GPX and KML to GeoJSON.

Pure JavaScript

a relatively major js application: 10,258 lines

let's see how we did that

'JavaScript is not maintainable'
lol no, JFDI

Code Quality



this one may surprise you

Frameworks: ZNOPE

No Backbone, Ember, Angular, or whatever you kids are all talking about nowadays.

Not 'built on' Leaflet, OpenLayers, Modest Maps, or whatever.

We don't even use jQuery

'You're not going to need it'

Built agile. We created simple patterns for the UI and algorithm chunks that an editor required. d3 provided the SVG-bridging and data-assigning glue.

Libraries for the needs we have

rtree.js for indexes.

d3.*.js for d3 extensions.

togeojson.js for GPX parsing.

kmeans.js for orthogonalizing.

Libraries for the needs we find

ohauth for low-level OAuth.

osm-auth for high-level auth.

osm-stream, leaflet-osm, osm-gpx are beings on their way to becoming.

Everything as a library soon

var id = require('id')

thanks! /