DEVELOPMENT OF MAPPING APPLICATIONS FOR MOBILE DEVICES

Development of mobile applications is a very popular trend of today’s informational technologies. Moreover, mapping applications are one of the most popular among all. However, development of mobile applications has some issues while implementing application for multiple mobile platforms and while making it work offline. According to our development experience, it was decided to show main methods of mobile application development, describe advantages and disadvantages of each with respect to mapping functions and application complexity. Special attention was paid to hybrid mobile development technology in order to check out the widespread information about it’s high development speed in compare to “native” and to make sure that it allows to realize easy transferring of existing web application to mobile platform.


INTRODUCTION
The development of information technologies has led to the appearance of new trends in practical application of cartography (Bharathi, 2014;Kameswara, 2015;Lisitskiy, 2013Lisitskiy, , 2014)).According to them the most popular ways of cartography development are web-mapping and mobile mapping.Both directions are very popular and developing actively, (Hemalatha, 2015;Kraak, 2001;Kikin, 2014;Mitchel, 2005;Michael, 2003;Shashidhar, 2014) which is caused by modern features of web-technologies, mobile devices and means of wireless communication.
The importance of mobile devices in today's world has increased significantly and now they are often used not only as means of entertainment, but also as tools for production work.An important role in this way of its application use is put cartographic development is assigned to mapping applications.Capabilities of mobile devices have led to their great popularity causing the appearance of a rapidly developing mobile applications market, with the top positions held by mapping applications.Each smartphone has mapping software and other applications providing functions of geopositioning (Bharathi, 2014).In this respect, it was decided to survey mobile mapping application design specialties, difficulties appearing while developing, and possible ways of its implementation.

STATEMENT OF THE PROBLEM
Presently there are no universal solutions for mobile apps development, like Qt or java, though every mobile developer is aimed to make applications available to the maximum number of users so it is necessary to create such applications that can be used by all most popular mobile operating systems (Android, IOS and WP8), which comes into collision with some extra difficulties.In addition, the implementation of mapping functions imposes additional requirements to the organization of spatial data storage.All this has led to the necessity to analyze the features of mobile mapping applications development, identify the difficulties arising during the process of their development, and survey the ways of implementation.

RESULTS AND DISCUSSION
There are three main ways of mobile application development: -Web-site adapted for mobile devices -Native application based on development environment offered by platform creators -Hybrid application, that is a mix of mobile-adapted website with special native container that interact with mobile device API (application program interface).
In our paper, we will consider features, advantages and disadvantages of each way in terms of both developer and user.Mobile adapted web-site supposes creation of a site that implements all necessary functions by using standard means of web development: html, css, javascript, server-side web programming language (Joo Hyun Park, 2014).The site interface is based on the principles of adaptive design or by creation of two versions of the site -standard and mobile.The resolution of the screen size, type of device and browser are being detected using client-side web programming language JavaScript.The advantages of such realization is that the application will be cross-platformed, which leads to the fast rate and relative simplicity of developing.Disadvantages of this embodiment are: -Lack of access to device features, caused by browser's inability to access application program interface (API) of installed operating system -Necessity to connect to the Internet while working with the site; -Reduced performance of graphical interface in comparison with similar "native" applications.
The development of native applications, supposes using programming language and integrated development environments provided by the developers of device operating system is a less universal way.In this case, the developer needs to rebuild the application for each operating system using "native" means of development for each one.Each mobile platform has its own idiosyncrasies.This rebuilding is very different from a simple adaptation for different platforms.It is due to the fact that developing applications for different platforms requires knowledge and use of different programming languages, understanding of the API of each platform and the ability to work with different integrated development environments.In addition, the development of mobile applications for devices running IOS requires certain software that can be used only on their branded computers.Just to be able to publish the application in the app store different devices require a developer account, which is often chargeable.In particular, such account for mobile devices is based on the operating system IOS costing $US 100 a year and for Android devices $US 25 one-time fee.Thus, this means that a developer should create completely new application for each platform, increasing time required to obtain the results.However, described above approach is not without its advantages.A native application has full access to the mobile device abilities using standard tools provided by the developers of the operating system and native development provides access to a standard set of interface elements whose performance is significantly higher than JavaScript elements of the web-site.Consequently, such applications have high performance and their interface style complies with the common style of system's interface (Byung Won Min, 2014).
A hybrid application is the result of a joint use of web technologies, web-browser and program shell that implements access to the functions of the operating system and device.Hybrid applications are based on special software (usually called as the framework), which implements the ability to compile the web-site, browser and additional libraries, that allow the device to work with the API, in the form of installation packages for each mobile operating system.As a result, this application works as a usual web page inside a web browser, that is also installed with the application, but the hybrid framework allows working with the device's API allows using: camera, sound, GPS, file system, contacts, notifications, etc.It is believed that the advantages of this approach are: flexibility, high development speed, access to the programming interface of the device.Although hybrid applications are useful in case of need to transfer already working, web-service to mobile platform.However, as well as with the web-site, there are may be problems connected with performance caused by specialties of mobile web-browser and there may be some restrictions connected with the access to the mobile device API.
In cooperation with "Trans-Baikal" National Park, as well as within the grant of Novosibirsk City Hall, two separate mobile mapping applications, having info-navigational purpose and using the technology of hybrid mobile application development are being developing.There was an experiment while developing.The aim of the experiment was to check popular information about high speed of hybrid mobile applications development.Developers have been selected among the students of our University with approximately identical skills of development.They have been asked to develop an application having the following functions: -Screensaver -Interactive Lists -Storing Input Text -Search -General Menu -Schedule.
Two of the students have been involved in the development of native applications for Android and Windows Phone 8.One student have been developing a universal hybrid application.The development of two native applications took 24 person-hours, i.e. 12 hours for each of the applications.A hybrid application took 22 person-hours.As it had been supposed earlier, the performance of hybrid applications was significantly lower.Particularly, the loading speed of interactive list consisting of 150 elements in the hybrid application was 5.5 seconds in the native -1.3 seconds when using the same hardware.
In this respect, it can be concluded that the rate of hybrid applications development is not much higher than a native one.Moreover, in the case of parallel development of native applications by multiple developers, the minimal time required for their implementation will be significantly (almost 2 times) shorter and their performance in specific tasks is much ahead of hybrid applications.With proper optimization, performance of hybrid applications can be approximated to the native, but it requires a significant investment of time, often longer than the primary application development.Moreover, the development time the longer the more complex the required functionality.
Further development of applications have shown disadvantages of hybrid implementation, occurring while developing map features.If the application working online, and loads the spatial data from the network, there is no significant difficulties in any of the embodiments, but the possibility of mapping applications work without the Internet in our days is very important.Therefore, it was delivered the condition for the application to work offline.
The next features caused the difficulties, appearing while implementing mapping functions in offline mode: -Processing data by the client -Preparation of spatial data for the visualization by the client -The need to organize the local store on the client.
While developing a native offline mapping application these features would not cause any significant difficulties, because for the implementation of the mapping functions there are special mapping "engines" that allow processing and preparation of the spatial data stored in the local built-in database for visualization.However, in hybrid applications such approach cannot be applied because existing technologies of hybrid development, do not allow: -Deploying the built-in type database on the mobile platforms -Carrying out queries on the data stored in the database -Rasterization of vector data.
It is known that current mobile devices have a smaller capacity and volume of non-volatile memory than desktop, so these disadvantages of hybrid technology lead to the fact that rendering of vector data in large quantities causes deterioration in performance, and raster data consumes a lot of memory and cannot store semantic data.In hybrid online applications, these problems are being solved storing vector data in the remote database and transmitting them to the mobile device via the Internet in the form of raster data in WMS format.WMS in combination with a vector database combines high performance of raster data and full capabilities of vector.
From the discussion presented above, only compromise ways of implementation are possible while developing mobile mapping applications: -Full-featured high-performance client-server application requires an Internet connection -An application with low performance, rendering small values of vector data -High-performance raster application with strongly limited abilities of working with spatial data -An application, combining vector and raster data, having average performance and opportunities (more vector datamore opportunities -less performance).-During the development of a hybrid mapping application, we have chosen GeoJson, as the most convenient vector data format.GeoJsonis derived from Json format, modified for the needs of spatial data storing.Used in the hybrid development programming language javascript allows processing data stored in this format.
Before the beginning of developments, we already had a functioning web mapping service for Barguzin National Park.This was one of the reasons to use hybrid technology, because according to widespread information, hybrid technology allows transfer an existing Web service almost without changes on the mobile platform.The practice has shown that this statement is not quite true for the services having "backend" and using the database, because most of the queries are implemented in SQL, so to make similar request to data stored in a GeoJson file it is necessary to create new queries using Javascript.
For convenient use of vector data stored in GeoJson format we developed a Javascript library "JsonSql.js",which allows accessing spatial data stored in Json format using default SQL syntax.The development of this library allowed achieving a high speed of transferring of an existing web mapping service to mobile hybrid platform without loss of performance.The results of comparing development time with and without using of JsonSQL are shown in Apache Cordova framework was used as a shell program that implements access to all functions of the operating system and mobile device.The application interface was developed with the use of html, css and javascript technologies and «jQuery» / «jQuery mobile» libraries.In order to implement mapping component the most popular and functional mapping javascript library «leaflet js» was used.A combined method was chosen to store spatial data, which combines the use of raster and vector data.

CONCLUSION
During the development of a mobile mapping application problems were identified and some common statements were reputed.In particular, the problem of rasterization of vector data by means of web technologies was not solved.The tools of integration of embedded DBMS into hybrid mobile applications are not developed.Widespread information about high speed of hybrid application development was reputed.It was noted that the more complex is the required functionality of the mobile application, the lower is the rate of its development by using hybrid technologies in comparison to native.The problem of the direct and inverse succession of mobile applications that use the file storage, and desktop applications using the database through the development of Javascript library "JsonSql.js",which allows accessing spatial data stored in Json format via the standard syntax of SQL, was detected and solved.