Introduction
Mobile apps are the products of intellectual labor, so this fact allows them, unlike being the products of material production, to be replicated and transferred through communication channels with ease and without great financial costs. Software products have greater ability to adapt to the needs of a specific manufacture, thus, it is important to obtain initial information for the development or adaptation of the information system.
Product development of any intricacy requires e preparation and conducting a number of researches. Therefore, in this paper we are to consider a problem to be solved and define the technology to solve the problem.
Overview
Information system (the application) simplifies the route to be traveled in accordance with individual needs of a user (his or her interests, the distance he or she is going to travel). According to a user's request the system develops an itinerary based on individual preferences, with a detailed route control points (stops, refueling, hotels, etc.).
After registration, the user is to define his or her interests in a form of keywords (hashtags), for example: # Church, # Volga, #Gingerbread, #Kremlin. One enters an expected length of the route, as well as the start and end points of the upcoming trip. As a result of these steps, the system gives the user possible routes.
Materials and Methods
Technologies of development
To keep up with the functional requirements and to accelerate the development process, we will use various API, provided to developers by IT companies.
In computer programming, an application programming interface (API) is a set of routines, protocols, and tools for building software applications. An API expresses a software component in terms of its operations, inputs, outputs, and underlying types. An API defines functionalities that are independent of their respective implementations, which allows definitions and implementations to vary without compromising each other. A good API makes it easier to develop a program by providing all the building blocks. A programmer then puts the blocks together.
We can use the API to simplify the development of algorithms for constructing and displaying routes. We are also going to consider a possibility of using some of the programming interfaces to take into account user's preferences.
Selecting an API for maps
Let's make a comparative analysis of the two most popular API for maps: Google Maps API, Yandex Maps API.
We checked what system creates the best route from point A to point B. The results are shown in the table below:
Time, Distance |
||
Route |
By Google |
By Yandex |
Ivanovo – Petrazovodsk |
11H59MIN, 857 kM |
16H33MIN, 860 kM |
Brugge – Luxemburg |
3H16MIN, 295 kM |
4H6MIN, 310 kM |
Los-Angeles – Las-Vegas |
3H51MIN, 432 kM |
4H46MIN, 440 км |
Based on the data, it's not difficult to see that the Google Maps API give more optimal routes than Yandex Maps API.
It should also be noted that both the APIs provide necessary features for maps' customizations and for query processing required by system.
3. Choosing API
User Preferences in our system are presented in the form of keywords (hashtags). There are only two APIs working with such a representation of information: Foursquare API, Instagram API.
API data will be used only as a source of keywords for each locality. Thus, the main criterion for selecting this API is the number of users: Instagram has 200 million of members, Foursquare has 101 million of members
So, that the greatest number of keywords on human settlements should be chosen from the Instagram API.
Conclusion
The study had defined the technical tools that can be used to develop the application.