Open toastal opened 1 year ago
I've been keeping an eye on that for some time 😉
Unfortunately, their Android implementation is closed source and there's no documentation how to use the library on Android, which makes using it really much more painful than it should. I know how to do it, but it would take me some time.
Frankly, I find it a bit puzzling why they publish the library under LPGL but don't open source their Android client.
The higher data density of a JAB Code just means it's possible to pack more information into the same physical space. A JAB Code can be smaller than a QR Code with the same content. But the maximum capacity is not very much greater than that of a QR Code: the JAB Code creator can encode a maximum of 5,607 alphanumeric characters where a QR Code has a storage capacity of 4,296 alphanumeric characters. So yes, a JAB Code can encode more data, and in a smaller space, but there's still plenty of room for more than just a vCard in a QR Code too 😉
Well you know better than I! Thank you for shedding more light on the project. It is a shame that yes the Android app isn't FOSS--and that's not helping adoption.
Seemingly the JAB Code creator can encode a lot more than 5607 characters (but the size starts to get a little out of control I assume, my browser ended up crashing when I tried to generate a code of the maximum size):
Re: the android source code, allegedly it was given here https://github.com/jabcode/jabcode/issues/68 but I have no idea what the licensing for it is and I am not familiar with developing for Android, so I have no idea whether it is even the required files. EDIT: they don't seem to have open sourced the app, but they claim that the app only takes the picture and feeds it into the jabcode library (https://github.com/jabcode/jabcode/issues/41#issuecomment-662888048).
https://jabcode.org/
JAB is a LPGL 2.1-licensed 4 or 8-color barcode spec with a C lib that uses those extra bits to encode more information than the typical black & white most barcodes support. There are a lot of use cases where extra bytes can really help out—such as sending a vCard with more than just name+email+tel or a multi-lingual vCard or a message that would normally require an always-on server to deliver the real message via a website.