Nolong.in: an android based incident notification application with push notification technology

ABSTRACT


INTRODUCTION
There are so many road accidents and incidents that commonly experienced by car and motorcycle drivers. Road accidents can be caused by bad driving behaviour, like driving too fast and recklessly, driving under alcohol influence, breaching the vehicles safe distance, etc. [1]. Other accidents can be caused by bad and uncontrolled road signs and facilities, such as misplaced and unnecessary speed breakers and bumpy roads as had been reported by Kiran, et al. [2]. Sharma and Shah [3], Shariff, et al. [4], and Fernandez, et al. [5] had also worked and published papers related to the road accident detection and prevention. Meanwhile, road incidents such as street robberies, road constructions, etc. can also lead to severe damage for the drivers. There are some researches that focus on road incidents to improve knowledge in accident or incident mechanism analysis as can be seen on the works of Serre, et al. [6] and Gakis, et al. [7].
Bekasi is an area with the highest criminality in West Java. Susy Susilawati as the Head of Regional Office of the Ministry of Justice and Human Rights (Kemenkumham) said that Class II Penitentiary (Lapas Kelas II) Bulak Kapal dan Class III Penitentiary (Lapas Kelas III) in Cikarang-Bekasi, could take around 40 people from different cases [8].
In Bekasi, especially Cikarang, there are some types of criminality in road that often happen, one of them is violent robbery. Data from Central Bureau of Statistics (Badan Pusat Statistik) Kota Bekasi said that in 2015, there were 34 cases of this type of criminality [9].
Gunawan had conducted a research in 2017 about how online motorcycle taxi's drivers take care of this kind of problem [10]. Gunawan said that when incident happen to a driver, he/she will tell his/her friends in the social group chat that they are having an incident [10]. But, when the incident occured, they cannot tell immediately in the social group chat. Therefore, Gunawan made a panic button device that can be used to tell friends that they are having an incident. This device uses Bluetooth technology to connect to smartphone and Arduino microcontroller.
Push notification used to send emergency notification to responders quickly and easily when there's an emergency [11]. When it becomes difficult to communicate in an emergency, the fastest and easiest way to communicate would be via mobile messaging using push notification [12]. Push notification is used to send notification to responders even when the app does not open or active [13]. Based on previous researches about panic button and push notification, notification incident application for community of GoJek Cikarang will be build on Android platform.

THEORETICAL BASIS 2.1. Push notification
Push notification is a small and short message used by mobile application to tell users about new event [14]. Push notification is an important feature in mobile computing service and had been implemented in many mobile applications [15]. Push notification service in mobile had become an important service to send content to user [13]. Using push notification, message can still be send to end users even the app is not running [13]. It solved problem from smartphone that doesn't have feature like multi-tasking and battery saver, also when the app is not running [13]. Information that users need can be sent immediately without the needs to request to the system [16].
Since the development of Internet of Things (IoT), so many devices that connect to Internet, like sensor, wearable devices, and household appliances. Notification can be push to this device and initiate by this device to track environment/body/tool or providing context, like location. The convergence of mobile with IoT also create new challenges on how system can handle mixed push channels that created by M2M (Machine to Machine) communication and human interactions, also allow effective interaction between human and IoT devices.
Push method needs two softwares that know what each other needs. Software for client that know how to send request, send, store, and display data. Software for server that know request from client, so server can send the data [16]. Push method implementation schema as shown in Figure 1.

Firebase cloud messaging
Firebase Cloud Messaging (FCM), the successor of Google Cloud Messaging (GCM), is a solution for sending message between platform which is reliably and with no cost. Using FCM, client can be notified when there are new data that ready to be synchronized. FCM also allow notification message sending to each user in a specific segment [17]. Figure 2 shows FCM architecture. Sending notification message from server to client can be done in two ways, notifications console GUI and trusted environment. Using console is very effective for trial or highly targeted marketing and user engagement. Through this way, there's no coding needed, we only need to input the required data. To send notification through trusted environment can be done using Admin SDK and HTTP/XMPP. Application needs to extend FirebaseMessagingService to get notification from Firebase. This service will handle all notification that this application got. For sending notification to specific device, application needs to extend FirebaseInstanceIdService to get a registration token. This token is used to differentiate every application that installed on every device.

Google maps distance matrix API
Google Maps Distance Matrix API is a service that provides distance and travel time from origins to destinations according to recommended route between two location points. To access this API, HTTP is needed to request the desired URL using origins, destinations, and an API key. Figure 3 is an example of URL to access Distance Matrix API using Washington, DC as origin and New York City, NY as destionation address [18]. Figure 4 is an example of Google Maps Distance Matrix API response. This response contains the distance, duration, and address location between the origins and destinations.

Click ratio and click time
Click time is used to get user reaction from notification. In Shirazi, et al. [19], they used click time by measuring total click of notification on every mobile application category [19]. In this research, click ratio will be used on every notification that user got. To calculate click ratio, total click of notification will be divided by total notification that had been sent.
Click time is used to get difference between obtained notification and clicked notification. The result of Shirazi's research is that category system has the fastest click time and messenger in second place. The conclusion from Shirazi's research about click time is fifty percent of user interaction with notification, happens in thirty seconds after notification is obtained. In this research, click time will be used to calculate difference between obtained and clicked notification. Then, this total click time will be divided by total notification that had been sent.

User experience questionnaire
User experience is thorough experience that consists of every aspect from user experience with a product or service [20]. User Experience Questionnaire (UEQ) is an assessment that can be done quickly to get user experience from interactive product [21]. Main objective of UEQ is to get quick and immediate count from user experience with a product [22]. Sugiyono said that according to Roscoe, minimum proper sample is 30 samples [23]. Therefore, the minimum respondent that will fill the questionnaire are 30 people. In this research, UEQ will be used to get user experience with this product. UEQ consist of 26 scalable items from six elements: Attractiveness, Perspicuity, Efficiency, Dependability, Stimulation, and Novelty [24].
Attractiveness is a general impression of the product, is the user like or not. There are six items in this scale, annoying/enjoyable, good/bad, unlikeable/pleasing, unpleasant/pleasant, attractive/unattractive, and friendly/unfriendly. Perspicuity is the easiness to know how to use this product. There are four items in this scale, not understandable/understandable, easy to learn/difficult to learn, complicated/easy, clear/confusing. Efficiency is the easiness to use this product quickly and efficiently. There are four items on this scale, fast/slow, inefficient/efficient, impractical/practical, and organized/cluttered. Dependability is how user feels the interaction within system, is the interaction secure and meets expectation. There are four items in this scale, unpredictable/predictable, obstructive/supportive, and secure/not secure, meets expectation/does not meet expectation. Stimulation is the interest of using the product, does the user want to use this product in the future or not. There are four items in this scale, valuable/inferior, boring/exciting, not interesting/interesting, motivating/demotivation. Novelty is user's opinion about creativity of the product. There are four items in this scale, creative/dull, inventive/conventiontal, usual/leading edge, conservative/innovative.
According to UEQ handbook [24], UEQ use scale from +3 for positive statement and -3 for negative statement. After user finish fill the questionnaire, all of the value from each point wil be calculated to get the average value. If the value is between -0.8 and 0.8, the scale is considered as neutral. If the value is -0.8, the scale is considered as bad and if above 0.8, the scale is considered as good.

Nolong.in device
Nolong.in device is a device that made by Gunawan in 2017 ( Figure 5) [10]. This device has a button that can be use to send signal to the application to notify that user is having an incident. The components of this device are Arduino Pro Mini 3.3V as the main component to execute every command, Bluetooth HC-05 to connect device with application, lithium battery 3.7V with 2,200 mAh, and a switch for turning on and off the device.

. Research methodology
Before starting the research project, we determined the research metdohology that will be used. These are the methodology research in this research: a. Literature review Literature review used for knowing concept of push notification and Firebase Cloud Messaging, so that it can implemented in this application. The study is done by reading references from many sources, like thesis, papers, journals, and other sources. This process is done throughout research, design, and building the application. b. Designing application Designing application is started with designing the work flow of the application. The application work flow is drawn using flowchart. c. Building application After design of the application is done, next step is programming the application. Implementing push notification to the application which is used for sending notification to helpers when incident is happening is done in this phase. The application will be build using Java, PHP, and MySQL. d. Testing In this process, click ratio and click time will be used for measuring notification effectiveness that user got. Testing process will be done in one week. e. Evaluating In evaluating process, data from UEQ, click ratio, and click time will be analyzed in quantitative form, so that it can show respond when respondent got a notification.

Testing and evaluation scenario
Testing is done in one week, where on the first until third day drivers that have the device must press the button when an incident happened to them. On the fourth until seventh day, drivers that have device instructed to press the button so it can send a false notification to get the data. For drivers that received the notification, they had instructed to click the notification by assuming that the person who sent the notification is experiencing an incident. On the last day, drivers of this community were given a questionnaire for fill in. After done with the testing, evaluation is done by measuring click ratio and click time according to the notification's data, also by evaluating the questionnaire's results data. Figure 6 is the flowchart of overall system. The application can be opened through two ways, first is by opening it directly and second is through notification. Then, it will display splash screen and get into Authentication process. This process is used to authenticate user that want to use this application. After that, in Choose Bluetooth Device process, user will choose the Bluetooth connection of the device, so it can send signal from device to application and application to device.

Application design
After successfully connected, in Store Firebase Reg ID process, the Firebase registration token will be stored in database. In Settings process, user can set the radius of sending notification and logout from the application. Send Notification process is the process for sending notification to other users. The last process is Show Active and History process. This process is used for showing any user that needs help and user that has been helped by a user. Figure 7 is the system architecture of Nolong.in. When user pressed a panic button in the device, application will send the needed data to Firebase to sending notification to PHP web service. This data consists of user's Firebase registration ID and the message. Then, PHP web service will send the notification to Firebase and store it in database. After that, Firebase will send the notification to other targeted client and the data will be displayed in client application from database. are three parts in this interface. In Part 1, there is a dialog box that appears when button in the device is pressed. In Part 2, there's a button to indicate that this user has been helped by other users. In Part 3, there's a dialog box that appear when button in Part 2 is pressed. This dialog box is used as user confirmation that he/she has been helped.  Figure 10 is the interface implementation of Show Active and History process. In this process, there are seven parts. Part 1 is the interface when there are users that need helps. Part 2 is the dialog box that appears when button BANTU (HELP) in Part 1 is pressed. Part 3 is the interface after user pressed BANTU in Part 2. Part 4 is the dialog box that appears when button SAMPAI (ARRIVE) in Part 3 is pressed. Then, in Part 5 there's a list of nearest hospitals. Part 6 is the interface when user has done in helping other user. The last part is appeared when user click SELESAI MEMBANTU (HELP FINISHED) in Part 6.

Data sampling
In this process, data sampling is done by using Convenience Sampling technique. This sampling technique is used because sample was obtained when helding Focus Group Discussion (FGD) with the community of GoJek Cikarang and has been explained about Nolong.in device. Data sampling is done in one week with 32 data samples. On the last day, samples were given questionnaire based on UEQ. In UEQ handbook, it is eligible to remove some scales inside the questionnaire [25]. Therefore, in this research, Novelty scale is not used because an application using panic button device is not a new product as Nimb has already implemented it before.

Testing results
After going through collecting data in one week, notification's data and questionnaire's data was got. Table 1 indicates the result of the click ratio. This application's click ratio is 0.9019 or 90.19%, because when some users got the notification, they are either delivering passengers or goods, so they didn't know that there are notifications from other users that need helps. To get the click time, total differentiate time between got and clicked notification, and total notification clicked is needed. Table 2 indicates the result of the click time. This application's click time is 87 seconds or 1 minute and 27 seconds. Figure 11 is the graph of respondent's opinion about notification sending when incident happens in the forms of speediness. From this data, 44% respondent gave rating Sangat Setuju (Very Agree), 41% respondent gave rating Setuju (Agree), and 15% respondent gave rating Cukup Setuju (Quite Agree).  Figure 11. Graph of user's opinion on Notification Sending when Incident Happens (Blue: Quite Agree, Grey: Agree, Orange: Very Agree) According to the result of both measurements, it can be deduced that Nolong.in is responded quickly by community of GoJek Cikarang. This also supports the result from the questionnaire's data which indicates that notification can be sent quickly, because there is no respondent that gave rating below Cukup Setuju (Quite Agree). Besides notification is responded quickly, we can also deduce that this community willing to help others that need help.
These are the UEQ results from the respondent. There are five scales that will be tested, i.e. Attractiveness, Perspicuity, Efficiency, Dependability, and Stimulation. In analyzing the data, Likert scale is used, where Very Agree option has value 3, Agree option has value 2, Quite Agree option has value 1, Neutral has value 0, and so on. Therefore, the maximum value from the average and total average are 3 and the minimum are -3. According to five scales that had been tested on Table 3-7, it can be concluded that Nolong.in has a good response from the users. Tables 8-10 are used to analyze user sentiment on the using of Nolong.in in safety driving that will be further analyzed in Table 11 and 12. In Table 11, average column is obtained from the total value that user gave in incident experienced and length of work based on Nolong.in benefit, then divided by total user that scored. Total average column is obtained just like average, but only in incident experienced. In Table 12, average column and total average column are obtained just like average column in Table 11, but only based on the length of work. The results from Table 11 and Table 12 show that driver with at least had experienced one incident and worked more than 1 year feels that Nolong.in is very beneficial for safety driving.    There are also some suggestions for the development and future researches of Nolong.in: 1) Cooperation with police officers in order to help drivers when incident happened; 2) Cooperation with hospitals in order to help drivers that needs medical attention: 3) Can differentiate every incident that happened to driver, so that it can send notification based on incident's type.