Mobile application development to promote the sustainable transport of agricultural products

Mobile applications today are present in most situations of daily life and in the productive sectors of the global economy. However, when talking about the rural areas of developing countries, the reality is different due to the difficulties for access, use and quality of the use of information and telecommunications technologies; the same problem of technological coverage occurs with the transport of agricultural products. This article presents a mobile application as a result of the research process, which makes the shared use of cargo vehicles easier and allows the integration of small and medium farmers with markets and transport companies. In this way, the costs of transport processes are reduced and agriculture becomes a more productive and competent activity with a view to fulfilling the sustainable development goals.


Introduction
The access and use of information and communications technologies (ICT) has consolidated as one of the trends of global growth in recent years, and Colombia is not unaware of this thanks to the growing expansion of cellular telephony and mobile internet. This has significantly favored the development of applications and digital media for different sectors such as urban transport, banking, food, commercial, among others. According to figures presented by the Ministry of Information and Communications Technologies (MinTIC), at the end of the third trimester of 2018, mobile telephony penetration was 127.3% with 63,427,667 subscribers, and mobile internet access (by subscription and demand) was 25,924,724 users [1].
In spite of the above, the field has been one of the productive sectors of the country in which there is a marked digital gap in terms of skills in the use of ICT, Internet connection and coverage of telecommunications and computing infrastructure [2]. The fact that small and medium farmers do not have tools that allow efficient and transparent access to markets, delays the growth of the rural economy and prevents their living conditions from improving. Likewise, the transportation of products is another factor that affects the development of the agricultural sector. According to the Food and Agriculture Organization of the United Nations (FAO), this process is distinguished by high complexity and heterogeneity, a fact that is aggravated by the poor condition of the roads and the conditions of the cargo vehicles. When agricultural products are grown far from the centers of consumption, export or industrialization, their transport becomes more important, which is reflected in the high costs that farmers must assume to the detriment of the earnings obtained from their work.
Undoubtedly, access to technology accelerates change and mobile devices can contribute to the development of rural areas by facilitating meetings between producers and traders [3]. ICT in this sector can be generalized as equipment, tools or applications that allow the rapid and accurate exchange of data and information through interaction and transmission processes [4], which generates a large number of possibilities to potentiate the field and make it more productive and efficient. Therefore, it is essential to increase the incorporation of ICT in each of the aspects related to the agricultural sector, from production and transport, to the commercialization of products; all in order to improve sustainability and competitiveness.
Thus, from the advantages offered by mobile applications it is possible to achieve the shared use of cargo vehicles, as well as the integration of small and medium farmers with transporters and marketers of agricultural products. In this way it is possible to reduce the chain of intermediaries, reduce the costs of transport processes, increase the profit of the producers and make the products competitive in the markets. In short, this contributes to the fulfillment of sustainable development goals (SDG), since it facilitates decent work and economic growth, reduces inequalities and leads to self-sustainable communities.

Methodology
The research process was developed taking into account the Design Science Research Methodology (DSRM), a trend to provide validity for research activity in engineering [5]. The application of this methodology was carried out following the process model suggested in [6], which consists of the five steps or stages shown in the figure 1.

Awareness of Problem
According to the results of the last National Agricultural Census, conducted by the National Administrative Department of Statistics (DANE), 83.5% of the agricultural production units do not receive any type of technical assistance [7], besides this is the sector which presents the greatest delay in terms of incorporating ICT into productive, social and cultural activity [8]. The educational level and the lack of infrastructure such as networks, access points and equipment are the main constraints for the use of these technologies by farmers, which is demonstrated by the scarce presence of digital solutions in these areas. Moreover, the difficulty to quickly access the markets is another factor that impedes the development of rural areas. There are no tools that allow farmers to publicize their products or optimize the way they have been performing the transport processes in the field, a situation that increases production costs and decreases the income they receive as compensation for their work.
Taking into account the above, it is necessary to develop technological strategies that allow the effective integration of the actors involved in agricultural work, and that lead to the sector being more productive and profitable for all.

Suggestions
Considering the difficulties that small and medium farmers have to access the markets, as well as the high costs involved in transporting the products to the industrialization or consumption centers, the development of a multi-user mobile application, intuitive and easy to use, was proposed, capable of interconnecting producers, marketers and transport companies in a fast and direct way. Besides this, the application must allow the shared use of cargo vehicles as a strategy to reduce transport costs, since the value of the route is distributed among different users depending on the distance and the amount of product transported.
So, the application is constituted as an interaction space to know the available products and their location, generate and execute transport agreements, ease negotiations and bring historical relevant processes for each user.

Development
For the design and development process of the mobile application, the Software Life-Cycle model suggested in [9] was applied, which consists of the four phases shown in the figure 2.

2.3.1.
Requirements. This phase structured in detail the functional and non-functional specifications required by the mobile application based on the awareness of problem and suggestions of the previous stages. These requirements are described below: The functionality of the mobile application can be defined through the use cases, considering that these are a model of the interaction between actors and the software product itself [10]. The actor is a user who plays a specific role within the system and functional requirements are set by identifying the actors and actions [9].
As far as the actors are concerned, it is necessary to involve people in every marketing chain who produce, transport and buy the products. This is why producers, drivers and buyers were defined as actors of this mobile application; additionally, a coordinator was established for the management and supervision of the drivers of each transport company, as well as an administrator for the management of the software tool. The figure 3 represents the interaction of the actors with the system.  About the actions of the actors, it is established that the producer must make the publication of the products, the buyer must generate the purchase agreements and the transport requests, the coordinator must be in charge of the registration of drivers and the supervision of the agreements of transport, and the driver must execute the assigned route. Regarding the administrator, this one is responsible for the maintenance of the system and the linking of the transport companies. The use case diagram of the figure 4 shows in detail the interaction of the actors with the functional requirements established for this mobile application.

Non-Functional
Requirements. The non-functional requirements of a software tool describe the general aspects that do not include a direct relationship with the functional behavior of the system. These correspond to restrictions and demands for performance, availability, usability, among others [10]. As shown in the figure 5, the simple and intuitive design, the ease of use, the data validation, the quick response to the requests and the scalability of the number of users are examples of the nonfunctional requirements of this mobile application.

Analysis.
In this phase the previously presented requirements were examined. Through this process it was determined that the functionalities established for the mobile application allow users to interact in an agile way and can share the cargo vehicles. Considering the above, these specifications were organized in the technical document that exposes the characteristics of the software tool.

Design.
The established requirements were submitted to a process of architectural design and detailed design, to finally establish the architecture of the system.
During the architectural design, the mobile application was divided into the six components or modules of the figure 6, taking into account that these meet all their requirements. In terms of the detailed design, the characteristics of each particular module were defined and the programming algorithms were carried out. User management refers to the processes of registration, updating and elimination of profiles, as well as the beginnings and closings of sessions; the management of publications is associated with the basic functions in databases (CRUD -Create, Read, Update and Delete) to manage products, purchase agreements and transport requests; the generation of historical data is related to the consultations carried out to present the consolidated user on some aspect of interest; transportation agreements refer to the process of creation and allocation, after developing an analysis of the requests and the price calculations; geolocation involves obtaining the geographical coordinates of the driver's mobile device and its storage in order to show the location in real time to the other actors in the process; finally, communication between users is related to the making of phone calls as a means of consensus and negotiation.
On the other hand, the architecture of the system uses different Firebase products that are hosted in the cloud, among them, Authentication, Cloud firestore, Realtime database, Cloud storage and Hosting; in this way, scalability and performance problems can be mitigated in order to optimize the transfer of information and multimedia between the web server and the database [11]. The geolocation module and the memory of the mobile device are also used. The figure 7 represents the described architecture.

Implementation.
The different modules of the previous phase were coded and tested. During coding, the algorithms designed in source code were converted, using for this Java, XML, HTML5, CSS5 and JavaScript as programming languages; the implementation was made in the integrated development environment of Android Studio and the Atom source code editor. On the other hand, during the tests, the correct functioning of each module was checked separately, first making a revision of the source code in order to ensure the execution of the programmed methods, and then verifying that these generated the expected results; contrary situation the relevant modifications were made. The test cases were defined based on the functionalities specified in the use cases. At the end of the individual tests, the tests of all the combined modules of the application were made, that is, the integration of the software tool was carried out.

Evaluation
The evaluation of the developed mobile application was carried out through laboratory tests. In these, the registration of different users was made, who then made the publication and the purchase of distinct products. After analyzing the transport requests made by some of the buyers, and verifying their viability based on the quantity and places of origin and destination, transport agreements were generated that could be executed by the driver, and visualized in the options of each of the actors involved in the process. Based on these tests, the effectiveness of the software tool for the integration of users and the reduction of transport costs was evaluated.

Conclusion
In this last stage, the process of developing the mobile application was considered completed, considering that its operation is adequate and that the results of the evaluation are relevant to the proposal made. The information related to the software tool, its design, novelty and usefulness was communicated in the final report and in this paper.

Results
In the process to connect small and medium farmers to markets and allow the shared use of cargo vehicles, an intuitive and easy-to-use mobile application was developed that allows the integration of agricultural producers with buyers and transport companies, as well as, contributes to the reduction of costs due to the transport of agricultural products. Next, the data sheet of the application, its functionalities and a quality analysis are presented.

Data Sheet
In the data sheet of the table 1, the basic characteristics associated with the developed mobile application are presented.

Functions
From the preliminary tests carried out to the mobile application it was possible to establish that, within its functionalities, it allows:  The management of the actors of the process, which includes the registration of new users, the validation and modification of data, the deletion of the profile and the resetting of the password.  The logging in and out for each user, as shown in the figure 8.  The publication of agricultural products and the updating of the data entered, as shown in the figure 9.  The display of all published products available with its photo and features.  The execution of the purchase agreement for the products of interest and the request for transportation if required, as shown in the figure 9.  The analysis of transport requests and their grouping, in order to create and assign agreements through the execution of a backend hosted on the server in the Firebase cloud. This process includes the calculation of the price of transportation for each user that is part of the process.  The visualization of transport agreements in the options of each of the actors involved.  The implementation of the transport agreement assigned to the driver, as well as its follow-up by the coordinator of the transport company.

Software quality
The quality of a software can be observed in its characteristics or attributes, that is, it refers to things that can be compared. In order to be understood in a better way, it must be expressed through terms that have more meaning for the user. Below are some elements to evaluate the quality of this mobile application.

Security and Data
Integrity. Security and integrity are provided through Firebase Auth, which is integrated with the other products to control access to data and allow users to be managed by email and password stored in Firebase. To this end, security rules are established either that limit or admit operations on the database after the validation of a unique identifier (UID) during the authentication process.

3.3.2.
Stability. The stability of the processes of the application is guaranteed since the functionalities offered have been verified during the evaluation stage.

3.3.3.
Speed. The speed depends on the ability of the mobile device to execute the APK file, the internet connection and the speed of the server in which the websites are hosted for the terms and conditions, privacy policies and creation of transport agreements. On average, the login and publications have a response time of two seconds.

3.3.4.
Usability. The mobile application has an intuitive interface in which most options are visible, the icons are simple and the labels are easy to understand.

3.3.5.
Functionality. The mobile application performs a validation of the data entered before the execution of each process in order to avoid errors or inconsistencies. The result of the operations is also informed to the user, whether these are successful or unsuccessful.

Conclusions
The research process guided through the Design Science Research Methodology made it possible for the problem identification, design and development of the software tool to be a formal, controlled and rigorous activity in order to generate a technological solution for the agricultural sector.