È disponibile subito il podcast di oggi de Il Disinformatico della Rete
Tre della Radiotelevisione Svizzera, condotto dal sottoscritto: lo trovate
presso
www.rsi.ch/ildisinformatico
(link diretto). Questa è l’edizione estiva, dedicata all’approfondimento di un singolo
argomento.
I podcast del Disinformatico di Rete Tre sono ascoltabili anche tramite
feed RSS,
iTunes,
Google Podcasts
e
Spotify.
Buon ascolto, e se vi interessano il testo e i link alle fonti della storia di
oggi, sono qui sotto!
Nota: la parola CLIP nel testo che segue non è un segnaposto in
attesa che io inserisca dei contenuti. Indica semplicemente che in quel punto
del podcast c’è uno spezzone audio. Se volete sentirlo, ascoltate il podcast
oppure guardate il video che ho incluso nella trascrizione.
---
CLIP: (in sottofondo) Rumore di apparecchio per tatuaggi
Roy Healy è un ingegnere informatico di Cork, in Irlanda. Nel 2019 ha deciso
di farsi fare un tatuaggio un po’ particolare: un codice QR. Uno di quegli
onnipresenti quadratini bianchi e neri con puntini messi apparentemente a
casaccio che oggi troviamo sui prodotti, sui cartelloni pubblicitari, sulle
fatture, sugli scontrini, nei ristoranti al posto del menu cartaceo e anche
sui cosiddetti “green pass” (più propriamente
“certificati Covid digitali”).
Il signor Healy dubitava che il suo codice QR tatuato sull’avambraccio potesse
funzionare, e si era quindi preparato a presentarlo come una
“affermazione dell’arroganza del tentativo di mescolare tecnologia e
biologia”, ma ha scoperto con piacere che il codice è perfettamente leggibile
nonostante sia disegnato su una superficie così irregolare ed elastica come la
pelle. Il suo codice QR contiene un link che porta di volta in volta al suo
blog, al suo profilo LinkedIn o alle regole di un gioco, come spiega in un’intervista al New York Times.
Molti
trovano
i codici QR insopportabilmente
brutti
e li chiamano
“vomito di robot”. Ma belli o brutti che siano, indubbiamente funzionano, costano pochissimo e
sono sorprendentemente resistenti. Questa è la storia della loro nascita e di
come una semplice chiazza di puntini riesce a creare un ponte fra il mondo
reale e quello digitale.
---
SIGLA
La storia dei codici QR inizia in Giappone nel 1994, come evoluzione dei
codici a barre. Prima che arrivassero i codici a barre, gli addetti alle casse
dei supermercati erano costretti a digitare a mano, uno per uno e per ore di
fila, i prezzi di ciascuno dei prodotti acquistati dai clienti. Risultato:
sindrome del tunnel carpale diffusissima, con dolori e perdita di sensibilità
alle mani.
CLIP: registratore di cassa vecchio stile
L’introduzione dei codici a barre, che potevano essere letti dal registratore
di cassa usando un semplice scanner, alleviò moltissimo il problema oltre a
ridurre le code alle casse.
CLIP: registratore di cassa moderno
I codici a barre, però, potevano contenere poche informazioni: una ventina di
caratteri alfanumerici al massimo. In Giappone serviva un modo per poter
rappresentare anche i caratteri Kanji e Kana, e così
Masahiro Hara, che lavorava presso la Denso, una società del gruppo Toyota, sviluppò il
codice QR. Le lettere “QR” significano Quick Response, ossia
“risposta rapida”, perché il codice QR è in sostanza un codice a barre
più capiente e più veloce da leggere.
Questa velocità maggiore è consentita da un paio di trucchi tecnici.
Attenzione: state per entrare in zona nerd. Tra pochi minuti saprete anche
troppo sui codici QR, ma non vi preoccupate: potrete sempre usare queste
conoscenze come arma segreta per troncare qualunque conversazione
indesiderata. Se qualcuno attacca bottone con voi in treno o in aereo e non vi
lascia in pace, lanciatevi in un’appassionata dissertazione sui dettagli del
funzionamento dei codici QR. La persona che vi sta scocciando si pentirà
rapidamente di avervi importunato.
Detto questo, prendete un codice QR, uno qualsiasi, e guardatelo. Sembra un
caos indecifrabile, ma in realtà contiene molti elementi che anche noi umani
possiamo decodificare.
Un codice QR mostra i tre quadrati che formano il
finder pattern. Credit:
Wikipedia.
Per esempio, noterete subito che il codice QR contiene tre quadrati con un
quadratino al centro, che delimitano tre dei quattro angoli del codice. Questi
quadrati fanno capire allo scanner (o all’app di lettura presente nel vostro
smartphone) che in quella zona c’è un codice QR. I quadrati sono tre e non
quattro per consentire allo scanner di capire come è orientato il codice e
quindi in quale direzione vada letto. Masahiro Hara scelse proprio un quadrato
con un quadratino al centro, invece di un’altra forma, perché era quella che
più difficilmente poteva comparire per altri motivi su una confezione, un
documento o un modulo: lo scoprì in maniera manuale, passando giorni e giorni
a sfogliare riviste, volantini e scatole di ogni genere in cerca di forme
semplici che non comparissero mai.
Nel codice QR c’è spesso anche un altro quadratino, più piccolo, a volte
presente in più di un esemplare: serve per consentire allo scanner di
correggere la distorsione dell’immagine se il codice viene visto di sbieco o è
stampato su una superficie non piatta, come l’avambraccio tatuato del signor
Healy. E se guardate bene troverete anche un altro schema nascosto: gli angoli
più interni dei tre quadrati di orientamento sono collegati da una riga e una
colonna di puntini alternati bianchi e neri perfettamente regolari, a
differenza di tutto il resto dei puntini.
Il
timing pattern.
Credit:
Pillazo.
Anche questa riga e questa colonna servono allo scanner per capire le
dimensioni e proporzioni del codice e correggerne le distorsioni di
inquadratura. Altre informazioni sul formato e sul tipo di dati sono indicate
nelle righe e colonne adiacenti ai quadrati di riferimento. Insomma, c’è molto
ordine nel caos apparente di questi puntini.
Tutto questo è molto ingegnoso, certo, ma il secondo trucco è quello più
potente. Provate a coprire un angolo di un codice QR, oppure prendetene uno
stampato male o danneggiato: lo scanner riuscirà quasi sempre a decodificare
lo stesso il contenuto del codice. È come avere un libro magico nel quale una
pagina di cui una parte è stata strappata via riesce comunque a mostrarvi le
parole mancanti.
Questa umile macchia d’inchiostro riesce a sopravvivere a molti danneggiamenti
perché usa la correzione d’errore: della matematica piuttosto complessa,
sviluppata
nel 1960 da Irving Reed e Gustave Solomon presso un centro di ricerca militare
del MIT, in Massachusetts, che include nella mappa di puntini alcuni dati di
controllo. Questi dati dicono cosa ci deve essere scritto nei puntini
precedenti. Se quei puntini non sono leggibili, per esempio perché sono stati
danneggiati, cancellati o coperti, la correzione d’errore permette di
ricostruire l’informazione mancante. Questo è molto utile negli ambienti nei
quali si usano i codici QR, che sono soggetti a graffi, ammaccamenti,
cancellazioni e abrasioni.
Semplificando moltissimo, immaginate che i dati da proteggere siano i numeri
1, 3, 5 e 11: la correzione d’errore aggiunge l’informazione “il totale dei
numeri precedenti deve essere 20” e quindi se uno dei numeri risulta
illeggibile è possibile dedurlo. Questo è solo un esempio grossolano: la
matematica della correzione d’errore nei codici QR è molto, molto più
complessa, ma il concetto di base è lo stesso.
Resistenza ai danni e
matematica militare: niente male, per un semplice quadratino stampato, vero?
Questa correzione d’errore ha anche una conseguenza estetica poco conosciuta:
siccome i dati registrati nei codici QR sono appunto ricostruibili anche se il
codice è parzialmente danneggiato, è possibile produrre dei “danneggiamenti” artistici: per esempio, si può inserire un logo al centro o in un angolo del
codice per personalizzarlo o abbellirlo, oppure si possono cambiare alcuni
colori o inserire dei simboli all’interno dei quadratini di riferimento, e il
codice risulterà leggibile lo stesso.
Il prezzo di questa miglioria estetica è
una minore resistenza dei codici QR “artistici” ai danneggiamenti, ma se
l’ambiente in cui vengono usati non è troppo ostile è un compromesso
accettabile.
I codici QR possono inoltre contenere moltissime informazioni: fino a 7089
numeri oppure 4296 caratteri alfanumerici o 1817 simboli Kanji o Kana. Per
fare un esempio concreto, due soli codici QR conterrebbero tutte le parole di
questo podcast. Un bel passo avanti, rispetto alla ventina di caratteri dei
vecchi codici a barre.
Robusto, capiente, compatto, economico e facile da stampare ovunque e da
leggere con gli smartphone: non sarà un capolavoro di estetica, ma il codice
QR fa bene il proprio lavoro e inquina molto meno delle soluzioni alternative,
come per esempio i microchip usa e getta. Soprattutto, ci dà un’occasione per
scoprire quanta complessità matematica e informatica c’è dietro gli oggetti
apparentemente più semplici che usiamo tutti i giorni.
Fonti aggiuntive: Gizmodo, SecurePass, QR Code Generator, Britannica, Forbes.