Inspiration
The secret to a hackathon (we've hopefully discovered) is twofold: creativity and usability. In our project, we aimed to encapsulate both. While looking for inspiration and ideas, we came across an abundance, but the one that truly stood out was SkySync. Designing a Bluetooth messenger + eventual game suite was a challenge for all of us. Caleb had never touched Swift in his life, Chris, only once for a short time, and Krish had never used Bluetooth before in an application. This challenge, along with how cool and useful a bluetooth messenger felt, is what drew us in.
What it does
SkySync provides a simple way for users to quickly connect to another device and have a conversation over Bluetooth. Perfect for planes, SkySync has a tested range of over 250ft - enough to sufficiently cover the length of a Boeing 737. Now, instead of paying for wifi or committing federal offenses, you can simply crack open SkySync and get typing. Currently in the making for SkySync's next edition is a suite of games, including but not limited to: Pictionary, Tic-Tac-Toe, and Connect-4. Someday you'll also be able to join The Sky-High Society - our premium subscription service - for access to even higher quality games.
How we built it
SkySync is a very simple but elegant Swift application. Each device plays the role of a Bluetooth Central and Peripheral simultaneously. Is this programming heresy? We couldn't tell you; we haven't been around long enough. Anyways, messages are sent though via the Central and received via the peripheral, and through some magic programming fluff, it pops out as most importantly text, but soon also graphics and other sorts of game information.
Challenges we ran into
One of the main challenges we ran up against was implementing the BluetoothManager. Originally, we tried to write it with Apple's MultipeerConnectivity tools, but those require wifi, meaning that not only will it not work on Purdue's PAL3.0, but it also won't work on a plane without wifi.
We therefore, after a multitude of hours, had to revamp the BluetoothManager a multitude of times until we finally came across a working solution (with enough time to spare for some sleep!).
Accomplishments that we're proud of
"Getting it to work" -Krish
- Getting it to work on time
- Learning Swift so quickly
- Having fun
What we learned
Chris:
- New Swift functionalities
- Xcode interface
Caleb:
- Swift
- Things don't always have to be cleanly implemented as long as they work
- How to use the StarShips
Krish:
- SwiftUI is under-documented
- Planning most often does not go your way
What's next for SkySync? Keep an eye out for:
- SkySync's Premium Subscription: THE SKY-HIGH SOCIETY
- A better UI
- New games
- Preloaded ads
- Functionality for over two people
- Our sanity (we lost it around 12:00am)
Log in or sign up for Devpost to join the conversation.