Txqr: Transfer data via animated QR codes
github.com
github.com
wat. I need an explanation how these implementations are not "cross-platform" yet his Go implementation is.
1 - from the author's blog post at https://divan.github.io/posts/animatedqr/
While those all will work well on major PC OSes and for the most part on Android devices, Apple's policies are quite strict about running compilers and interpreters on device last I checked. Meaning you need compiled code in some way, shape or form.
In fact, there at least 3 Java AOT compilers that support it.
OP here. I agree the wording is a bit unfortunate here, as all languages mentioned were designed to be cross-platform. I was referring rather to the practical complexity of using the code in different environments - native desktop, mobile (Android/iOS) and Web (JS/WASM).
With Go you can take normal Go code and build it for iOS/Android/Web in a few seconds with a minimal effort. I personally don't know if this even possible for Java/Python/JS, let alone with such an ease.
Here's my medium article on it: https://medium.com/@__Tux/using-bandcamp-as-a-backup-solutio...
Some software for the ZX Spectrum was distributed in a similar fashion, by being broadcast in audio format:
https://en.wikipedia.org/wiki/ZX_Spectrum_software#Others
I suppose if you uploaded a recording of that to YouTube you could do a similar thing, although I can't seem to find any examples at the moment.
Right. A platform for audio/video or in this case extremely inefficient file storage.
> Some software for the ZX Spectrum was distributed in a similar fashion, by being broadcast in audio format:
That's fascinating, thanks for sharing!
https://www.youtube.com/watch?v=UBJNXzfZ4pw
There is some audio at the end that can be read into a ZX Spectrum emulator.
It comes with this nifty demo of text->animated QR code: https://qrloop.netlify.com/
https://lwn.net/Articles/503677/
This should be a standard and could be the Kermit of H2M and M2M systems.
It would be interesting to try bidirectional transfer using the front facing cameras with two phones pointed at each other.
Bluetooth and wifi are way too finicky for local "data dump"-style communication, whereas every Android/iOS phone has a front camera and a screen.
P2P applications like Secure Scuttlebutt etc. could really use a reliable local exchange without the wireless headaches.
Update: Actually, I was too optimistic : https://divan.github.io/posts/animatedqr/
Each display window had a bunch of stickers on it, similar to QR codes. You could use the app on your phone to point your camera at one of the stickers and get more information about different products on display.
They also tried something similar with a different app and some kind of Bluetooth connection.
All of this was still early days, so it didn't work very well. It would probably be OK now that the technology has matured.
If someone is interested in how we got an amazingly small QR using base-91 and some other cool methods here is a good read with demo code
https://docs.google.com/document/d/1B7AJDVu5ei6c7ZuHRiTvQ_q8...
User confusion and the fact that high quality camera tech and OCR aren't exactly cheap.
But I agree it's more interesting from a technical point of view over a practical one...
I could see this being used to share diagnostic information, certificates,condensed instruction manuals, &c.
However, adding a small lcd display allows the presentation of human readable data as well, and many devices already have screens on them.
(I always thought serial over TRS (headphone) cable would be an interesting option as well.)
BT/Wifi methods will broadcast data to anyone within radio range, but optical data exchange like this can take place under your coat, or using some easy means of protecting the transfer against 3rd party listeners.
Some applications from the top of my head.
1. Access to buildings/restricted areas etc. can be made more secure, by using higher data content with animated codes, foregoing the requirement of the device having an internet connection. 2. Transfer data to a large crowd of people, say at a concert, etc. 3. Pairing of devices where one device cannot have bluetooth or other wireless hardware (due to power / security constraints)
Honestly, this is another channel of communication between devices and it's exciting.
data distribution over normally visual broadcast channel (TV -> mobile device, billboards -> mobile)