[OpenLayers-Dev] OpenLayers for Mobile devices

Duchesne, Jimmy JDuchesne at korem.com
Mon Dec 20 10:29:28 EST 2010

Hi to everyone,
(If you think that I should address this email to someone in particular, or another mailing list, I'd be glad to know)

For over a year now, my team and I have been using OpenLayers thoroughly. We used it as much for internal projects as we did for our clients' projects.
Overall, we're pretty much satisfied with what you guys created. It's an extensive framework that dramatically improves the speed at which we can develop our applications.

That being said, for some months now, a new need has been brought to us by both our clients and our users. We need a framework for the different mobile platforms.

So far, we've seen some patches posted on the OpenLayers' Issue tracker that added limited support for the new events that come with mobile devices: touches and gestures.
Those patches were obviously just a start. They did show us that it was possible to use those new browser events, but as they were, they weren't much use.

Actually, we could have used them, but when you compared the behaviour they had with the one mobile device's users are used to, Google Maps App or http://maps.google.com,
it wasn't going to satisfy our clients.

>From that perspective, our goal was this one: To achieve map behaviour comparable to what users get with Google Maps App on iPAD, but with OpenLayers as the base framework,
and Google Maps as the base layer. At some point, the base layer shouldn't actually matter though.

Considering the lack of time that we had for this development, and the fact that we could not find any similar existing implementation, we finally went for some key features:
 - Pan the map with one finger. 
- Double touching the map zooms around where you touched the map. 
- Double tapping the map zooms out one zoom level. 
- Pinching the map stretches the map in real time, with a minimal amount of lag. 
- Had to use HTML5/CSS3 there. 
- While pinching, you can also pan. 
- If you pan or zooms the map, and your fingers leave the screen and touch it again quickly enough, you continue the current map manipulation. 
- Map panning or stretching, while your fingers touch the screen acts on all visible layers, whatever their type may be. 

It was very important to us that while the fingers move the map or stretch it, the expected result had to be visible in real-time, like it does with the Google Maps App on iPAD.

In the end, we actually could achieve all these goals. It means that we could get map behaviour comparable, or even better, to what one gets on http://maps.google.com.
We couldn't reach all Google Maps App behaviour because of our lack of time though.

As you may imagine, achieving these features in the amount of time that we had, we actually hacked quite a lot of OpenLayers code. We'll probably take some time
in the next few weeks to make it more portable so we can use it in all our mobile device projects, but doing all this hacking made us curious.

What are the current plans for OpenLayers regarding the support for most mobile devices? In our case, all those tablets coming on looks like a really promising market.
Do you guys plan on actually putting any effort in supporting mobile devices? Do you think that the current OpenLayers architecture can support such changes, or a new dedicated framework should be developed?
When are you planning on using HTML5/CSS3, since it makes the overall experience more pleasing to the user?

We're really curious to hear about what you guys think about all this.

More information about the Dev mailing list