NUTI alla meta
Se avete un filo di mal di testa, chiudete il browser e tornate domani. Sto per raccontarvi una cosa molto ma molto complicata.
Se avete un filo di mal di testa, chiudete il browser e tornate domani dopo una dormita di otto ore, o meglio dieci. Sto per raccontarvi una cosa molto ma molto complicata. Volete proseguire? Sicuri? OK, allacciate le cinture, si parte.
Chi pratica Mac da almeno tre anni ricorderà forse una particolare diatriba che scoppiò quando Mac OS X rimpiazzò definitivamente il vecchio e stanco Mac OS 9 sulle nostre scrivanie virtuali: la contesa sui metadata. Chi allora non c'era e chi non si ricorda può fare un salto sul mio sito e ripassare (attenzione ché domani interrogo):
http://www.accomazzi.net/TarticoliI1233.html
http://www.accomazzi.net/TarticoliI1226.html
Il secondo articolo in particolare discuteva i limiti di OS X 10.1, tutti grazie al cielo risolti in Tiger tranne il primo e cioè quel simpatico pasticcio incoerente chiamato Dock. Uno di quei limiti era proprio l'imposizione al Regno Felice delle Mele in Fiore di una legge iniqua e disgustosa importata dal tetro Sceiccato di Emesdosistan: le estensioni. Cioè si supponeva che, se voi volete chiamare un documento Photoshop "dic.doc", il computer presuma che si tratta invece di un documento di Microsoft Word. Che il nome di una cosa debba necessariamente indicare che cosa ci sta dentro è una idea così demenziale che poteva venire solo dal mondo dei PC Windows (per una dimostrazione, vi ricordo che io non mi chiamo Luca Accomazzi.man e non scrivo per Macworld.mgzn). Il contenuto dei nostri documenti è un insieme di dati, mentre le descrizioni dei documenti vengono chiamati normalmente "metadati", o più sinteticamente "meta": per esempio il nome e il tipo del file, ma anche chi l'ha creato e quanto, e chi ha il diritto di leggerlo.
Poche concessioni al buon senso alleviavano questa inutile e nociva concessione alla follia collettiva: ma restava il fatto che l'uso delle estensioni diveniva anche per Apple l'unico meta necessario e sufficiente per indicare il contenuto di un documento.
Con Mac OS X 10.4, mamma Mela finalmente ci ripensa (che vi devo dire: meglio Tiger che mai). Nel nuovo sistema operativo c'è un sistema nuovo per indicare il contenuto dei file, e tutti gli sviluppatori sono simpaticamente invitati a cominciare ad usarlo subito. Le estensioni ahimè restano, ma sono destinate a perdere d'importanza a favore degli Uniform Type Identifiers, inevitabilmente contratti in UTI. In soldoni, se sino a ieri un documento Photoshop doveva avere un nome terminante in "psd", oggi viene internamente etichettato dal sistema operativo come "com.adobe.phoshop". Tutto qui, diranno i miei piccoli lettori? No, ragazzi, c'è di più. Il nome UTI è sempre associato a una icona e a un nome esteso e tradotto in tutte le lingue (sì, anche se Photoshop non è installato), e già questo non è male. Ma la grande idea è che le UTI sono organizzate in modo gerarchico. Un documento di tipo com.adobe.phoshop è automaticamente anche un documento di tipo public.image, perché è una immagine. La gerarchia non è strettamente ad albero: per esempio, le applicazioni (com.apple-application-package) sono sia bundle che package (se non sapete cosa sia un bundle né cosa sia un package, o se pensavate che fossero la stessa cosa, per stavolta vi perdono).
L'idea è che finalmente se noi cerchiamo "tutte le immagini create negli ultimi quindici giorni", il Mac le può trovare. Le trova tutte anche se ieri noi abbiamo installato il nuovo programma SurfPaint, che è stato appena rilasciato dal produttore, perché si suppone che durante l'installazione SurfPaint abbia informato Tiger che com.surf.surfpaint è un sottotipo di public.image. Hai detto niente.
Spotlight, sotto al cofano, funziona proprio così: il nuovo motore universale di ricerca istantanea parla al nucleo di Tiger usando le API (cioè le interfacce) degli UTI. C'è anche un meccanismo gerarchico per trovare la miglior applicazione possibile per aprire un documento. Sul mio Mac, dove Photoshop non esiste, il tentativo di doppiocliccare un suo documento comporta l'apertura di Anteprima, perché è quella l'applicazione responsabile per tutti i documenti public.image. Ma se io installassi il programma di Adobe, questo diverrebbe automaticamente responsabile per il tipo com.adobe.phoshop e si assumerebbe l'incombenza.
Come va il mal di testa?
Originariamente pubblicato in data 26/12/2005