Inspiration
We built this project because we saw an opportunity to hone our skills and learn while solving a troubling problem we recently lived all over Spain. We wanted to use Bluetooth since it is a technology present in most (all?) smartphone manufacturers, allowing great interop between different brands.
What it does
Our app allows users to receive messages without using conventional internet connection, but instead P2P decentralized networks using Bluetooth Low Energy. Our attempt was to make the app as minimal as possible, avoiding unnecessary things that could distract the user or slow the performance of the app.
How we built it
We built it using Flutter and libraries for handling Bluetooth low-level protocol details, like ble_peripheral or flutter_reactive_ble.
Challenges we ran into
In order to achieve a smooth user experience, a theoretically big network, and low battery performance, connection-oriented Bluetooth (classic) was not an option. To run without any user interaction, we hacked BLE advertising packets, more specifically the manufacturer data field, where we could inject up to 20 bytes of data. BLE is limited by its throughput, and this particular approach by its small packet size, making it difficult to send and receive messages. We also had to split messages into different packets in order to send longer messages.
Accomplishments that we're proud of
We are proud to have produced a stable version to allow the vueling admins to communicate with the users about important events, all within the time constraints, using a hack of BLE protocol.
What we learned
We learnt about bluetooth technology, its opportunities and its challenges. We also got a deeper knowledge about how networks work and how messages are sent.
What's next for unblacked
If this project goes forward, it could work for all airports, given a bigger customer base and the correct infrastructure, BLE beacons and future technology improvements.
Built With
- ble
- dart
- flutter
Log in or sign up for Devpost to join the conversation.