Hello all,
You've seen QR codes, maybe Microsoft HCCB [0], maybe jabcode [1] – well, here's a prototype of something new for the pile. :)
I saw txqr [2] a while back and was impressed, but also curious about how much throughput was possible with animated bar codes. I may have gotten carried away in my research into the question.
cimbar is a single and multi-frame color barcode format using reed solomon (for now) and wirehair [3] for error correction. Files are encoded into an animated series of bar codes drawn to the display. Files are decoded by an Android app [4] with its camera pointed at the cimbar code. This works with all antennas off, e.g. in airplane mode, because it's only using the visual data channel.
I ported the encoder to wasm, because I could: https://cimbar.org
Sustained transfer speed is currently on the order of 800 kilobits/second. So it's not very practical for files larger than a couple of MB, unless you have a lot of free time. :)
[0] https://en.wikipedia.org/wiki/High_Capacity_Color_Barcode
[1] https://github.com/jabcode/jabcode
[2] https://github.com/divan/txqr
As a possible tangent, convert those images to inaudible audio to transfer files over the air: https://github.com/ganny26/awesome-audioqr
(air-gapped computers be damned)
Having said that, I am actually working on a small library for data-over-sound which can be used for small data chunk transmissions across the room [0].