There is a lot of debate and hype surrounding the different approaches to developing mobile applications and the situation is constantly changing making it difficult to reach an objective decision on which approach best suits your organizational needs.
We were determined in this study to find out for ourselves which technologies and frameworks worked best for our needs by actually trying out each technology in a series of small experiments designed to tease out the pros and cons of each approach and particular issues related to delivery of maps and geographic data.
To evaluate the native application approach we used an open source mapping client framework called Route-me [4]. For the Mobile Web evaluation we used the popular OpenLayers [5] AJAX framework and the Layar [6] and Wikitude [7] augmented reality frameworks for testing Augmented Reality. For investigation into hybrid application we experimented with the PhoneGap [3] framework and our own purpose built hybrid application.
2.1 Summary of technical evaluation experiments conducted
The technical experiments conducted as part of the technical Evaluation Strand of the work are summarised in the table below. Fuller explanation of each follows in the narrative.
Experiment name
|
Detailed in
|
Section
|
Page
|
2.1.1 Testing OpenLayers with iPhone and Android
|
2.1.1
|
12
|
2.1.2 Integrating OpenLayers and HTML5 Canvas
|
2.1.2
|
13
|
2.1.3 HTML5 local database SQL database and OpenLayers
|
2.1.3
|
16
|
2.1.4 GeoLocation API first impressions
|
2.1.4
|
17
|
2.1.5 3d objects for AR browsers
|
2.1.5
|
18
|
2.1.6 Building a native mapping app with Route-me
|
2.1.6
|
21
|
2.1.7 Automatic geo tagging of photos
|
2.1.7
|
22
|
2.1.8 A Phone Gap for a Map App
|
2.1.8
|
23
|
2.1.9 HTML5 Cache
|
2.1.9
|
25
|
2.1.1 Testing OpenLayers with iPhone and Android
Summary - A web browser based mapping client using the OpenLayers mapping API. Modifications made to the OpenLayers event handling so that iPhone and Android touch screen gestures can be used for panning and zooming on the map.
In this evaluation we looked at how we could best deliver Digimap content to a mobile web browser on touch screen device such as iPhone or Android. As these devices have built-in mapping applications such as Google Maps the device owners will expect a similar level of user experience, in particular fast panning and zooming and a touch screen controls.
Most web based mapping clients such as Google maps use a JavaScript (AJAX) codebase to create a rich user experience on a web browser, where a “slippy map” effect is achieved by caching many surrounding tiles in the browser to reduce calls to the server as the user pans and zooms around the map. The Digimap service does not use the Google API as the terms and conditions are too restrictive. Therefore Digimap ROAM uses an open source JavaScript (AJAX) library called OpenLayers [5] instead. This popular API provides a similar rich user experience on desktop browser to the Google offering but does not impose restrictions. Crucially, the current version of OpenLayers does not support touch screen events and is not optimized for much smaller smartphone screens. So to provide a version of Digimap on mobile web browser we needed to investigate how the OpenLayers mapping API could be adapted to provide touch screen support and improved performance on mobile device such as iPhone.
Searching through the OpenLayers mailing lists we soon found a way of applying touch gestures to panning and zooming and posted a blog on this technique. There is no doubt that the OS Mastermap product is ideally suited for the smartphone touch screen display, with details such as house numbers rendering very crisply and adding greatly to the user experience ( see screenshot below). Freely available applications such as Google Maps look barren in comparison and it is clear that providing such a level of detail will greatly enhance the potential for mobile mapping in an educational setting.
We were disappointed though with the responsiveness of the panning. The Goggle API achieves a highly responsive drag effect where the map moves with your finger just like pressing down and shifting a piece of paper on a table. The OpenLayers pan method in comparison is slow and jittery with a significant delay between the finger movement and image shift. Interestingly this problem only becomes apparent when OpenLayers is running on an iPhone type device. On a desktop the responsiveness of OpenLayers seems to be more than adequate, presumably due to the much greater CPU power. Given many other mapping applications based on Google’s API have raised user expectation this is a problem we need to redress if we are going to deliver a browser based mobile map application. As we already use OpenLayers API as the core mapping technology in other products such as Digimap ROAM, some investment in contributing to the project is justified. Our blog on this topic was one of the popular we posted (over 1000 views) suggesting there is a wider interest in using OpenLayers on mobile. Therefore we will work on improving the OpenLayers API panning and zooming functionality to provide the same experience as Google API offers, but without restrictions imposed by Google. Based on this evaluation, we recommend the EDINA take a leading role in providing an Open Source unrestricted browser based mapping solution for mobile.
Screen shot of OS Mastermap
on iPhone Safari browser.
Share with your friends: |