Development and performance analysis of the Gunungkidul cultural potential application based on progressive web apps

ABSTRACT


Introduction
Gunungkidul is one of the districts in the Yogyakarta Special Region Province. Gunungkidul has various cultural potentials as the destinations for local and foreign tourists. To provide information about the potential culture in Gunungkidul Regency, several researchers developed an information system that can be accessed easily, cheaply, quickly, and fully [1]. One system that provides information on all cultural potentials in Gunungkidul is Cakrawala Budaya Dhaksinarga. Cakrawala Budaya Dhaksinarga is a geographic information system about potential culture based on an Android mobile application.
Mobile-based information systems offer several advantages as such as the system can be easily accessed by the public anywhere and anytime with an Android smartphone device. Furthermore, a mobile-based geographic information system application also can be used as a real-time navigation tool [2]. Although it has various advantages, Android-based mobile applications also have several drawbacks. For example, the application can only run on the Android operating system and the user must install the application to access information in the application.
One way to overcome this shortcoming is to use Progressive Web Apps. Progressive Web Apps (PWA) is a combination of web technologies that can provide user experiences to use native applications [3,4]. The combination of web technology in the PWA makes PWA-based applications run and accessible without having to perform an installation process on a mobile device so that the application can run on any operating system, not only Android [5].
The advantages of this PWA can be used to solve the problems of the Cakrawala Budaya Dhaksinarga application which is only based on Android. Therefore, the objectives of this study are (1) developing a PWA-based application of the PWA-based Cakrawala Budaya Dhaksinarga; (2) Analyze the performance of the PWA-based Cakrawala Budaya Dhaksinarga application.

Method
The development of the Cakrawala Budaya Dhaksinarga application uses the Agile method with the Scrum approach. Scrum is an agile development framework where this framework enables rapid and adaptive development to change [6]. At its core, Scrum divides development into iterations not longer than four weeks (called sprints). At the end of each sprint, a shippable product increment is delivered to the user. For each newsprint, a sprint-planning meeting is held, at which tasks for the sprint are selected by the developers themselves in collaboration with other stakeholders [7]. Meanwhile, the application performance analysis method was carried out 30 times by using the Chrome Developer Tools.

Application Development Methods
The first stage in development is the Product Backlog. At this stage, a discussion was held between the developer and the Cultural Office of Gunungkidul to determine the features that will be developed. The results of this discussion used the features of the application, namely This feature is used to view information about the culture in Gunungkidul, especially the culture position in the form of maps. Navigation is also embedded in this feature to find the travel route from the user's point to the intended cultural place.
• Geoheritage This feature contains information about natural tourist attractions in Gunungkidul which can be a recommendation for nature recreation. In this feature, there is a description of each natural tourist spot. There are also maps and navigation that users can use to trace the path to these natural attractions.
• Daerah (Regional) This feature provides information about the cultural collections that exist in each subdistrict in Gunungkidul Regency. Information about the culture is differentiated based on the sub-district to make it easier for users when searching for a culture in a certain subdistrict in Gunungkidul.

• Cagar Budaya (Cultural Heritage)
This feature contains information about the cultural heritage of Gunungkidul which has been classified based on certain categories, for example, prehistoric categories, Hindu-Buddhist categories, Islamic categories, and traditional house categories. Within this feature, information such as images, descriptions, and navigation are embedded and can be used to get the location of cultural heritage.

• Kuliner Kerajinan (Culinary and Crafts)
This feature contains information about culinary and handicrafts in Gunungkidul. Inside this feature, the information such as images, descriptions, and navigation are embedded and can be used to see the location where the culinary or craft is located.

• Seni Adat Tradisi (Arts and Traditions)
This feature contains information about traditional arts and customs in Gunungkidul. Inside this feature, there is information such as images, descriptions, and navigation that can be used to see the location where the art or traditional customs are held.

• Agenda
This agenda feature contains information about traditional activities or events that will be held in Gunungkidul. In this feature, there is information such as the date it was held, a description of the event, and pictures or photos of the activity.
The next stage is Backlog Refinement. At this stage, an internal developer discussion is carried out to determine the system architecture. At this stage, a system architecture agreement is produced as shown in Fig. 1.
The system architecture design determines the framework that will be used in the application. Based on the results of the joint analysis, the framework that will be used for the architecture is the Ionic Framework. Ionic Framework is a framework that can be used to develop hybrid mobile apps including progressive web apps. The Ionic framework has several advantages as a framework for progressive web apps, among others, it is based on standard web components, provides various cross-platform UI components, and has good performance for use in mobile devices [8].
The last stage is running a sprint or iteration where at this stage, application development is carried out according to the discussion results at the Product Backlog and Backlog Refinement stages. The duration of the sprint in this development is one week.

Performance Testing Methods
Performance analysis is carried out to test the performance of the system that has been developed. Testing the PWA-based Cakrawala Budaya Dhaksinarga application is carried out on two aspects, namely runtime and memory usage [9,10]. Runtime testing is used to find out the time it takes to display all resources on a web when the user runs it. Meanwhile, memory usage testing is used to determine the amount of memory the device needs to run the web [11]. There are several aspects to runtime testing, namely While testing on memory usage is also carried out on several aspects, namely To test all these aspects, Chrome Developer Tools is used [12]. Chrome Developer Tools is a tool provided on the Google Chrome web browser for inspecting, testing, and debugging a web or web-based application [11]. One of the features of Chrome Developer Tools is a performance test that can be used to test performance on a website which includes runtime testing (loading, scripting, rendering, painting, system, idle) and memory testing (JS Heap, documents, nodes, listeners). Fig. 2 is an example of using the Chrome Developer Tools performance test feature to test the PWA-based Cakrawala Budaya Dhaksinarga application.

Application Development Results
The result of developing an application with the Scrum method is that the application is designed according to the features that have been set at the beginning. On the start page, several menu cards are provided which are features that can be accessed by the user. Another page in the application is a map page that contains information in the form of a location and a detail page that contains information that reviews the cultural heritage in more detail. Fig. 3, Fig. 4, and Fig.  5 is a page view of the application that has been made.

Performance Testing Results
The results of testing the performance of the Cakrawala Budaya Dhaksinarga application using Chrome Developer Tools 30 times can be seen in Table 1. In Table 1, there are two types of performance testing, namely runtime testing, and memory usage. There are 5 aspects in runtime testing, all of which use millisecond units. Whereas in memory usage there are 5 aspects where only the minimum JS Heap and maximum JS Heap measure memory usage in megabytes. The loading performance aspect of the 30 trial runtime tests can be seen in Fig. 6. Fig. 6 shows that the loading performance is in the range of 8 ms -80 ms with an average of 33.60 ms  Scripting performance after 30 experiments showed that the time needed to run scripts in the application range from 906 ms -1691 ms with an average value of 1069.20 ms. Fig. 7 shows a graph of scripting performance on 30 trials.  Painting performance on runtime testing can be seen in Fig. 9. Fig. 9 shows the speed needed to convert a vector into pixels in an experiment conducted 30 times ranging from 6 ms -89 ms with an average of 22.33 ms. The results of runtime testing on the system aspect can be seen in Fig. 10. In Fig. It can be seen that the time it takes for the system (browser) to run this application ranges from 274 ms -775 ms with an average of 429.67 ms.

Conclusion
The development of the Cakrawala Budaya Dhaksinarga application based on Progressive Web Apps was carried out by using the Scrum method. This method is used because it is a method of developing software that is fast and adaptive to change. Ionic Framework is used as a progressive web apps framework for these applications. There are 7 main features in the Cakrawala Budaya Dhaksinarga application, namely (1)