Inspired by the first challenge of the VTHacks Puzzle Challenge, our team wanted to create an app that utilizes Morse code with a special twist to make it our own. To do this, we decided to ditch the typical audio or visual representation of Morse code and go completely sensory, utilizing the phone's buzzer as a way to send messages.

What it does

Our hack is a communication device between multiple phones which transmits Morse code in the form of vibrations. When one person taps or holds the "transmit" button on our main page, the users on the listening end of the signal will receive the data sent from the button and recreate the pattern in through the phone's buzzer.

How we built it

In Android Studio, we created a field for the user to create an ID for transmitting data, which would be the Morse code, and a field for the user to find another user to listen to. The Morse code data is created through tapping and holding a transmit button, to mimic the dashes and dots in Morse code, which is then sent to our online database in Firebase for the listening channel to receive.

Challenges we ran into

We ran into several problems setting up different users for transmitting and receiving data. Before a proper user ID created for this purpose, values were constantly overwriting each other from different phones. This caused a situation in which one user could stop the process of the previous user since they were technically using the same ID. This was fixed through creating a one-way pipe system where when a user sends something, it goes through that pipe to the receiving end.
Github also gave us some issues as there were occasionally a few merge conflicts that made it difficult to push and pull code. By the end of this hack however, we had learned several ways to quickly resolve these merge conflicts and continue hacking.

Accomplishments that we're proud of

To some of our members, this was their first hackthon and for us to come together to complete even the core functionality of our hack is an accomplishment to be proud of on its own.

What we learned

We learned how to build an app in Android Studio, a program that none of our members were very familiar with, and how to successfully integrate Firebase real time databases for Android Studio. Multi-threading in Java was also a new concept to our team that, although took some time, we managed to implement properly.

What's next for DashesInADot

Besides basic edge case debugging, we plan to implement a tutorial to help users fully understand how to use Morse code for their communication needs, including character, word, and sentence recognition levels. This would help users utilize this app in a more effective manner and help train them to both send, receive, and recognize Morse code in the future.

Share this project: