I cannot resist the impulse to make fun of Apple’s notion of “Uniform Type Identifier”. I hasten to admit that they identify a real need—my mirth is over the idea that the need may be filled. The notion is to provide a taxonomy of the world’s computer data formats. This is already a much harder task than Linnæus undertook 230 years ago. His taxonomy was eased by the fact that the plants and animals he considered were the ones you could see without a microscope and thus were indeed an evolutionary tree where extant species had a long unique chain of ancestor species which meant that one tree could organize the species well. They were a naturally nested set of categories. Occasional examples of convergent evolution caused unrelated things to look related, until examined by techniques unavailable to Linnæus.

By contrast the set of ‘formats’ of today’s computer data is more like the variety of microorganisms where rampant gene jumping scrambles most resemblance to a tree of species. Even the notion ‘species’ (or type) is under great stress in such areas.

As they speak of “reverse-DNS format” they admit that a high level of the taxonomy is ‘ad hominum’—a classification of format by who promulgates it—an institutional hierarchy. In their section on ‘Conformance’ they point out that their taxonomy is not an inclusion taxonomy. public.htmlpublic.text and even com.apple.quicktime.moviepublic.movie. While an editor that can process a text file should indeed be able to edit an html file, it should be noted that an abstraction layer has been ignored. Apple’s TextEdit application indeed negotiates with the user on whether to pay attention to .rtf semantics.

Xanadu had a class of values called ‘coordinates’ sub classes of which would suit some particular ‘space’ in order to locate a point in that space.

Mathematical manifolds generally require a plurality of coordinate systems, each called a ‘chart’ and collectively called an ‘atlas’. An essential property of these charts is that they overlap.

Under(?) conformance they describe two hierarchies: physical and functional. I presume that functional inclusion is a bit like class inheritance. There is a vague implication of system supplied coercion services to make the data look as you expect, as when the compiler converts an integer to float so as to add the number to another already expressed as a float.


Contrary-wise see Celestial Emporium of Benevolent Knowledge's Taxonomy, too.