Flare is a novel communications protocol that encodes data as a sequence of colors, which are then flashed on one phone's screen and read by the camera of another phone. It is a cross-platform and simple alternative to NFC, and also can be used to transfer sensitive information without worrying about snooping on the network.

As each phone sees a flashing message with its camera, it also outputs the same message in real time. This allows daisy chaining of devices, letting Flare support multiple devices receiving the same message at once.

At the Pennapps opening ceremony, our team learned about the new camera API features in iOS 8. This solidified the idea of Flare, and inspired us to explore it further. Although we tinkered with the Android camera API, iOS 8 seemed to be vastly superior and we focused on making an Android send -> iOS receive proof of concept. As a more specific demonstration, we also enabled the iOS app to directly open URLs received.

In addition to being an interesting and simpler alternative to NFC, with growing online privacy concerns we think that certain users may also appreciate having a communication protocol that doesn't require any form of wireless communication, that could be intercepted, revealing passwords and keys.

Although we were worried the protocol would be unusably slow, we are proud of the fact we ended up capturing the flashes of light at 15 fps. This allows for decent data transfer rates and a huge awe-factor with the speed of the blinking.

Share this project:

Updates