The world is a dangerous place, and you don't always have a way to go about your day safely without worry. With OnWatch, we help you do things alone confidently by resting assured that your emergency contacts are just a click away. Pebble's innovative technology allows us to facilitate securely, discreetly, and efficiently.
What it does
Our application benefits those who find themselves in a dangerous or uncomfortable situation and need a quick discreet way to ask for help.. With this new application, which is free via download and easily accessible, it will give notice to the user's preset emergency contacts informing them of the user's current situation along with his/her location via google maps. Then, the person has the option to choose four settings: safe, alert, threat, and "911." Safe means that the person is in no danger, and that no one should be worried or alerted. Alert means a possibility that something might go wrong, and two text messages are sent to two different contacts in the user's phone, telling them that they're uncomfortable. Threaten means something bad is happening to the person, and the application sends text messages stating the condition of the person (i.e. threaten) to all of the person's contacts. Last but not least, emergency means dire situation, and a text to 911 will be sent immediately. The first three settings can be accessed by clicking the up or down button. which changes the degree of severity for the person's current state, and then the android app can select yes to send the respective texts. The last setting, on the other hand, can only be accessed by holding down the select button for more than two seconds to avoid any accidental "butt-dials".
How we built it
We built our application by using both Android Studios and PebbleCloud. We started with the Android Studios because we wanted to make our project usable on mobile phones. Furthermore, we wanted to transfer the text messages to the specific contacts via phone, and the only way it was possible for us at the time was to have a mobile app that would do this. As an added bonus, the text messages also sent the user's location so that the user can be found if trouble occurs. We then moved on to PebbleCloud, where we used C to code the last bits of the app. At first, we were going to solely use Android Studios to complete the application. However, we figured that pulling out our phones out and then selecting our contacts would be too slow, when we could do the same thing on a watch and just press a few buttons. This efficiency in time could mean the difference between life and death, which would make the application that much more meaningful.
Challenges we ran into
There were three challenges that really stumped us, which almost made it not possible for us to finish our mobile application. The first challenge was getting the location of the user. This turned out to be a daunting task because the easiest way was to access one of Google's APIs, but we didn't have access to the required key. We were forced to google other ways to determine how to track a user's location, and a lot of the sites were uninformative and unhelpful. We eventually solved this challenge when we thought of google maps, where we replicated its location functionality search via GPS. The second challenge was syncing PebbleCloud and the Android Studios. Using google, there were no clear instructions on how to make the android app "talk" with Pebble and to access its functionalities that we wrote in PebbleCloud. We eventually solved this by combining chunks of multiple tutorials that we deemed helpful and doing anything possible to make it work. A huge factor that we did for example, was making sure that the UUID matched so they could remotely be connected. The last challenge was storing the contacts, which wasn't too challenging, except for the fact that we didn't want any databases to store the contacts and profiles. It was slightly daunting by just remembering the login info when the user first logged onto his/her account, and then immediately pulling up the contacts from the phone list itself. We fixed this by having the user to enter the desired contacts that the user wants to message and save on the phone list, kind of like speed dialing but not limited to only nine dials.
Accomplishments that we're proud of
The first accomplishment that we are proud of is solving the three biggest challenges within the allotted time. This required an incredible amount of brainstorming ideas and implementations so that we can make our ideas come to life. Another accomplishment that we are proud of is working together as a team. Each individual is assigned with a different task, and without the contributions of all the individuals, this project wouldn't have been completed on time. Last but not least, the other accomplishment that we are proud of is learning new things. At a hackathon, we are given a set of strict and obscure challenges that we need to satisfy. For the majority of the time, we have to adapt and try out new things. For example, we had to learn how to use PebbleCloud, which was extremely frustrating because learning a new language itself is always a challenge. But what makes this by far the proudest accomplishment is that we learned it together. If someone doesn't understand a certain functionality or some other aspect of the new language, we would all work together to make sure that everyone was up to pace. This made sure that everyone knew what he/she was doing, making it a lot more efficient in completing the mobile application.
What we learned
There were many things that we learned during our creation of the mobile application. For starters, some of us were new to gitHub and its repositories/commit functions, and this was an important knowledge that everyone needed to know for their future work and tasks. Next, we learned how to use Android Studios a lot better. Many of us were novices at Android Studio, only knowing the mere basics of how to make a button for an example. After doing this project, we are way more comfortable using Android Studios and more importantly confident in our own abilities.
What's next for OnWatch
For our next update on the application OnWatch, we will have a special way to access the emergency setting in case there's absolutely no time to hold the button down or someone is physically unable to use the emergency setting the regular way. An idea that is possible to make this happen is to have technology that can scan your unique fingerprint that will automatically reach 911, like a panic button of some sort. Furthermore, better layouts will be implemented, including cool and exciting new features that will make it much more convenient on the user's life, such as the Pebble becoming a strong flashlight.
We are entering the Tech Cares category as well as the pebble development subcategory.