Lueskelin Slashdotista Applen luopuneen creator-koodeista. Tämä on varmaan pitkän linjan macisteille kaihoisaa, kun dokumentteihin ei enää liity perinteisiä "TEXT"- ja "MooV"-koodeja.

Toisaalta Mac OS X ei kuitenkaan toimi pelkästään tiedostopäätteiden varassa. Se käyttää Uniform Type Identifier -tunnisteita (UTI) dokumenttien assosioimiseen oikeisiin sovelluksiin. Itse en ollut aiemmin tietoinen koko UTI-järjestelmästä, joten otin hieman selvää.

Applen dokumentaatio selittää logiikan. Esimerkiksi UTI-tyyppiä public.mpeg tukeva sovellus pystyy avaamaan sekä .mpg- että .mpeg-päätteiset tiedostot. Käyttöjärjestelmä ei erottele sen tarkemmin kumpaa päätettä jokin tiedosto on. Samaan UTIin mäppäytyvät myös MIME-tyypit video/mpeg, video/mpg, video/x-mpeg ja video/x-mpg, joten netistä ladatut tiedostotkin aukeavat aina oikealla sovelluksella.

Yksi UTI on siis eräänlainen hubi, johon mäppäytyy toisesta suunnasta joukko erilaisia tiedostotyyppejä, ja toisesta suunnasta joukko sitä tukevia sovelluksia. Jokin näistä sovelluksista on oletussovellus, jolla kyseisentyyppiset tiedostot avataan. Loput näkyvät hiiren oikealla napilla "Open With" -valikossa.

Miksi UTI-tyyppejä tarvitaan, kun MIME oli jo olemassa? Aiheesta on hyvä juttu Ars Technicassa siltä ajalta, kun ominaisuus tuli Tigeriin (10.4). Oleelliset parannukset ovat monitasoinen perintähierarkia sekä reverse-DNS-notaatioon perustuva nimeämiskäytäntö. Näiden ansiosta esimerkiksi minun olisi helppo tehdä oma net.kfalck.specialtext-tyyppi, joka periytyisi public.text-tyypistä. Se aukeaisi oletuksena omalla spesiaalitekstieditorillani, mutta tarvittaessa myös TextEditillä tai millä tahansa tekstiä tukevalla editorilla. MIMEssä tällainen periminen on käytännössä mahdotonta.

UTI-järjestelmän hienous on siinä, että se ei lisää tiedostoihin mitään "maagista" metadataa perinteisten type- ja creator-koodien tapaan. Ainoastaan sovellukset joutuvat julistamaan, mitä UTI-tyyppejä ne tukevat. Tiedostot taas mäppäytyvät automaattisesti päätteidensä perusteella oikein. Huono puoli on, että esimerkiksi oman tekstityyppini pääte pitäisi olla jotain ".kfalcktext" tapaista, jotta se olisi tarpeeksi uniikki.

Maaginen metadata ei tosin ole vielä lopullisesti kadonnut Snow Leopardistakaan. Yksittäisen tiedoston voi edelleen valita aukeavaksi aina juuri tietyllä sovelluksella. Tällöin esimerkiksi tiedostolle "kuva.jpg" luodaan kulissien takana extended attribute (Terminalissa komento xattr) nimeltä com.apple.ResourceFork, jossa määritellään sen aukeavan aina sovelluksella /Applications/Adobe Photoshop CS4/Adobe Photoshop CS4.app.

Lisäksi tiedostoilla voi muuten olla HFS-attribuutteja, joista mielenkiintoinen on tässä yhteydessä "e" (Extension is hidden). Tällä kikalla voi piilottaa sen oman .kfalcktext-tiedostopäätteen näkyvistä, jos se näyttää turhan rumalta.

Nämä extended attributet ja HFS-attributet tietysti katoavat matkan varrella, jos tiedostoa lähettelee sähköpostitse tai kopioi USB-tikulla ympäriinsä. Mutta tiedostopääte jää aina jäljelle, ja se lieneekin tämän koko UTI-järjestelmän idea.

Published 8.9.2009