OpenLayers Blog

All the maps that are fit to blog

OL3 Vienna Code Sprint Report

September 28th, 2012 by Eric Lemoine · 4 Comments

With the OL3 Vienna Code Sprint coming to its end now is probably a good time for a recap on what we’ve achieved. We have done a lot of work on consolidating the architecture and project infrastructure, and have also added new functionality along the way.

OpenLayers 3 side-by-side example

The above image is screenshot of one of our examples. This example includes two maps, a WebGL map and a DOM map. Both maps are synchronized, when one moves the other moves, when one rotates the other rotates, etc.

Infrastructure

We can now generate the API documentation using jsdoc3. The generated API documentation is very “raw” right now, and would definitely deserve some love. But we at least have a tool that is compatible with the Closure Compiler, with plans for even better compatibility in the future. The API doc is available online.

The Jasmine framework is used for testing. Jasmine provides a nice language for describing test specifications. In addition, Jasmine makes it easy to run tests “headlessly”, i.e. outside any browser window. This allows for Continuous Integration, which we feel is very important given out ambitions and expectations for the project. We need solid foundations from the very start of the project.

We rely on the Travis CI (Continuous Integration) service. Each time new code is pushed to the repository Travis fetches this new code, runs the linter, compiler, and the test suite. Breaking changes are thus immediately identified. Check out the OpenLayers 3 Travis page.

Architecture

We have worked on a flexible system for constraining resolutions and rotation angles. This system allows for easily specifying what the possible resolutions and rotation angles can be. The system is flexible to allow for other types of constraints in the future, for restricting extents for example.

We discussed and worked on the API again. We’re not ready to commit to a final API now, so we’ve focused our efforts on the low-level API we’ll eventually build on, providing conveniences as we go.

Functionality

OpenLayers 3 needs to work on touch devices. Panning the map now works correctly on Android and iOS. The pan performance still needs improving. The zoom control’s + and – buttons are responsive in touch devices, as described in this article and elsewhere.

The DOM renderer now displays interim tiles while new tiles, at a better resolution, are loaded. This prevents getting a blank map while tiles are loading. This change revealed bugs in the DOM renderer code, and required major refactoring.

The WebGL renderer supports map rotations, and we have starting adding this support to the DOM renderer. This is based on CSS3 transforms.

Thanks

We’d like to thank the Research Group Cartography of the Vienna University of Technology again. The venue they offered us turned out to be a perfect place for the sprint.

Note: if you’re interested in the development of OpenLayers 3, please have a look at the roadmap and subscribe to the ol3-dev google group.


Our task tracking tool for this sprint:

OpenLayers 3 Sprint Tasks

Tags: Uncategorized

4 responses so far ↓

  • 1 Open Layers 3 Code Sprint « Cesare Gerbino GIS Blog // Sep 29, 2012 at 3:10 pm

    [...] Open Layers 3 Code Sprint 29 settembre 2012 cesaregerbino Lascia un commento Passa ai commenti Si è svolto in questi giorni a Vienna, presso il Research Group Cartography dell’Università, un  code sprint su Open Layers 3. [...]

  • 2 Vienna Code Sprint – GeoServer Blog // Sep 30, 2012 at 4:11 pm

    [...] along is espresso machine. Also a congratulations to the OpenLayers team who made some awesome progress toward OL3. This entry was written by Justin Deoliveira, posted on 2012/09/30 at 4:11 pm, filed under Behind [...]

  • 3 http://sponsorthree.com // Dec 20, 2012 at 5:24 am

    OL3 Vienna Code Sprint Report, appears to be a very good
    title to give this particular article. Where exactly can I actually read even more pertaining to this?

  • 4 Code Sprint Vienna | Research Group Cartography // Feb 6, 2013 at 3:23 pm

    [...] Code Sprint Vienna Last week the Geoserver / OpenLayers Code Sprint Vienna took place at the Research Group Cartography. Read more and even more. [...]