QR-code opbouw

QR-code met een verhaal en uitleg

Een paar weken geleden zag ik een vrouw naar een QR-code kijken. Ze stond er verbaasd naar te staren, alsof het kunst was die zij niet begreep. Even verbaasd was ik over het feit dat zij niet wist dat ze naar een QR-code keek.

Mijn eerste QR-code zag ik in 1997 en ik was direct enthousiast. Een paar jaar later besprak ik serieus enkele promotionele QR-acties met zakenrelaties. BP, DA-drogisterijen en Nutricia waren de enige bedrijven die er iets in zagen. Maar het leek te vroeg en uiteindelijk liep het op niets uit.

QR-code

Kort daarna leek de interesse overal in het land te zakken, voor zover mensen de code al kenden. Nog voordat de QR-code populair werd, leek ie alweer verdwenen. Dat is in ieder geval mijn perceptie. Het duurde daarna nog best lang voor het in Nederland gemeengoed werd. Wellicht dat technici en logistiekdeskundigen in de retail er in de tussentijd mee bezig waren. Het grote publiek in ieder geval niet en ze werden er ook niet mee geconfronteerd bij acties, op advertenties en dergelijke.

Dat had inmiddels wel gekund. De QR-code is een bijna logisch vervolg op eerdere antwoorden. Daarbij was de vraag het verminderen van de fysieke belemmeringen bij het overdragen van informatie. De telegraaf, telex, telefoon en barcode waren daarop al antwoorden geweest. Wellicht dat je zelfs bijvoorbeeld fotografie als een antwoord kunt zien.

Tweedimensionaal vierkant

Die vierkantjes met hun schijnbaar willekeurige vormgeving in een vierkant, waren ook een antwoord. Het kwam van de Japanner Masahiro Hara en zijn team bij Denso Wave. Dat bedrijf hield zich onder andere bezig met barcode lezers. Dus toen Toyota zich afvroeg of er geen beter systeem was dan de barcode, kwamen ze bij Densa. Daar gingen ze aan de slag. Een nieuw systeem bedenken dat meer informatie kan dragen dan de 20 alfanumerieke tekens van de barcode.

Dat werd dus de QR-code. Niet toevallig. In dezelfde tijd waren anderen al bezig met 2D codes. Dus niet meer de eendimensionale streepjes, maar codes in twee richtingen. De eerste schetsen daarvan leken op magische vierkanten en Sudoko.

De eerste QR-code

De leessnelheid door een scanner vormde het grootste probleem met de 2D codes. Daarmee maakten Hara en zijn team een belangrijke stap vooruit na het idee van de drie positievierkanten. Daardoor weet een lezer dat het een code moet lezen. De geschiedenis daarvan is op zichzelf al een interessant verhaal.

Het team keek eerst naar allerlei vormen voor die plaatsherkening. Dat werd dus een vierkant. Omdat zo’n vorm het minst voorkomt op bedrijfsformulieren, bij Toyota het eerste doel van de QR-code. Daarna moest het team de afstand bepalen tussen het zwarte kader en het zwarte vierkant van de positievierkanten.

Onderzoek voor de QR-lezer

Ze gingen daarvoor allerlei teksten, advertenties en ander drukwerk analyseren. Na eindeloos onderzoek kwamen ze tot de minst gebruikte verhouding van zwart-witvlakken in drukwerk. Daarmee werd de witruimte tussen de zwarte delen van de positiedetectie bepaald. Uiteindelijk kon Toyota, anderhalf jaar na hun opdracht, een eerste QR-code bekijken. Die kon cijfers coderen met een scanner.

In dat scannen zit één van de redenen dat de invoering op zich liet wachten. Een belangrijke scanner van de QR-code is namelijk de smartphone. En die was nog bezig met een opmars. De mobiele telefoon bestond al wel, maar echt smart werd het pas met de iPhone en zijn Samsung look-a-like.

Sky is the limit met Q-code

Er zijn inmiddels allerlei boeken verschenen over de QR-code. Die behandelen de sociologische kant, andere de technische mogelijkheden, de geschiedenis of een andere invalshoek. Interessant. Maar ik vind vooral de mogelijkheden leuk. En daarbij vooral de creatieve manier hoe mensen met de QR-code nieuwe toepassingen vinden.

Musea gebruiken de code voor het project QR-pedia rechttoe rechtaan. Anderen doen dat ook voor hun eigen informatie. Tekst, Url of andere informatie opgeven en de QR-code genereren. Voor andere toepassingen zijn wat handelingen nodig. Van een betaalverzoek naar een QR-code komen heeft de banken toch wat kopzorgen gekost. Anderen moesten kassasystemen herprogrammeren om bijvoorbeeld bestellen met een QR-code in een restaurant mogelijk te maken.

Slimme tussenstappen en mijn QR-ideeën

Een QR-code heeft weliswaar meer tekens dan een barcode, maar is uiteindelijk ook beperkt. Dus bij een lange URL korten slimmerikken die eerst in. Daarbij toont zich een probleem, dat ook bij de QR-code op zichzelf een probleem vormde bij de invoering. Dat probleem is fraude. Je moet weten waar de QR-code vandaan komt of op zijn minst beoordelen of deze betrouwbaar is. Bij het zien van een achterliggende code, zoals ‘https://tinyurl.com/y6oey57b’, is dat niet ter plekke te achterhalen.

Maar met QR-code kun je ook leuke creatieve dingen doen. Dan heb ik het niet over de mogelijkheden die er geleidelijk bijkwamen, zoals een afbeeldingen in de QR-code. Maar over grappen en spelletjes. Ze zijn er wel. Maar zo gek als ik het kan bedenken heb ik het nog niet gezien. Ik wil daar nog niet te veel over vertellen.

Een voorbeeld

Ik kan wel verwijzen naar mijn creatieve denktechnieken. Kort door de bocht komen ideeën bij mij spontaan door een vreemde kronkel in mijn informatieverwerking, door nadenken over een probleem of door toeval. Ok, eentje dan. Deze ontstond door een combinatie van de kronkel en toeval.

Ik stond in een restaurant. Daar hing een vel papier aan een raam, met de bedoelde QR-code leesbaar voor mensen buiten het restaurant. Ik zeg in een baldadige bui tegen de uitbater: ‘je zou die QR-code op steviger papier moeten printen. Deze schijnt door. En als je het van deze kant scant kom je op een porno-site’. Mijn opmerking was gebaseerd op het feit dat de spiegelvorm er ook als een QR-code uitzag, met weliswaar de detectiepatronen verkeerd.

De restaurateur schrok, realiseerde zich dat het er ook vanuit de zaak als een QR-code uitzag en wilde het voor zichzelf zien. Hij kwam uit op een Duitse site met technische apparatuur. Ik even later ook, tot mijn verbazing. Want vanwege de verkeerde plaatsing van de detectiepatronen had ik een fout verwacht.

De eindige QR-code

Zijn de QR-codes ooit op, vroeg iemand me een tijdje terug. Ik vond het wel een grappige vraag. En je zou inderdaad kunnen denken dat de combinatie van zwarte en witte blokjes eindig is. Dan zijn er natuurlijk altijd nog trucjes, zoals die met de verkorte URL. Maar met de bestaande blokjes zijn heel veel codes te maken.

En mochten dat er uiteindelijk toch te weinig zijn dan zullen de makers het wellicht eenvoudig uitbreiden. Dat gebeurt dan ongeveer zoals met de uitbreiding van het banknummer naar IBAN of het uitgeputte aantal telefoonnummers in het verleden. Enige nadeel is dat de blokjes kleiner worden, wanneer het kader in dezelfde grootte blijft. Iets wat nu bij een lange tekst al een probleem geeft met scannen. Maar tegen de tijd dat de codes op zijn, is waarschijnlijk ook de scantechniek verbetert etc.

De grote getallen van de QR code

Momenteel bestaat de matrix van blokjes uit maximaal 177 bij 177 blokjes. Je zou denken dat je daarmee 31.329 (177 x 177) blokjes tot je beschikking hebt. Maar dat is niet zo. Ten eerst heb je meerdere blokjes nodig voor het beschrijven van bijvoorbeeld een letter. Die bestaat bij digitale codering uit 0 en 1, oftewel binaire code.  Bij QR zijn dat witte of zwarte blokjes.

Dan is er ook nog foutcorrectie. Dat is nodig om bijvoorbeeld bij vlekken of beschadiging toch tot een juiste decodering te komen. Vanzelfsprekend is die foutcorrectie bij heel kleine blokjes krachtiger dan bij grote blokken. Dus bij de kleinste blokjes, de matrix van 177 x 177 blokjes, neemt de foutcorrectie in verhouding meer blokjes in beslag.

Dit matrix met de grootste hoeveelheid blokjes wordt QR-code versie 40 genoemd. Elke versie heeft vier methoden van foutcorrectie, die als L, M, Q en H worden weergegeven. Bij L heb je met 7% de minste foutcorrectie. Daar heb je met 23.648 uiteindelijk wel de meeste blokjes over. Daarmee kun je 4.296 tekens (alfanumeriek) combineren of 7.089 cijfers (numeriek).

De opbouw van een QR-code

Voor de liefhebbers nog even de technische berekening. Naast letterbeschrijving en foutcorrectie komen er dan nog wat zaken bij. Ik kijk even naar foutcorrectie L in de 177 x 177 matrix. We zagen al dat er 31.329 blokjes beschikbaar zijn. Voor een positievierkant van 8 x 8 blokjes zijn 64 blokjes nodig. Drie van die vierkanten betekent 192 blokjes.

Bij steeds kleinere blokjes is uitlijnen nodig, daarvoor dienen de uitlijnvakjes. Die zijn er overigens al vanaf versie 2. Bij versie 40 zijn het er 64 en ze zijn elk 5 x 5 blokjes, dus in totaal 64 x 25 = 1150 blokjes.

Tenslotte zijn er nog tellijnen. Dat zijn de zesde rij en kolom. Twee lijnen van afwisselend witte en zwarte blokjes. Hiermee kan de scanner zien hoe groot de QR-code is. Het bestaat bij ons voorbeeld uit 2 x 136 blokjes = 272 blokjes.

De belangrijkste informatie

We zijn er nog niet. De belangrijkste gegevens leest de scanner als eerste in. Dat zijn de gegevens over de gebruikte foutcorrectie en welke versie wordt gebruikt. Deze bronnen heten respectievelijk de formaat informatie module en de versie informatie module. De eerste bestaat bij onze versie 40 uit 31 blokjes en de tweede uit 36 blokjes.

Nu gaan we tellen. 192 + 1150 + 272 + 31 + 36 = 1681 blokjes. En dan: 31.329 – 1681 = 29.648 blokjes. Dat zijn er meer dan de hierboven genoemde 23.648 blokjes. Inderdaad. Dat komt omdat we de foutcorrectie er nog niet in hebben verwerkt. Hierboven schreef ik dat die 7% is bij L, maar de percentages van de foutcorrecties zijn een benadering. In ons voorbeeld zijn het 750 foutcorrectie codes van 8 bit (blokjes). Dat maakt dus 6000 blokjes. En 29.648 – 6000 = 23.648 blokjes voor de tekens (letters, cijfers, leestekens, spatie etc).

De tekens, cijfers en meer modi

Bij dat aantal blokjes zou je denken dat je 2.956 tekens (23.648 / 8) kunt maken. Uitgaande van een Ascii of soortgelijke code waarbij een teken uit 7 of 8 bits bestaat. Maar er zijn nu nog een paar blokjes nodig voor andere zaken. Bijvoorbeeld informatie over de zogenaamde modus. Er zijn namelijk verschillende mogelijkheden.

Ik gaf tekens en cijfers al aan. Maar een andere modus is bijvoorbeeld Japanse tekens. En er is er eentje voor bijzondere tekens, bijvoorbeeld arabisch letters. Tenslotte is er ook de binaire. Die laatste komt bij versie 40 in de buurt van de 2.956 overblijvende hokjes. De QR-code gebruikt namelijk slechts 4 blokjes om de modus aan te geven, waardoor er 2.952 blokjes overblijven.

Aantal tekens

Nu wordt het lastig. Van de overgebleven vakjes gebruikt de codering er nog een paar. Daarmee geeft het aan hoeveel tekens er met de nu echt overgebleven blokjes zijn gemaakt. Dat verschilt namelijk per soort tekenset. Voor alfanumerieke tekens (beter is ‘karakters’) zijn meer blokjes nodig dan voor een numerieke karakters.

Het aantal benodigde blokjes voor de karaktercode en informatie-aantal verschilt per karakterset. En het hang ook nog eens af van de versie van de QR-code. Maar uiteindelijk blijven er genoeg blokjes over om een tekst, URL of andere informatie kwijt te kunnen.

En gelukkig kunnen we ook zonder alle bovenstaande informatie aan de slag met een QR-code generator. Op internet staan er voldoende. En omdat we niet dagelijks een code nodig hebben is het online maken wel makkelijk. Ik gebruik zelf onder andere deze van gratisQRcode. Wil je toch liever een programmaatje op je computer. Dan zou ik kiezen voor de gratis QR Code Studio van het Oostenrijkse bedrijf Tec-IT.

Een willekeurige website

Het leek me wel leuk je als lezer te verrassen. Ik heb een aantal QR-codes klaargezet. Hieronder staat er eentje. Het is willekeurig gekozen en brengt je naar een nog onbekende veilig bestemming. Druk je op verversen van de pagina, dan verschijnt er weer random een nieuwe bestemming. (Lees je dit op een smartphone en lukt het de QR-code te lezen, laat me dan even weten hoe je dat doet).

Aanvullende informatie

Er zijn veel site met informatie. Sommige zijn nog veel technischer dan bovenstaande tekst, andere te summier. Boeken zijn echter interessanter:

  • Het boek ‘QR-code for dummies’, uit 2012 van Joe Waters is redelijk toegankelijk, zoals de meeste ‘Dummies’-boeken
  • ‘The Evolution and Emergence of QR Codes’, uit 2017 van Celalettin Aktas, professor van de faculteit Journalistiek en Communicatie aan de Universiteit van Kocaeli. Het is intereressant, zeker als je bijzondere interesse hebt in QR-codes
  • ‘QR Codes Kill Kittens – How to Alienate Customers’ uit 2013 van Scott Stratten en Alison Kramer is een combinatie van een marketing- en managementboek. Op een vlotte, speelse manier komen allerlei onderwerpen aan bod, opgehangen aan de QR-code, van wat je wel of juist niet moet doen bij je bedrijfsvoering.
Print deze pagina
Bovenstaand bericht is geschreven op 26 januari 2021 door in de categorie 2021, Algemeen, Geschiedenis

Vorige en volgende berichten

« Ouder: Nieuwer: »

Een willekeurig bericht

Ik schrijf op deze site over allerlei onderwerpen. Soms is het heel persoonlijk, soms vooral informatief of beschouwend. Hieronder een willekeurig bericht uit ruim 2000 berichten.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *