Scrivere e formattare un tag non sono la stessa cosa
La formattazione crea la struttura che un lettore generico usa per individuare il contenuto, e scrive un messaggio vuoto perché il tag sia valido. La scrittura mette contenuto dentro quella struttura. Un tag va formattato prima di poter essere scritto, e quasi tutti i tag arrivano già formattati.
Cosa fa la formattazione
Scrive il contenitore di capacità, quella piccola area che dice a qualunque lettore quale versione del formato si applica, quanto spazio è disponibile per il contenuto, e se quel contenuto possa ancora essere riscritto.
Di norma scrive anche un messaggio NDEF vuoto, così che il tag non sia soltanto descritto ma valido. Un tag formattato si legge senza errori e riporta che non c'è nulla su cui agire, che è il comportamento corretto per un tag vergine.
La parola inganna. Non viene ripulito niente nel senso in cui si ripulisce un disco, e su un tag vergine non c'era nulla da ripulire.
Cosa fa la scrittura
Sostituisce il messaggio NDEF con uno nuovo. La struttura resta, l'identificatore resta, la configurazione resta, e cambia solo la regione del contenuto.
È per questo che scrivere un altro indirizzo su un tag che ne porta già uno è una sola operazione e non una cancellazione seguita da una scrittura. Il vecchio contenuto viene semplicemente sovrascritto.
Dove la confusione produce guasti
Tre situazioni, e si presentano in modo abbastanza diverso da far sì che quasi nessuno le colleghi.
Un tag davvero vergine, venduto non formattato, rifiuta una scrittura con un errore sul formato. Lo strumento ha ragione e chi lo usa conclude che il tag sia difettoso.
Un tag la cui struttura è stata danneggiata da una scrittura interrotta si legge come non formattato anche se la sua memoria è intatta. Riscriverlo fallisce, riformattarlo riesce, e solo la seconda cosa viene tentata da chi conosce la distinzione.
E formattare un tag aspettandosi che cancelli un contenuto delicato, cosa che fa, oltre a rimettere a posto la struttura. Quella funziona, e vale la pena sapere che uno strumento che offre entrambe le operazioni non sta offrendo due volte la stessa cosa.
L'ordine giusto
Prima leggi, e guarda cosa riporta il tag. Formattato e vuoto, formattato con contenuto, oppure non formattato sono tre punti di partenza diversi.
Formatta solo se il tag non è formattato o se la sua struttura è danneggiata. Non c'è alcun vantaggio nel formattare un tag sano prima di scriverci, e su un tag con cicli di scrittura limitati non c'è ragione di spenderne uno.
Poi scrivi, poi rileggi per verificare. La verifica è il passo che tutti saltano ed è quello che prende le scritture parziali prima che arrivino in produzione.
Domande frequenti
Un tag nuovo va formattato?
Di solito no, perché quasi tutti i tag escono già formattati. Se una scrittura fallisce con un errore di formato su un tag appena tolto dalla confezione, la risposta è formattarlo prima.
La formattazione cancella l'identificatore del tag?
No. L'identificatore risiede in un'area programmata in fabbrica che la formattazione non tocca, e su un tag comune non si può cambiare in alcun modo.
Posso formattare un tag bloccato?
No. Il blocco rende la memoria di sola lettura, struttura compresa. Un tag bloccato con un contenuto danneggiato è irrecuperabile.
Formattare è la stessa cosa che cancellare?
Ha lo stesso effetto sul contenuto, e in più ricostruisce la struttura. Se l'obiettivo è soltanto togliere quello che c'è su un tag, scrivere un messaggio vuoto lo ottiene senza riscrivere la struttura.