ScienceDirect Development of a Mobile Mapping ...

11 downloads 183376 Views 1MB Size Report
Development of a Mobile Mapping Solution for Spatial Data ... Galaxy Tab 2 running Android OS 4.0) app, taking advantage of device capabilities (e.g. File ...
Available online at www.sciencedirect.com

ScienceDirect Procedia Technology 16 (2014) 481 – 490

CENTERIS 2014 - Conference on ENTERprise Information Systems / ProjMAN 2014 International Conference on Project MANagement / HCIST 2014 - International Conference on Health and Social Care Information Systems and Technologies

Development of a Mobile Mapping Solution for Spatial Data Collection using Open-Source Technologies C. E. de Abreu Freire a,* , Marco Painhoa a

ISEGI, Universidade Nova de Lisboa, 1070 -312, Lisboa

Abstract Information technologies and sport resources aid the potential to transform governmental organizations services, and play an important role in contributing to sustainable communities, respectively. Low-cost tools combining a user-friendly and customized data interaction (forms, mapping, media support) are still in an early stage. Recognizing benefits — efficiency, effectiveness, proximity to citizens — that M ozambican M inister of Youth and Sports (M JD) can achieve employing a low-cost data collection solution, this paper describes the development and implementation of a Geospatial Information System (GIS) mapping application (app) — m-SportGIS — under Open-Source (OS) technologies, customizing an evolutionary and incremental methodology. The app development embraced the combination of mobile web technologies and Application Programming Interfaces (APIs) (e.g. Sencha Touch (ST), Apache Cordova) to deploy a native-to-the-device (Samsung Galaxy Tab 2 running Android OS 4.0) app, taking advantage of device capabilities (e.g. File system, Geolocation, Camera). In addition to the integrated Web M ap Service (WM S), a tile caching procedure was carried out to produce a network-communicationindependent (offline) Tile M ap Service (TM S) regarding IT infrastructures limitations in several M ozambican areas. m-SportGIS is currently being exploited by M ozambican Government staff to inventory all kind of sport facilities, which feeds a WebGIS platform to manage M ozambican sport resources. ©©2014 Authors.Published Published Elsevier 2014 The The Authors. byby Elsevier Ltd.Ltd. This is an open access article under the CC BY-NC-ND license (http://creativecommons.org/licenses/by-nc-nd/3.0/). Peer-review under responsibility of the Organizing Committees of CENTERIS/ProjMAN/HCIST 2014 Peer-review under responsibility of the Organizing Committee of CENTERIS 2014. Keywords: Mobile Mapping, Spatial Data Collection, Hybrid Software Development, MVC, T ile Map Service, Sencha Touch, Apache Cordova

1. Introducti on Governmental organizations produce critical data about the nation’s population, economy, services, and resources. These institutions are coming under increasing pressure, both societal and financial in nature, to develop and implemen t Information and Communication Technologies (ICTs), inside and surrounding their administrations, supp orting a new paradigm of society and modernization, committed to electronic public service [1]. In these last years, a remarkab le success in the use of hand-held mobile computers — smartphones, tablet PCs, Personal Digital Assistants, and notebooks — has been noticed for data collection in diverse fields [2]. Data collection is recognized as one of the most *

Corresponding author. Tel.: +351-213-828-610; fax: +351-213-828-611. E-mail address: [email protected]; [email protected]

2212-0173 © 2014 The Authors. Published by Elsevier Ltd. This is an open access article under the CC BY-NC-ND license (http://creativecommons.org/licenses/by-nc-nd/3.0/). Peer-review under responsibility of the Organizing Committee of CENTERIS 2014. doi:10.1016/j.protcy.2014.10.115

482

C.E. de Abreu Freire and Marco Painho / Procedia Technology 16 (2014) 481 – 490

time-consuming, expensive and error-given tasks in any data inventory project. Hand-held computers hold the potential to reduce the logistic burden, cos t, and error rate of paper-based methods for data collection [3]; however there is a lack of appropriate, customized and technical low-cost solutions. The notable continuing growth of the Information Systems (ISs) industry creates opportunities and challenges for interesting software apps developments and implementations [4]. In this sense, Geographic Information Systems (GIS) and the electronic public administration services come into a common sphere. GIS data systems easily store and manipulate, combine, and interrelate spatial real world objects (e.g. political boundaries, roads, facilities locations) [5]. Spatial data articulated with other data sources provides efficient means for planning, decision-making, and management many aspects of socio-economic activities which take benefit of a spatial dimension [6, 7]. Mobility is a revolutionary phenomenon and constitutes the most important current trend in Information Technologies (ITs), specially, the category of low-cost solutions [8]. Mobile computing systems and hardware are changing the way mobile mapping technology is being used by moving GIS from the desktop into the user’s hands, providing flexibility in data acquisition, data accuracy and integrity — validation in real-time reducing errors and process costs — more information with much less time and effort, faster communication protocols, and high productivity, making the mobility an enticing aspect of GIS [9, 10]. Tablet PCs integrating location-based services, digital orientation, wireless communications, and sensing technologies, become capable low-cost hardware solutions for geospatial data collection directly into a digital environment, boosting field data collection in a more expeditious and operational way, and improving the data processing and availability, including its transfer and storage in databases, in a range of scientific backgrounds [11, 12, 10, 13, 14, 15]. Mobile web development relies on a collection of technologies that are opening its way into the mainstream of computing, allowing to write web apps — accessed with a browser — that are as visually rich and capable as the so-called native apps [16, 17]. One of the advantages of this recent trend of mobile devices is the availability of feature-rich and fully standards-compliant mobile web browsers (e.g. Chrome, Safari), supporting most of the current standards like HTML5, Cascading Style Sheets (CSS), Javacript (JS), and other standard technologies, such as offline storage, network connectivity, and multimedia [8]. The success of any mobile web app depends on two factors: design and performance. For a better performance, technology should benefit of offline capabilities (storage, caching), animations on the UI, and backend services that retrieve and send data via RESTful or Web Socket endpoints [18]. Every network connection can often experience limitations with online services (backend services), therefore working offline gets into consideration for the mobile development characteristics. Solutions integrating web mapping take more advantage if put up offline map services; this approach is based on caching technique which uses map servers (e.g. MapServer, GeoServer) tools to pre-render tiles in response to user requests [19, 20]. Leverage Web Storage (aka. Local Storage or DOM Storage) to store objects in the background can yield an alternative and better UX (User Experience) — twofold conception: the more that can be done on the client-side, the fewer trips across the network and the better UX provided [21, 22, 17, 23]. Client-side storage relies on data passed to the browser’s storage API, which stores it on the local device, relying on a simple structure of key-value pairs (items) like any JS object [24]. New apps depend upon the data storage in some sort of persistent action in order to be useful, handling it with either a server-side database or HTML5 storage capacity: Web Storage, Web SQL Database, Indexed Database, and File Access [25]. The client-storage security relies on the same-origin principle (Web’s security model) — the store is tied to the origin of the site that creates it (domain/sub-domain), so it cannot be accessed by any other origin. Stores and origins are associated 1 : N, where N is the number of distinct storage mechanisms represented by the current browser/o rigin [26]. The power of the apps comes from people’s ability to contribute and create content. Managing data and displaying it on a mobile screen employing user interface (UI) framework widgets constitutes a prime way to users interact with data. Optimizing mobile labels means take advantage of new input types, attributes, and masks to make mobile input easier than ever, choose the handy layouts for sequential, non -linear, and in-context forms, and tune input field (e.g. form) using mobile device capabilities [27].

2. Background of Enterprise Software Application Development Information management is critical to innovation in enterprise environments, and it represents the process of creating, storing and sharing information and knowledge to improve organizational and business performance, expertise and competitive intelligence [28, 29]. Enterprise software development and its quality control assessment are potential expensive depending on the scope of project’s tasks, therefore setting up a proper software development, and testing and maintenance environment is very important to success. Software development can be very complicated without an

C.E. de Abreu Freire and Marco Painho / Procedia Technology 16 (2014) 481 – 490

appropriate framework, architecture and software model. A useful implementation methodology can benefit software developers to communicate with users/stakeholders, consolidating the design before starting developing, take a better requirements analysis, optimize production costs, speed up the development, and make the code flexible/reusable [30]. Information Systems Development Methodologies (ISDMs) have been encouraged by organizations to structure, plan, and control the process of developing new software [31]. There are a variety of methods variants adopted in IS developments, and software engineers struggle to select an appropriated one to work for all development situations [32]. Nevertheless, they keep a basic structure relying on a feasibility study, system investigation, systems analysis , systems design, implementation, and review and maintenance (Figure 1). Methodo logies are step-by-step procedures to carry out the development activities in different phases of a System Development Life -Cycle (SDLC), organizing coherently sets of behavioral and technical conducts, prescribing how to address development problems with the required functionality and quality [33, 34]. Prototyping and agile methodology are based on the idea that planning all requirements and contingencies in all but trivial system developments is impossible; pre -implementation system analysis (specific functionalities required of the full proposed system) may not capture all relevant requirements, and these eventually will emerge when the system is designed in detail and well implemented, conducting to higher project costs [35]. The growing adoption of thes e methodologies was empowered by tools that speed up the development process, allowing developers to rapidly create pseudo -working models (small-scale versions) of the full proposed system in order to gather stakeholders feedback about the system’s design, functionalities, user-interface (UI) , and so on [36]. Figure 2 depicts a broad comparison between the main software developments philosophies here referred. An Information System Development (ISD) implementation should involve a socio -technical analysis for j requirements q determining which model and methodology best satisfy in effectiveness the pproject [37].

Fig. 1. SDLC phases (adapted from [38]); Fig. 2. Waterfall vs. Agile methodologies (adapted from [39]).

3. GIS Mapping: Related Work Potentialities of modern mobile mapping devices have been addressed for electronic geospatial data collection in diverse fields, however it is still in an early stage, and low-cost solutions combining an intuitive customized and rich form with mapping are not yet spread. Examples of mobile GIS are noticed in biology (e.g. epidemiology, ecology) and environment monitoring (e.g. EpiCollect 1 , Magpi2 ); researchers and public health physicians employed handsets to inventory and manage data such as soil contaminated sites, plant and animal species, being submitted directly into databases or statistical packages through Internet service, which further could be linked to geographic information, performing spatial analysis and planning [13]. The IBM Almaden Research Center has designed an iPhone app — Creek Watch 3 — to monitor watersheds; users with the phone’s GPS enabled take a photo and submit crucial pieces of data based on observations [40]. The Center for Embedded Networked Sensing (CENS) at the University of California, Los Angeles, have also developed an Android app to locate invasive species in Santa Monica mountains, by making geo -tagged observations and taking photos, to study the spread of habitat-destroying invasive plants and animals (What’s Invasive) [41]. 1

epicollect.net magpi.com/login/auth 3 creekwatch.researchlabs.ibm.com 2

483

484

C.E. de Abreu Freire and Marco Painho / Procedia Technology 16 (2014) 481 – 490

Computer scientists at the University of Washington have launched an Android app — Ultra Mobile Field GIS — to acquire georeferenced data of public facilities (e.g. bicycle stands and their capacity, car parking lots, and illegal garbage dumps) to assist administrators in maintaining the campus lands cape and managing the student facilities [42]. Docking special sensors to handsets have also been conducted to run environment -centric apps (e.g. Haze Watch 4 ) in Australian urban spaces; these “mobile stations” afford air quality monitoring collecting environmental parameters as geodata related to air quality or noise pollution. Mobile stations collect less accurate measurements than settled stations, but are able to recognize mobile unpredictable events [43]. Field workers in coastal zone management studies in England took spatial data acquisition including media information — digital photograph to provide visual record of the study area — to determine shoreline movements (erosion) over time [11, 44]. Air quality management systems, regarding emissions of air pollutants and greenhouse gases, have been built thanks to air pollution software apps, combining GIS field tools and Internet, by the United States Environmental Protection Agency, and Californ ia Environmental Protection Agency, to produce GIS-based emission inventories [5, 45]. Attending to accuracy of raw data collected, mobile GIS is adopted in geological field mapping (information of stratum, rock, and structure) by for geologists and geoscience users (petroleum and mining industries) to provide geo logical materials for territorial planning, mineral exploration, and engineering geology [46, 12, 15]. In forest management inventory, where conventional data surveying and processing methods need high -intensity labor force since large amounts of data are implicated, forestry science workers paid close attention to mobile mapping combined with remote sensing images, vector maps and grid maps. Mobile GIS supports a modern electronic governmental forestry service — e-forestry — integrating automatic mapping and warehousing [47, 48]. In the context of participatory planning projects (e.g. National Spatial Data Infrastructure (SDI)) US citizens employed handsets to register, mapping, and tracking almost anything that was conceivable with spatial analysis relevance; mobile devices were perceived as “networked mobile personal measurement instruments” [49]. 4. Development of m-SportGIS Regarding the nature of mobile web-based project characteristics, such as evolving requirements, both in size and functionality, evolutionary and incremental software development approaches were considered an affordable solution to the m-SportGIS development; yet, based on [50] considerations, due to governmental organization behavior, it was assumed that a certain amount of method tailoring was required, in order to make use of any methodology, or indeed a combination of several methodologies. As well, [51] identified that the majority of the companies implement hybrid or customized approaches as the most adopted methodology in systems design, followed by traditional SDLC, and Rapid App Development (RAD), or agile development methods. In order to pursue the deployment of a customized and low-cost mobile GIS solution to the MJD, an app was developed under OS and hybrid (native-to-the-device) technologies, offering a user-friendly layout which integrates a customized data form addressed to the sports arena (150 form fields broken-down into field technician, sport facility, sport activities, technical specifications, and general characteris tics information) and a map interface (coordinates and online and offline map service). Technicians input data directly in the client platform, which is validated by models, and stored (primarily) locally (HTML5 Web Storage: LocalStorage). Saved data is su itable to be sent to a central spatial database (server-side) using communication technologies (Asynchronous JavaScript and XML (Ajax)). The spatial database implemented in the server-side communicates with a WebGIS platform — “Atlas Desportivo Nacional de Moçambique”5 — that attempts to visualize, query and analyze data, and to create statistics and reports of sports facilities and services. The WebGIS was performed in a post-processing project, which conducted to the conception of a Sport SDI. The full integrated system is broken-down as shown in Figure 3. The first large project phase took into account principles of Structured System Analysis and Design Method (SSADM) (a waterfall-based method) methodology [52], contemplating a basis software implementation analysis to set up requirements and plan an IT strategy. This analysis considers the hard and soft skills required to implement the software solution, the type of end-users, costs estimation, and the risk involved within the app development life-cycle. Meetings between stakeholders (Mozambican Government) and software developers and managers (ISEGI) took place to discuss and plan main project guidelines. Further, a technological analysis was conducted, based on outcomes from stakeholders feedback, and current low-cost ICT (mobile and web technologies) available in order to fulfill the

4 5

pollution.ee.unsw.edu.au atlasdesportivo.mjd.gov.mz

C.E. de Abreu Freire and Marco Painho / Procedia Technology 16 (2014) 481 – 490

485

objectives effectively (Figure 4). A second important phase contemplated the design of an app model attending to the specifications defined, based on the prototyping model (RAD and agile methods), in order to get low-cost and fast product functionalities regarding the client feedback. It was launched an iterative operation consisting in the construction of a mock-up of the proposed app (model-driven) (using OS Pencil Project), presenting a suitable outlook of the final product with its general functionalities, minimizing risks of incomplete or inadequate issues. The next significant phase was focused on the creation of the full app, driven by the last model-driven solution, using OS resources, based on web and mobile technologies, and web mapping services. An app beta version was built, tested against faults, and refined in the laboratory and then in -situ, considering the infrastructure and environments that users can encounter during its usage (device: Samsung Galaxy Tab 2 7” and 10.1”; Operation system: Android version 4.0). The technical documentation (manual) was also written, and users training were performed in Mozambique. Later, a refined official app version (Figure 5) and its documentation were launched in the Mozambique governmental platform. Currently, a maintenance period is being taken, with users support, technical corrections, updates (e.g. new functionality), and improvements, to commit incremental value to the product.

Fig. 3. Integrated system architecture; Fig. 4. Software used in m-SportGIS production.

4.1. Technologies for the m-SportGIS Deployment 4.1.1. Coding Approach A mobile device such as an Android tablet PC constitute today a convenient client computing device with mobilit y and context-sensing capability. Designing for the mobile domain forces developers to embrace those constraints (e.g. small screen sizes, light memory, changes in networking conditions), leavening the creation of innovative mo bile experiences supported by new capabilities on the web browsers [27, 53]. The mobile channel leads us questions such as which code approach, i.e. native vs. web vs. hybrid, can be appropriated, which testing platforms, libraries, and resources support have we available to a proper development [8]. The deciding factors are ultimately user’s requirements and expectations from the mobile solution, developer’s capabilities, project specifications, available to ols, administrative and security concerns, budget, time-lines, and long-term goals. Native code-based apps run “natively” granting the best access to the capabilities of the device (e.g. Camera, File system) assuring the best UX. Nevertheless, developers cannot reuse the UX from one device when they are building an app for another; they require the skills of specialists in specific mobile vendor SKDs and IDEs to deal with its own conventions which its users expect (e.g. Apple’s iOS demands Objective-C; Google’s Android relies on Java) [54, 55]. The mobile web, from a user’s perspective, falls essentially in web content accessed from a mobile device; from a developer’s perspective, the mobil e web it is a group of best practices, design patterns, and new code. [56]. Modern handsets support a WebKit -based rendering machine engine browser (e.g. Chrome, Safari, Opera), supporting HTML5, and adapting the latest W3C specifications [18]. An advanced mobile web app can play a really interesting role for a portable platform. Device manufacturers do the work of carrying on the web platform to their device, ensuring a good UX that is consistent with other web apps on that device. Using JS APIs web developers can today access to mobile native APIs within the browser [55]. Hybrid mobile apps are a type of mobile apps developed using both web and mobile technologies. A Hybrid app is part native app, part web app (aka. native web app). It is effectively a web app, but hosted inside a native -to-thedevice app container. It is installed, launched and used like any native app, and can access a variety of device APIs, but it is written with web technologies HTML5, CSS and JS [56, 57]. The m-SportGIS development was proceeded under this approach, taking advantage of a mobile app platform (Apache Cordova API (aka. PhoneGap API)), acting as a web-to-native wrapper, providing a JS-based API (cordova-

486

C.E. de Abreu Freire and Marco Painho / Procedia Technology 16 (2014) 481 – 490

JS) to interact with native device capabilities (e.g. File system, GPS/Geolocation, Accelerometer, Media/Camera); it works in parallel with a Software Development Kit (SDK) of the target p latform (Android SDK). This feature is very important since when the app leads with multimedia capture (through PhoneGap Camera), HTML5 offline storage capacity is limited to 5 MB [58] (enough for alphanumeric data), and digital data requires extra physica l storage (device or external memory card); thus, with PhoneGap we can manage data storage and retrieval. Indexing a record to photography — destinationType: Camera.DestinationType.FILE_URI — guarantee that multimedia data physically stored is explicitly called when that record is requested. 4.1.2. MVC Architecture The Model-View-Controller (MVC) is an architecture pattern and describes a way to organize an app code through a break-down of concerns, i.e. the separation of business data (state of the app) (Models), from user interface/presentation (Views), functionality/business logic handling user actions (Controllers) [59, 60], interacting between then according to user actions. In a client-side web-based app, the MVC architecture is implemented with the HTML and CSS shaping the view, the JS becomes the controller, and the objects (containing the state of the UI) make the model [59]. A typical MVC structure is depicted in 6. Proxies are used by stores to handle the loading and saving of the model data (LocalStorageProxy in client-side); data objects transfers are done based on JavaScript Object Notation (Json) data standard format ({”attribute” : value}). Readers are used to load data into a model or store [61]. Every object-oriented framework or toolkit (e.g. ST, Backbone, AngularJS) has conveyed its own sort of MVC, showing the infinitive flexibility of software, and the adaptability of design patterns to different situations and environmen ts [8]. According to experiences reported by [62, 55, 63, 56], ST and jQuery Mobile (jQM) , both free solutions, constitute the most serious client-side framework options to mobile web development, noticing that jQM seeks to work on a broad range of mobile devices, and ST targets the most operative ones — iOS, Android 2.3+, and BlackBerry 6 — holding a robust MVC code base, enhanced support for touch events, and great API documentation. m-SportGIS was developed using ST (version 2.0.2) JS framework (WebKit -based). Ext JS (version 4) library is the basis of ST. However, ST including several key features, such as a set of Graphical user interfaces (GUIs) components and a particular gesture library, highly optimized for touchscreen devices. ST holds a large UI library widget (design and functionality) inspired by iOS (Apple mobile Operation System), hardware-accelerated engine based on CSS, and complex customizations [64, 8]. Figure 7 shows the Ext.app.Application file which defines the set of Models, Controllers, Profiles, Stores and Views that an m-SportGIS consists of.

Fig. 5. m-SportGIS (container view); Fig. 6. MVC structure ([8]).

4.1.3. Location Services Location-based services (LBS) and mapping make up very useful categories of modern mobile apps. The mobile device’s geographical location can be gathered using the W 3C Geolocation API (or using third-party APIs from carriers (e.g. OneAPI, BlueVia)) [56]. The Geolocation API represents an object able to programmatically obtain position information of a device, since it has external location data (GPS), cell tower triangulation, and/or Wi-Fi data available [67]. Its implementation in a WebView (mobile browser) takes the navigator object in JS and passes us the geolocation property (window.navigator.geolocation), allowing us to interact with that interface through its methods ( e.g. getCurrentPosition(), watchPosition()) [68]. This methods, together with OpenLayers API for map visualization, were implemented in functions of the Map Controller of the m-SportGIS, benefiting of the Cordova Geolocation API, allowing location aware on the WMS.

C.E. de Abreu Freire and Marco Painho / Procedia Technology 16 (2014) 481 – 490

487

Fig. 7. m-SportGIS code portion (MVC); Fig. 8. T ile cache hierarchy (adapted from [65, 66]).

4.1.3.1. Tile Map Service (TMS) Online WMS provides us dynamic (and updated) services. m-SportGIS presents a Google Maps and an Open Street Maps layer (WMS). Nevertheless, network communication can occasionally not be available, depending on the IT infrastructural environment. In several Mozambique areas there are important network limitations. In order to guarantee that m-SportGIS can always afford a mapping service (statically at least), creating cached tiles (aka. slippy maps) as a parallel map service solution (offline layer) was fundamental. Server side caching for web map services stores and manages map image tiles (square images) produced by map servers (e.g. TileCache, MapTiler, GeoWebCache, MapBox), responding to client requests directly with cached tiles. TileCache is an implementation of a Tile Map Service (TMS) (or Web Mapping Service-Cached (WMS-C) (Figure 8). The caching mechanism is based on file systems — each tile is saved in the cache as a separate operating system file — and depending on layers extensions and number of zooms levels requested, the information needed for a file system to locate and open theses files (and the number of correspondent tiles) can be tremendous, and impossible to exist in the device main memory [19]. In order to prepare data to carry out a WMS-cached of Mozambique, a project in Quantum GIS desktop was created to organize and edit data (shapefiles) downloaded from Centro Nacional de Cartografia e Teledetecção (CENACARTA) of Mozambique (e.g. administrative divisions, roads, rivers, points of interest — Spatial Reference System SRS : Spherical Mercator EPSG:3857). As outputs, Mapfiles (file.map) were conceived for each layer class. TileCache holds various versions (wsgi, cgi, mod_python) [69], capable to draw “meta-tiles” where a large tile is rendered, and then sliced into smaller tiles using the Python Imaging library [70]. Based on this references, tiles (256x256 pixels) were created und er the CGI mode (since configuration procedure is similar to MapServer) ru nning on Apache, setting up the TileCach e (version 2.11) configuration file as show in Figure 9, and running a Python mapscript (MapServer) — tilecache_seed.py [options] [ ]. Iterative resolution analysis were undertaken to e stablished the number of zoom levels needed to cover all the country with adequate detail, and in the available disk storage space (10 zoo m levels set). Since resulting hierarchical structure of tiles took a very large size on disk, it was necessary store it in a Secure Digital Memory Card (8GB), and a path to display tiles tree was defined in a offlineLayer instance (inside Map controller) (Figure 10).

Fig. 9. T ileCache configuration file; Fig. 10. Offline layer instance (map controller).

5. Results

488

C.E. de Abreu Freire and Marco Painho / Procedia Technology 16 (2014) 481 – 490

m-SportGIS has been deployed presenting the following main interfaces: ‚ A main/initial view allowing users to create a new record (“Criar Novo Registo”) or look up to saved records (“Ver Registos”) (Figure 11). ‚ A data collection view comprising a data form broken-down into five information tabs and a map interface with a geolocation request functionality (Figure 12). ‚ A data collected view consisting of a list of saved records and a map window showing their location (highlighting a record on the map when it is selected in the list) (Figure 13). ‚ A data edition view similar to the data collection view, but restricting the geographical data (GPS request) modification (Figure 14).

Fig. 11. m-SportGIS start view; Fig. 12. m-SportGIS data collection view.

Fig. 13. m-SportGIS saved data view; Fig. 14. m-SportGIS data edition view (no GPS).

6. Conclusions An OS mobile software tool for geospatial data collection has been successfully developed under mobile web technologies, based on a prototyping ISDM. Mobile map ping tools represent very convenient vehicles to overcome the substancial bottleneck of available spatial and attribute data in developing countries. m-SportGIS constitutes a lowcost solution to produce rich data, and is currently available and being exploited by Mozambican Government staff. That brings improvements to the e-government usage, since politicians, sport planners, and citizens are being empowered to regulate and bestow better national sport resources and services . The app holds a very complete and customized form interface, a web mapping service online and offline capable, and a multimedia -record-ind e xed functionality. Android devices proved to be very suitable (and low-cost) tools for GIS mapping. Current JS APIs also demonstrated to be useful means to rich device (native) capabilities, such as File system, Geolocation, and Camera. Tile caching proved to be a valuable mechanism to improve client experience and build a TMS networkcommunication-independent. Being a mobile web-based app, it is a tool able to be adapted and expanded to new functionalities or reformulations . Future work can include research of other OS programming techniques. Regarding the cache mechanism other features and scales and details can be built. A plausible feature extension discerned would be the spatial geometry edition capability to polygons and lines in-situ, requiring also the implementation of a client spatial database capable of re ceive data from a server database, providing advanced storage an d capacity.

C.E. de Abreu Freire and Marco Painho / Procedia Technology 16 (2014) 481 – 490

489

References [1]

C. Pollitt, S. V. T hiel, V. Homburg, New Public Management in Europedoi:10.1057/9780230625365. URL http://www.palgraveconnect.com/doifinder/10.1057/9780230625365 [2] J. Casademont, E. Lopez-Aguilera, J. Paradells, A. Rojas, A. Calveras, F. Barceló, J. Cotrina, Wireless technology applied to GIS, Computers & Geosciences 30 (6) (2004) 671–682. doi:10.1016/j.cageo.2004.02.004. URL http://linkinghub.elsevier.com/retrieve/pii/S0098300404000524 [3] C. J. Seebregts, M. Zwarenstein, C. Mathews, L. Fairall, A. J. Flisher, C. Seebregts,W. Mukoma, K.-I. Klepp, Handheld computers for survey and trial data collection in resource-poor settings: development and evaluation of PDACT, a Palm Pilot interviewing system, International journal of medical informatics 78 (11) (2009) 721–31. doi:10.1016/j.ijmedinf.2008.10.006. URL http://www.ncbi.nlm.nih.gov/pubmed/19157967 [4] S. Nusser and L. Miller and K. Clarke and M. Goodchild, Geospatial IT for mobile field data collection, Communications of the ACM 46 (1) (2003) 1–2. doi:10.1145/602421.602446. [5] P. Gaffney, Developing a Statewide Emission Inventory Using Geographic Information Systems (GIS), in: U.S. EPA Annual Emi ssion Inventory Conference, Atlanta, Georgia, 2002, pp. 1–12. [6] J. Zhang, J. Liu, B.Wang, Spatial Data Infrastructure for E-Government Based on the Geospatial Services, 2010 International Conference on EBusiness and E-Government (2010) 646–650doi:10.1109/ICEE.2010.169. URL http://ieeexplore.ieee.org/lpdocs/epic03/wrapper.htm?arnumber=559 0716 [7] D. Longley, P., Maguire, D., Goodchild, M., Rhind, Geographical Information Systems and Science, 3rd Edition, Wiley, UK, 2011. [8] A. Kosmaczewski, Mobile JavaScript Application Development: BringingWeb Programming to Mobile Devices, 1st Edition, O’Reilly Media, 2012. [9] R. Li, Mobile Mapping: An Emerging Technology for Spatial Data Acquisition, Photogrammetric Engineering and Remote Sensing 63 (9) (1997) 1085–1092. [10] F. Döner, T. Yomral, Examination and Comparison of Mobile GIS T echnology for Real Time Geo-Data Acquisition in the Field, Survey Review 40 (309) (2008) 221–234. [11] D. R. Green, S. D. King, Pencil Out, Stylus In: Geospatial T echnologies Give Coastal Fieldwork a New Dimension (2004). [12] M. De Donatis, L. Bruciatelli, MAP IT : T he GIS software for field mapping with tablet pc, Computers and Geosciences Geosciences 32 (5) (2006) 673–680. doi:10.1016/j.cageo.2005.09.003. URL http://linkinghub.elsevier.com/retrieve/pii/S0098300405002001 [13] D. M. Aanensen, D. M. Huntley, E. J. Feil, F. Al-Own, B. G. Spratt, EpiCollect: linking smartphones to web applications for epidemiology, and community data collection, PloS one 4 (9). doi:10.1371/journal.pone.0006968. URL ecology http://www.pubmedcentral.nih.gov/articlerender.fcgi?artid=2735776 \&tool=pmcentrez\&rendertype=abstract [14] N. D. Lane, E. Miluzzo, H. Lu, D. Peebles, T . Choudhury, A Survey of Mobile Phone Sensing, IEEE Communications Magazine (September) (2010) 140–150. [15] H. Chen, K. Xiao, T he design and implementation of the geological data acquisition system based on mobile GIS, in: 19 th International Conference on Geoinformatics, IEEE Xplore, 2011, pp. 1 –6. doi:10.1109/GeoInformatics.2011.5980829. URL http://ieeexplore.ieee.org/lpdocs/epic03/wrapper.htm?arnumber=5980829 [16] S. Lohr, In a New Web World, No Application Is an Island (2011). URL www.nytimes.com/2011/03/27/business/27unboxed.html? \_r=0 [17] N. C. Zakas, T he evolution of web development for mobile devices, Communications of the ACM 56 (4) (2013) 42. doi:10.1145/2436256.2436269. URL http://dl.acm.org/citation.cfm?doid=2436256.2436269 [18] W. Hales, HT ML5 and JavaScript Web Apps, 1st Edition, Oâ˘A ´ ZReilly Media, 2013. [19] Y. Zhang, D. Li, Z. Zhu, A Server Side Caching System for Efficient Web Map Services, 2008 International Conference on Embedded Software URL and Systems Symposia (2008) 32–37doi:10.1109/ICESS.Symposia.2008.39. http://ieeexplore.ieee.org/lpdocs/epic03/wrapper.htm?arnumber=4627127 [20] H. Li, L. Fei, H. Wang, Y. Li, An Efficient Mechanism for Organizing and Indexing T ile Caches on Map Server, IEEE Communications Magazine (200724). [21] Sencha Inc., Sencha Blog (2011). URL http://www.sencha.com/blog/ [22] K. Matsudaira, Making the Mobile Web Faster, ACM (2013) 1 –9. [23] Google Developers, Web Performance Best Practices (2013). URL https://developers.google.com/speed/docs/best -practices/rules\_intro [24] M. Pilgrim, HT ML5 - Up and Running, 1st Edition, O’Reilly Media, 2010. [25] J. Stark, Building Android Apps with HT ML, CSS, and JavaScript, 2nd Edition , O’Reilly, 2012. [26] M. Mahemoff, Introduction: T he Meaning of Offline (2010). URL http://www.html5rocks.com/en/tutorials/offline/storage/ [27] L. Wroblewski, Mobile First, Jeffrey Zeldman, 2011. URL http://abookapart.com [28] T . H. Davenport, L. Prusak, Working knowledge: How organizations manage what they know, Ubiquity (August). URL http://doi.acm.org/10.1145/347634.348775 [29] M. Alavi, D. Leidner, Knowledge Management and Knowledge Management Systems: Conceptual Foundations and Research Issues, MIS Quarterly 25 (1) (2001) 107–136. [30] J. Zhang, J.-Y. Chung, Mockup-driven fast-prototyping methodology for web application development, Software – Practice and Experience 33 (1). [31] D. Papatsoutsos, Information Systems Development Methodologies in the Age of Digital Economy (2001). [32] G. Piccoli, Information Systems for Managers: T ext and Cases, 2nd Edition, John Wiley and Sons, Inc., 2012. [33] D. Avison, G. Fitzgerald, Information Systems Development: Methodologies, T echniques and T ools, 4th Edition, McGraw-Hill, 2006. [34] D. Dahiya, S. Dahiya, Role of Software Process Models in Enterprise System Development, in: 9th RoEduNet IEEE International Conference, IEEE Xplore, 2010, pp. 134–138. [35] R. Vidgen, Constructing a web information system developmen t methodology, Information Systems 12 (2002) 247 –261. [36] M. Bochicchio, N. Fiore, WARP: Web Application Rapid Prototyping, in: Proceedings of the 2004 ACM Symposium on Applied Computing, SAC 2004, ACM, New York, NY, USA, 2004, pp. 1670 –1676. URL http://doi.acm.org/10.1145/967900.968232

490

C.E. de Abreu Freire and Marco Painho / Procedia Technology 16 (2014) 481 – 490 [37] R. Hirschheim, H. Klein, K. Lyytinen, Exploring the Intellectual Structures of Information Systems Development: a social action theoretic analysis, Accounting, Management and Information T echnologies 6. [38] A. Choudhury, SDLC and Project Management Methodology - Perfect Ingredients for Building Quality Product (2012). URL http://www.sdlc.ws/wp-content/uploads/2012/09/sdlc-project-management.jpg [39] S. Prakash, A. Kumar, R. B. Mishra, MVC Architecture Driven Design and Agile Implementation of a Web-Based Software System, International Journal of Software Engineering & Applications (IJSEA) 4 (6) (2013) 13 –28. [40] IBM, Creek Watch: Snap a picture. Save a stream. (2010). URL http://www.ibm.com/smarterplanet/us/en/water\_management/article/creek\_watch.html [41] T he Center for Embedded Networked Sensing, What’s Invasive! Community Data Collection (2010). URL http://www.whatsinvasive.org/index.html [42] K. K. Lwin,Web-based GIS System for Real-time Field Data Collection Using Personal Mobile Phone, Journal of Geographic Information System 03 (04) (2011) 382–389. doi:10.4236/jgis.2011.34037. URL http://www.scirp.org/journal/PaperDownload.aspx?DOI=10.4236/jgis.2011.34037 [43] S. S. Kanhere, Participatory Sensing: Crowdsourcing Data from Mobile Smartphones in Urban Spaces, 12th International Conference on Mobile Data Management (2011) 3–6doi:10.1109/MDM.2011.16. URL http://ieeexplore.ieee.org/lpdocs/epic03/wrapper.htm?arnumber=6068482 [44] J. Kim, S. Lee, H. Ahn, D. Seo, D. Seo, J. Lee, C. Choi, Accuracy evaluation of a smartphone-based technology for coastal monitoring, Measurement doi:10.1016/j.measurement.2012.06.010. URL 46 (1) (2013) 233–248. http://linkinghub.elsevier.com/retrieve/pii/S0263224112002515 [45] D. Gkatzoflias, G. Mellios, Z. Samaras, Development of a web GIS application for emissions inventory spatial allocation based on open source software tools, Computers & Geosciences 52 (2013) 21 –33. doi:10.1016/j.cageo.2012.10.011. URL http://linkinghub.elsevier.com/ret rieve/pii/S0098300412003512 [46] R. R. Jones, K. J. W. McCaffrey, R. W. Wilson, R. E. Holdsworth, Digital field data acquisition: towards increased quant ification of uncertainty during geological mapping, Geological Society, London, Special Publications 239 (1) (2004) 43–56. doi:10.1144/GSL.SP.2004.239.01.04. URL http://sp.lyellcollection.org/cgi/doi/10.1144/GSL.SP.2004.239.01.04 [47] C. Dong, F. Liu, H. Wang, F. Chen, Application research of mobile GIS in forestry informatization, in: 5th International Conference on Computer Science doi:10.1109/ICCSE.2010.5593615. URL & Education, IEEE, 2010, pp. 351 –355. http://ieeexplore.ieee.org/lpdocs/epic03/wrapper.htm?arnumber=5593615 [48] C.-g. Li, Y.-y. Jiang, Development of mobile GIS system for forest resources second-class inventory, Journal of Forestry Research 22 (2) (2011) 263–268. doi:10.1007/s11676-011-0160-1. URL http://link.springer.com/10.1007/s11676 -011-0160-1 [49] O. Devisch, D. Veestraeten, From Sharing to Experimenting: How Mobile Technologies Are Helping Ordinary Citizens Regain Their Positions as Scientists, Journal of Urban T echnology 20 (2) (2013) 63 –76. doi:10.1080/10630732.2013.769313. URL http://www.tandfonline.com/doi/abs/10.1080/10630732.2013.769313 [50] D. Howcroft, J. Carroll, A Proposed Methodology forWeb Development, in: ECIS 2000 A Cyberspace Odyssey: Proceedings of the 8th Conference on Information Systems, University of Salford, 2000. [51] A. N. Zaied, S. I. Aal, M. M. Hassan, Rule-based Expert Systems for Selecting Information Systems Development Methodologies, International Journal of Intelligent Systems and Applications 5 (9) (2013) 19 –26. [52] D. Howcroft, J. Carroll, A Proposed Methodology for Web Development, in: European Conference on Information Systems, Vie nna, Austria, 2000, pp. 290–297. URL http://csrc.lse.ac.uk/asp/aspecis/20000053.pdf [53] Google Developers, Optimize for mobile (2012). URL https://developers.google.com/speed/docs/best -practices/mobile [54] M. Fowler, Developing Software for Multiple Mobile Devices, T ech. rep., T houghtWorks (2012). URL http://martinfowler.com/articles/multiMobile/ [55] G. Williams, Learn HTML5 and JavaScript for Androiddoi:10.1007/978 -1-4302-4348-9. URL http://link.springer.com/10.1007/978-1-43024348-9 [56] M. Firtman, Programming the Mobile Web, 2nd Edition, O’Reilly Media, 2013. [57] Boston Technology Corporation, Hybrid Apps: The Future of Enterprise Apps, Tech. rep., Boston Technology Corporation, Ma rlborough, MA, USA (2014). URL www.boston-technology.com [58] S. Hochdörfer, Offline strategies for HTML5 mobile applications (2013). URL http://talks.bitexpert.de/zendconeu13-html5-offline-apps/\#/ [59] A. Kumar, Sencha MVC Architecture, 1st Edition, Packt Publishing, Birmingham, UK, 2012. [60] A. Osmani, Learning JavaScript Design Patterns (2013). URL http://addyosmani.com/resources/essentialjsdesignpatterns/book/\#detailmvc [61] Sencha Inc., T ypes of Proxy (2013). URL http://docs.sencha.com/touch/2.3.1/ \#!/api/Ext.data.proxy.Proxy [62] M. David, HT ML5 Mobile Websites, Elsevier, 2012. [63] Y. T olkach, Mobile Web App Frameworks Review: Sencha Touch vs jQuery Mobile (2012). URL http://altabel.wordpress.com/2012/12/14/ [64] J. Garcia, A. D. Moss, M. Simoens, Sencha T ouch in Action, Manning Publications Co., 2013. [65] M. Potmesil, Maps alive: viewing geospatial information on the WWW, Computer Networks and ISDN Systems 29 (8 -13) (1997) 1327–1342. doi:10.1016/S0169-7552(97)00013-5. URL http://linkinghub.elsevier.com/retrieve/pii/S0169755297000135 [66] ESRI, What is a cached map service? URL http://webhelp.esri.com/arcgisserver/9.2/dotnet/manager/publishing/static\_map\_svcs.htm [67] P. a. Zandbergen, Accuracy of iPhone Locations: A Comparison of Assisted GPS, WiFi and Cellular Positioning, Transactions in GIS 13 (2009) 5–25. doi:10.1111/j.1467-9671.2009.01152.x. URL http://doi.wiley.com/10.1111/j.1467 -9671.2009.01152.x [68] L. Orchard, Using geolocation (2013). URL https://developer.mozilla.org/en -US/docs/Web/API/Geolocation [69] Python Software Foundation, T ileCache 2.11 (2013). URL https://p ypi.python.org/pypi/T ileCache [70] MetaCarta Labs, T ileCache - Web Map T ile Caching (2010). URL http://tilecache.org