Since last Monday, seven developers from various companies have been working and debating in the rooms of camptocamp in Chambéry, France, to design the next major version of the popular JavaScript map library OpenLayers.
Specifically, the following developers came together for this “Code Sprint OpenLayers 3”: Mike Adair (DM Solutions Group), Andreas Hocevar (OpenGeo), Marc Jansen (terrestris), Éric Lemoine (camptocamp), Tom Payne (camptocamp), Petr Přidal (Klokan Technologies) and Tim Schaub (OpenGeo). In addition to core OpenLayers developers, the team also includes developers from WebGL Earth, OpenWebGlobe and Proj4JS.
Since the developments are far from complete, this interim report cannot go into detail in all areas; much is currently changing, including the fundamental design of the new library. On the first day, the infrastructure for development and the libraries to be used were defined and coordinated. A main focus was also on the new user interface (API) that OpenLayers 3 will offer. In the future, it will probably be much easier to write readable and maintainable application code that exploits the full functionality of OpenLayers.
On Tuesday, significant developments were made to both the internal and external API, and some hurdles were overcome in configuration and development work. Some classes (such as a base Map class, a Loc class that will replace the unpopular OpenLayers.LonLat class, and geometry classes) were prototypically developed. Work on the renderers – which later will probably include a WebGL renderer for 2.5 & 3D in addition to SVG, VML and Canvas-based renderers – was conceptualized and started. Code that is fully unit-tested already exists for application events (Events) and vector transformations.
The goal for Wednesday was to create a running example with a renderer, one or two layer types, and some controls. As of 10:00 PM local time, we have not yet succeeded. Many of our initial developments were discarded and re-conceptualized several times.
The goal of redeveloping OpenLayers from the ground up was to create a solid foundation for future developments, so we deliberately did not shy away from any discussion, which of course initially kept us from pure development.
In the meantime, we agree that we have developed a basic setup and class and API design that is sustainable for the future of OpenLayers. From tomorrow on, we will be working at full speed on implementations of our common ideas and we hope to be able to publish the demo application and its code on Friday or Monday.
Our work takes place primarily in the following git repository: https://github.com/openlayers/ol3 Further information is also available in this blog post: https://groups.google.com/forum/?hl=en#!forum/ol3-sprint