Inspiration Random thought on how we could communicate with no signal between two devices
What it does
Melody is a software which is capable of transferring Data over Sound (DoS). This is a suite of two Android apps.
1) Melody : Shows the proof of transfer of data from one device to another by using just sound. This can also be demonstrated by using turning on the airplane mode.
2) Melody Messenger : A text messenger which is capable of communication over sound without signals. It also supports the most important element of modern day texting - EMOJIS!!
How I built it
Any device with a speaker can emit the sound and hence send the data. Any device with a microphone which is able to pick up this sound is able to receive this data. The sending, or encoding device must be able to emit a series of sine tones at 1.7kHz to 10.5kHz with accurate timing.
Challenges I ran into
The apps are designed on Android Studio, completely written in Java, therefore this particular app cannot be converted to an iOS app. However, this app can be redesigned using React Native with a Java Backend to run successfully in iOS.
Accomplishments that I'm proud of
One of the major concern is, protection of the payload. As this does not use any kind of encryption, it is very easy for hackers to intercept the message. This is a problem which can be overcome by using end to end encryption but, I was not able to build it due to time constraints. I actually had a teammate who couldn't show up because he was ill. I was completely dependent on him for the frontend. I'm proud that I could create this without any help. Even the front end was designed by me which was a huge confidence booster to me.
What I learned
Even without any cellular signal or any other outside signals, we can communicate between two devices. This opens up a huge range of applications and opportunities for coders. This can be effectively embedded into a wide range of applications including the military. Doing both frontend and backend of a software is not easy! Design of frontend requires a special skill of understanding the user's needs and we must cater to him in order to give the best experience
What's next for Melody
The main application which I want to use Melody is to replace the payment methods of today. This will make Melody mainstream and also more secure once end - to - end encryption has been designed. I'm a huge believer in Open Source software. Therefore, this will be released for public use. This will ensure that a wide range of public and many amazing developers will have access to it which will improve the way it works.