Inspiration
We were brainstorming ideas, and kind of got to talking about what would be useful to everyone, and could do more good than just being convenient. The group started talking about being late for class, or completely oversleeping because we didn't hear our alarms when they had fallen under the bed and how often that's nearly made us late for a test, work, or something important. We were originally considering an application that would benefit refuges or those displaced by natural disasters by means of aiding them to find lost loved ones. That lead to the idea of helping people in everyday life by giving them the important alerts they can't afford to miss, and by warning people who otherwise might not hear about an emergency broadcast until it was too late.
David has a big family, and my sister will be having a baby within the next two weeks. Emily likes to meditate, and the Pulse 2 speakers really caught her eye for their possibility of use in keeping a calming mood going, or for being used as a guided thought exercise. Kyle liked the idea of having a calming color pattern that could dim over time to complete darkness while he was trying to go to sleep. Dylan lives really far away from the closest tornado sirens, and this is Georgia: he kind of needs to know when things get ugly.
What it does
AB-Pulse is an Android Application that will automatically connect your phone to a previously paired Bluetooth device within range. While auto connecting itself is kind of cool, we're not having your phone constantly searching for devices to connect to. The goal here was to help all three groups of people in a way that, as far as we could find, no one else is doing (either individually or for multiple cases at the same time).
AB-Pulse can connect to any previously paired Bluetooth device within range, with a few points of interest to mention:
The previously paired devices are all kept on a list by a name YOU get to call them, by device type, and address so we can make sure it's correct. This list is there to make your life easier. With the PulsePriority ratings, you can give any device on the list any number from 1 to how ever many items there are on the list. The lower the number, the higher the device ranks priority wise, which will determine what the Android device will choose after it's spent a few seconds detecting what's around it. If another device is paired to your preferred Bluetooth Point of Pulse (PoP), your Android device will immediately attempt to connect to the PoP with the next lowest number.
AB-Pulse will NOT automatically pair with a device it has not previously been paired with.
AB-Pulse will allow auto disconnects as well, if you apply the setting.
What use would auto-connecting be all of the time? It would drain your battery! AB-Pulse only connects when it's received a notification. Whether it's time to wake up, take shelter, or meditate in your room to take a break from studying or video games, AB-Pulse has you covered. With custom lighting settings including options like Color, Brightness, Pattern, and Speed of Display for our Harman Pulse 2 headsets, it will help you immediately figure out what the alarm is for without any panic or unnecessary worry.
Each Notification is one of three types of events: An Alarm, an Alert, or an Activity. Alarms are meant to get your attention, but not to sound the call to take to the vaults and wait out the winter. General settings will default towards calmer tones for Alarms and Activities, with Alerts either being custom set alerts from a family member or friend who's shared an event with you (like having a baby!) or from the Emergency Alerts you have the ability to opt in to in your Android device's settings. Activities are alarms with a few extra settings. Things like days of the week to set an event schedule on for those who want to run a few days every week and work out in the gym the others, or even better: for class schedules! Activities also have an additional feature set the alarms don't have: the ability to set a duration of the event and include an end-of-event alarm as well. (Who really wants to run an extra 20 minutes anyways?)
How we built it
We started by mapping out what we wanted, what information we would need, and then researching if it was even possible to handle Bluetooth communications automatically. Kyle was the head of that front, handling the major hardware configurations and the Harman SDK. David and Dylan got to tackling the job of fleshing out the application while still trying to attend different seminars, and eventually realized they had no idea what Github was doing that day, and spend most of the time conceptually organizing and then providing the basic shells for the more than 15 classes.
Challenges we ran into
The SDK for Harman was a bit frustrating to deal with, due to a few issues with documentation and some adaptation to Android, because none of us had made more than one Android application ever, and that was either for a class a few years ago or just randomly done. We ran into a few issues figuring out how best to store the information, and then how to pull it back down from the database, including the choice to re-query the database for a specific data set each time a main page was loaded to keep the information up to date constantly. The Harman Pulse 2 is a great speaker, we just realized how little we knew about manipulating hardware based on just an SDK without any real information available and no prior experience managing Bluetooth connections or timed events this way. Naming AB-Pulse took an exceptionally long time.
Accomplishments that we're proud of
We came up with an amazing name. We managed to create an application to auto-connect to any Bluetooth device you've previously been connected to. Emily can draw perfectly straight lines. We all learned quite a bit about Android development and dug through the manuals in a way most of us haven't had to do before for familiarization to work with what was (basically) a brand new setting for a language we already knew.
What we learned
We learned to throttle back our expectations and to say "realistically, we can do this.. for now. After this weekend though, we can do so much more". We learned to be patient and to keep searching for the functional use examples to make sense.
What's next for AB Pulse
Everything we couldn't do now, we're going to. We're setting up: Priority Device Lists Emergency Alerts Custom Alerts User accounts to allow custom alerts to be shared Customization of the LED displays for the Pulse 2 and implementation methods needed for other types of speakers when we can get them.
Log in or sign up for Devpost to join the conversation.