A solid group of OpenLayers developers and power users have gathered in Lausanne to bring OpenLayers into the mobile age. Today (and yesterday) we spent some time getting organized and laying the groundwork for the week ahead.
Each of our examples got a nice, mobile friendly layout thanks to Antoine Abt (resize your browser with any of the examples or view one on a small device to see how the layout changes). Before the end of the week we should be able to have an index page that’s more usable on mobile devices as well. Our tests have become a serious hassle to run – given the number of test pages to load and the size of the uncompressed library (which we hope nobody uses in production). Pierre Giraud gave the test runner a boost by enabling it to optionally run with a built profile of the library (you can do the same with an OpenLayers.js file in your build dir and a mode=build query string in the runner URL). This gives us hope of running the tests without timeout trouble in more environments.
Eric Lemoine committed a fix for our drag handler to work with touch events. This gives us basic drag-panning navigation on touch enabled devices. Following this, Eric put in a nice fix to the click handler to work with taps and double taps. By default your maps will now have drag panning and double-tap zooming on touch devices. Thanks to Bruno Binet and everyone else for pulling these patches together. With these changes in, I made changes to event handling and a couple controls so that both mouse and touch events should be handled as expected. Now the out-of-the-box controls that OpenLayers ships with work similarly on touch- and mouse-centric environments (the overview map still needs some love).
Gaining better performance for limited resource devices is a major goal of our work this week. Andreas Hocevar did some promising investigation into alternatives for positioning & resizing tiles to get continuous or animated zooming. In addition, he’s overhauling the map dragging code flow to avoid a whole lot of unnecessary work (he promises us things will be 10X faster by morning – hope you get some sleep Andreas!). Also on the performance theme, Marc Jansen put together a patch that will let us optimize and minify the stylesheets that load with OpenLayers apps.
Chris Schmidt landed mid-morning and hopped right into event handling research on the fat stack of devices he hauled over the Atlantic (we think his originally scheduled flight couldn’t take off due to excess baggage). Chris is working hard to make sure we’ve got broad coverage in terms of device support.
Adding to the slick navigation features, Stéphane Brunner finished up a patch to support “kinetic” panning. When this is in, your maps will gain momentum while drag panning and will gradually slow when you release them (though you can always put on the brakes with a light touch). Bart van den Eijnden worked with building apps with Sencha Touch and assisted on other features. Frédéric Junod did some cleanup and paired on other patches.
In the R&D department, Jorge Gustavo Rocha and Jennie Fletcher organized on offline browsing and offline editing capabilities – a key part of the mobile map story in areas with limited coverage. Cédric Moullet explored handling of device motion events, and Igor Tihonov worked on … ack, I forgot to catch up with Igor at the end of the day – apologies! Benoit Quartier worked on testing and offered logistical support.
Sincere thanks to our generous sponsors for making this week possible. It is a real pleasure to get to be here together making this happen (finally!). And to Claude Philipona and Cédric, big thanks for pulling it all together.