Kids’ Tracker: An Android Application for Tracking Children

Smart phones with unlimited applications are considered essential for modern day lifestyle, hence the number of cell phone users has sky rocketed in this decade. The high percentage of children and teenagers carrying cell phones has caused controversy on how justified having a minor carrying a communication device is. There is no doubt about the fact that parents have to be able to contact their children, however, a child with a phone and poor judgment will most probably be vulnerable to the outer world with all its’ threats and abuses. Furthermore, we have the serious health issues related to wireless devices effects on people, under those circumstances multiple solutions have been presented for a safe secure method for parents to track their children without the need of cell phones. The proposed alternatives included phones with limited privileges for children; these phones are restricted to the ability of calling specific people only and have already installed applications for tracking location. Our proposed system “kids’ tracker” includes a wearable device for the child and an Android application on the parents’ smart phone. Kids’ tracker has shown a very decent performance with many unique features compared to other existing solutions.


Introduction
Mobile phones have changed our lives drastically, making individuals reachable constantly and giving new types of correspondence like informing and video calls [1]- [11]. It is very grand how these phones have changed in the previous couple of years, beginning off from being a science fiction dream to turning into a basic piece of present day way of life claimed by the greater part of people How to cite this paper: Sweidan, S.Z., Saifan, R., Darabkh expanded to include all of those services in addition to a touch screen, web browsing, Wi-Fi, 3rd-party applications, and many others [34].
As a result of all the features included in them, smart phones can act as portable computers with their operating systems and have the ability to run most computer programs efficiently. Moreover, the application stores that are provided by different smart phones manufacturers can be used to install thousands of different useful applications which cover a very wide range of uses including weather forecasting, chatting, latest news, editing photographs, online shopping and others [35]. Based on that, it is not a surprise that the number of smart phone users surpassed desktop users in 2014 [36].
Smart phones have become an essential part of human life including children and teenagers. However, allowing a child to carry a smart phone with internet access has created a controversy about how convenient or necessary it is compared to the risks [37]. On one hand, having mobile phones allows children to be connected and reachable at all the times by their parents who find that very useful and of course necessary [38]. However, most experts warn about the dark side of children's use of mobile phones which may negatively affect their morals and social values. For instance, these devices open them to an unsupervised virtual world with media materials that might be age inappropriate. Also, children using social networks might be misused by child abusers and criminals who can be a genuine risk for kids [39]. In addition to that, mobile phones are related to many health problems both mentally and physically which are even more dangerous for younger users according to multiple researches [40]. Studies recommend that mobile phones should not be given to children below sixteen years old because their brains are not able to resist the effects of mobile radiation since the tissues in the brain and body are still developing. These radiations can cause damage due to absorption of radiation as shown in Figure 1 [41]. Figure 1. Demonstration of mobile phone radiation impact on the brain for different ages [41] [42].
Nowadays, most parents use mobile phones to track their children by giving them mobile phones and keep contacting them through phone calls. However, from the aforementioned reasons, this approach comes with multiple negative effects. Consequently, there is a need for an alternative approach which must be safe and trusted.
The points mentioned above inspired us to present kids' tracker that provides a safe and efficient solution for parents who want to keep track of their children location without giving them mobile phones. The proposed approach provides the child with a wearable device which sends continuous signals to the parent's phone. These signals can be converted to detailed meaningful information about the child's location and his/her movements through a simple yet efficient application.
The rest of this paper is organized as follows. Section 2 describes the proposed system and compares it to a number of similar systems. Section 3 introduces the system's design and interface besides describing main hardware components and software tools. Sections 4 presents the implementation and testing process through a number of output screen samples. Finally, Section 5 presents our conclusions.

Kid's Tracker and Related Work
Our proposed work, kids' tracker, presents a product that helps parents to keep track of their children without the need to give them mobile phones. In this scenario, the child wears a tracking device like a bracelet which is coupled with the parents' smart phone through an easy to use Android application. The parent can sign in to his account which is given by the service provider to track his children through different types of notifications. A periodic notification is sent to the parent with the current location of the child. The parent can also access a history record of the child's movement that covers up to the last seven days.
The parent can create his/her own regions for locations where the child is expected to be in certain days and hours like home or school. If the child is in the defined region at the expected day and time, the region name is colored in green (green zone). However, if the child is in the defined region but out of the expected day and time, the region is colored in gray (gray zone). Finally, if the child is in an undefined location, the red color is used for this location (red zone). As soon as a child enters a red or a gray zone, an instant alert notification is sent to the user so that a proper action is done. The GPS in the child's wearable device sends signals to a main server every 5 seconds, nonetheless periodic notifications are sent every 60 minutes by default to the parent, who can change the time between notifications as desired. Figure 2 shows the system response for different cases to switch between zones and the corresponding notification to each case.
A number of different existing solutions were presented to allow parents to track their children. Life 360 Tracker [43] is a full software solution that makes it Journal of Software Engineering and Applications  2) Life 360 tracking process requires approval from both sides which is not suitable for a parent/child scenario.
Alert notifications are not available due to lacking the ability of creating zones or flags on dangerous locations.
On the other hand, TRAX is considered to be a GPS tracker for children and pets [45]. In TRAX, a smart device works in conjunction with an application on the smart phone allowing the user to locate children or pets anytime [45]. Figure   4 shows an example of a tracking process done by TRAX which is an efficient and popular product with noticeable features that can be compared to kids' tracker as follows: 1) Both TRAX and Kids' tracker have a hardware device for the child and a smart phone application for the parent to locate the child who should not use a phone.
2) Both systems only send alert notifications when the child leaves or enters a defined zone. However kids' tracker has a remarkable additional feature which is   The Last few years have witnessed the appearance of multiple other applications and devices which can be used for tracking friends, pets, old people, and of course children. Lassy project [47], for example, sends a picture of a lost child along with a real time map which shows the coordinates of his/her last known location. This allows every user of the application to look for him/her [48]. Although it is free to download and has a noble aim, it can create a major threat by allowing some people with sick interests to get information about lost children which raises privacy and safety issues.
Another application is FBI Child ID [49]   The Raspberry Pi is a credit card sized single board PC as appears in Figure 6.

System Design and Interface
The GPS is a space-based satellite route navigation system that gives area and time data in all climate conditions, anywhere on or close to the earth where there is an unhampered line to at least four GPS satellites [51]. Furthermore, different software instruments and programming languages are utilised as a part of our work, for instance Raspbian which is a free operating system based on Debian/Linux that is optimised for the Raspberry Pi hardware [52]. We likewise used Python programming language which is a broadly used general-purpose high-level programming language.  The data that is read from GPS contains repeated readings which can be represented in different formats. In this paper, only one format is used. In kids' tracker, GPGGA is the format used by server to find locations then store them into the database [54]. For illustration, the GPGGA reading given below in Figure 7 and the meanings of its elements is shown in Table 1.
The parent side is an Android based smart phone. The main hardware platform for Android is the ARM architecture with x86 and MIPS architectures [55]. Since 2012, Android devices with Intel processors began to be commercially produced in the form of smart phones and computer tablets [56]. Android is considered an open-source operating system that is based on Linux and it is created basically to be installed in mobile phones and tablets [57]. On the other hand, Android applications are usually developed in Java programming language using the Android Software Development Kit, but other development tools are also available.
In the parent side Android application, a background service sends a periodic "get region" request to the server every 5 seconds. The server replies to that request by posting the current region of the child after the server has done the required calculations to determine the type of this region and update the marker  on the map and region fragment with a new position. Moreover, the status fragment with the name of current region will be colored according to the zone, and the last checked time will be also updated.

Implementation and Testing
The application's Android interface is simple to use and efficient. Kids trackers' main screen contains a menu list in the shape of a slide menu that is shown in Figure 8. It has 6 options for the main window including: status, map, regions, history, settings and logout. Each option has a specific task as will be shown soon. The user clicks the desired option to move to its' related window. Using kids' tracker starts with a simple login process with a user name and password.
A successful login will lead to a status window by default. The window contains the name of the current region for a child as it is named by the parent, and colored by the type of zone. It also shows the time of last notification. In the first login to an account, the status window will be empty until the user defines the regions for the child. The information that is displayed in the status window is updated every 5 seconds, and that is done by the background service which continuously sends a "get region" request to the server. Figure 9 shows a status window with the current region of a child colored in gray which indicates that this is not the expected region at this time of the day as defined by the parents (gray zone).
The map window displays the current location of the child in a graphical form on a Google map and a marker pin represents the location as shown in Figure   10. The map has specific details of the location including the street name in   Regions window enables the user to add, edit and delete regions. In addition to that, it allows showing the child's current region on map with a personalized name defined by the parent such as school or grandparents' house instead of the general street name in maps. Figure 11 represents a sample of the regions window showing that the child is currently in the school region as defined by the parent compared to Figure 10 which shows the same location as a Google map name.
To add a new region the parent has to assign the required location on the map window then double click Regions on the menu and a dialogue box will appear as shown in Figure 12. The parent has to fill the name of the new region, and then set the days and time slots in which it is fine for the child to exist in it as a green zone. The radius of the new region has to be also set with a maximum value of 500 meters. To edit or delete an existing region, the user can double touch a defined region then select from the dialogue box options to either delete the region with all its details or to edit and change its related information.
The History window provides a very useful feature for the parent to see the child's movements' history record, labeled by the main events such as changing regions of existence. The history record can be modified to cover a number of days between one and seven with recommended period of seven days which is the default. Figure 13 shows a sample of a child's movement's record for one day along with the visited regions. As we can observe, the child was at home at the beginning of the day (00:00 military time) as expected by the parent. Consequently, Figure 11. Current region of the child with school region shown.  the zone name home appears in green (green zone). However, around 17:25 the child left home and stayed less than an hour in a region that is undefined by the parent, therefore, it appears in red (red zone). Finally, the child reached the school which is a defined region; however, as the time of existence is out of the expected hours for the child for this region, it appears in gray (gray zone).
The settings window enables the user to choose the type of notifications to receive; either periodic notifications or alert notifications or both. Moreover, a deactivation option stops all notifications and updates which may be useful if the user is with the child and there is no need to track the location. Finally, Kid name allows giving a real name for the child instead of the default "kid" word used in maps and notifications. Figure 14 shows the settings dialogue and its provided features.  The last option on the menu is log out and it is used to exit the current account in case the user does not need to use the application. This means turning off background service which is responsible for regularly seeking the current region. Therefore, no notification would be received. When logging in again, the parent can get the history for the logging out period.
If alert notifications are enabled and the child is out of the defined region for the current day and time, the parent will receive an urgent instant notification.
Furthermore, when the user opens the notification message, the current location of the child is updated and shown. Alert notifications will keep reaching the parent every 3 and 7 minutes for red and gray regions respectively. Figure 15 shows an alert notification for an undefined region which is considered a red zone.
On the other hand, if the child is in his correct region and a periodic notification option is enabled, the parent will receive a periodic notification every 60 minutes as long as the child remains in the green zone as shown in Figure 16.

Conclusion
We built a kids' tracker system that allows the parents to track the location of their children without the risks related to a child having a cell phone. The proposed system includes a wearable small device for the child that contacts a main system server which in turn is connected to the parent's smart phone through a Journal of Software Engineering and Applications  Moreover, different week days have different region settings and the user can track back the child's movement's history for several days. As a future work, we plan to enhance both the battery life of the wearable device and to reduce its size even more besides adding additional tracking options to make the system richer and more useful.