“Get off my lawn!” — How Maps + JS Have Changed

Occasionally, I think back to when we started writing OpenLayers, and some of the tools we didn’t have when I started programming JavaScript. Then I feel old, and start to yell at kids to get off my lawn.

In May of 2006, when we started working on OpenLayers:

  • Internet Explorer was 63% of w3cschools web traffic. (Today? 19%.)
  • IE7 wouldn’t be released for another 5 months.
  • SVG support was only available via the Adobe SVG plugin, and only in IE on most platforms.
  • Safari was at version 1.2/1.3.
  • Firefox was not yet at version 1.5, which would bring in SVG support, but disabled by default.
  • There was no Firebug. “Real men use Venkman!” (I believe that as part of the rewrite of OpenLayers that we eventually shipped, we did bump into Firebug 0.3/0.4. 1.0 wouldn’t be released for another 6 months.)
  • jQuery was still 6 months from being released.

In addition to the JavaScript world changing, the Maps world has changed. Although I was originally interested in OpenLayers because of OpenStreetMap, there wasn’t a lot there back in 2006. That isn’t the only way the world has changed:

  • When OpenLayers started, OpenStreetMap had approximately 2000 registered users. (Today? 500,000.) At the time, there was no regular dump, and the map that existed was… ‘interesting’ 🙂 (Mapnik wouldn’t come until later.)
  • Installing PostGIS on most platforms was… touchy at best. (Things like pgRouting, though coming into existence around that time, were far from practical to install, even more than a year later.)
  • ka-Map and Community Map Builder were still the de facto web mapping software.
  • There was no one in the open source world caching XYZ tiles yet. (The FOSS4G discussion on tile caching in September of 2006 was the first real discussion of that.) TileCache was developed later that year — after a discussion where we all agreed that WMS-style strings were a good idea, and then someone left the room and immediately started talking about TMS 🙂
  • All map rendering software was somewhat difficult to install at the time — things like GeoServer’s current wonderful web UI were… not as complete then as they are now 🙂
  • Nobody knew how to render things in ‘Spherical Mercator’ so that they matched up to Google. Spatial Reference codes like 41001, 900913, 3857/3875 were all quite a ways down the road.
  • Software that hasn’t changed much: GDAL/OGR. GDAL was an extremely useful tool in 2006 — pretty much the same as it is today. Although GDAL has certainly grown many features, and more complete over the years, it still has the same general shape as it did back then. 🙂

(Other things OpenLayers predates: Twitter, open access to Facebook.)

As you would expect, the world has changed. People sometimes comment that OpenLayers feels a bit long in the tooth — something I can certainly sympathize with. I have always prioritized maintaining API compatibility for existing applications over any thing else in my personal investment in OpenLayers: the most important thing to do is not to break existing applications. This stability has allowed many people to use OpenLayers, and I don’t think that violating those principles is a good thing. (I am happy with the solution that has grown over the past 6 months in OpenLayers — moving code to the “deprecated.js” file is a great way to let people maintain backwards compatibility with a path forward as well.)

I’m happy to have other people take the principles created by OpenLayers over the past half decade and do something exciting with them. Competition is good. Options for applications are good. The fact that OpenLayers effectively sucked all of the air out of the room from 2006-2010 was not good for the rest of the web mapping world: without competition, it’s really hard for any innovation to take place.

But the fact that a piece of JavaScript software written in a world before jQuery, before Firebug, while OpenStreetMap was still getting off the ground, is still useful today — I think that’s a testament to what OpenLayers became, and I’m happy to see what it has become and continues to be for many people.

3 Responses to ““Get off my lawn!” — How Maps + JS Have Changed”

  1. Tom Carden Says:

    Great post Chris, kudos for sticking with it! OpenLayers is principled, thorough and comprehensive – truly ambitious in spite of its initial conditions.

    Any thoughts on the next 6 years?

  2. crschmidt Says:

    The next 6 years will be filled with technologies I don’t understand written by people better than me at everything they do, solving problems I can’t comprehend with solutions that seem impossible.

    Then again, that describes what I would say for just about any open source project I’ve ever worked on. 🙂

  3. ShenZ Says:

    Openlayers is great! It’s been helping me since the day I started GIS development.
    The code is so well organized and the architecture is just beautiful! I started creating my own map lib a year ago with GWT/canvas, and found that is definitely not easy. Every time I got stuck I will ask myself: what will Openlayers people do?
    you guys are just amazing! Thank you so much. Please share more about the legend of openlayers!