We’ve officially wrapped up the OpenLayers Mobile code sprint. This week has brought a very welcome infusion of energy to the project. I think it is safe to say that all involved have felt we have achieved the goals we set out for ourselves at the start of the week. In addition to significantly enhancing the capabilities of the library (and perhaps more importantly), the project got an infusion of new lifeblood. We want to express our gratitude to to Cédric Moullet and Claude Philipona for organizing the event, and thank those who sponsored the event for bringing us together:
- Canton of Zürich
- Canton of Neuchâtel
- Canton of Jura
- City of Uster
- City of Vevey
- Geoportail Luxembourg
- Swiss Open Systems User Group
- Swisstopo & geo.admin.ch
Today we were able to able to pull in a number of enhancements that had been cooking for the past few days. In order to improve map navigation performance, OpenLayers now limits the pixel to map translations that occur during dragging. This provides a noticeable gain on both older devices and large display touch devices (iPad). Give one of the mobile specific examples a try on your touch device to see how it feels (and compare to an example from our last release to see how far we’ve come).
While OpenLayers will still not have any dependencies to external libraries, we want to showcase how well OpenLayers works with existing frameworks for mobile application development. The jQuery Mobile and Sencha Touch examples show how mobile specific frameworks can be used in building applications with the newly developed OpenLayers functionality.
A typical OpenLayers application will use a small fraction of the functionality available in the library. In order to build responsive OpenLayers applications, it is important to assemble a limited build of the library – with just the components that your application needs. In the spirit of practicing what we preach, we’ll soon be hosting examples of limited builds for the mobile examples, and the OpenLayers build tool will allow you to use the Google Closure Compiler to create your own minified builds.
As demonstrated in the examples above, we’re also excited about the inclusion of pinch-zoom functionality in OpenLayers. On multi-touch devices, you can now smoothly zoom around in your OpenLayers applications by using the touch navigation control (this will likely be enabled by default in the standard navigation control before the next release).
In addition to the features already in the OpenLayers trunk, this week produced a number of enhancements we’ll be working into the trunk over the upcoming days. Soon (likely before you start work on Monday), we’ll have support for editing vector features on mobile devices. In addition, we bring in a vector layer protocol for local storage of vector features while offline.
I think it is fair to say that for all those involved, this week’s OpenLayers code sprint was a resounding success. Our only regret is that the week has come to an end – and we hope to find another opportunity to come together again. We’re particularly grateful to our sponsors who assumed some risk in bringing us together without any guarantee about what we could deliver. In the end, we’re proud of what we have accomplished, and want to thank the sponsors for helping us bring mobile support to the broader community of OpenLayers users.