A Universal File Format

This is a simple one. All files of data include some self-descriptive metadata in the header area at the start of the file. This allows the application that is opening the file to determine how to handle it, beyond the three or four letter suffix on the file's name (ie. .jpg or .jpeg).

To create a universal file format (.uff), you simply need to add a little more information (metadata) to this header.

Instead of telling the opening application how to read this particular .jpg or .doc file, your header would now include full information describing the file that would allow a universal file reader to open the data, regardless of type.

So your new metadata begins with some basic details that state how large the file of data and metadata is, and what type of file it is (image, audio, streaming etc). Next comes a section of metadata that tells the universal file reader how to read and process the information in this type of file. Normally, your application will know, for all the files it supports, how to do this. A universal file reader will only discover how to open a type of file when it is told by the data file itself in this metadata.

Next comes the metadata unique to the individual file (this exists in normal data files). Finally comes the data.

For a .txt file, the metadata will state that this is a static text file, and contain the ASCII character set and a description of a chosen font. Note that it is normal here to package fonts with each file (not unlike Adobe Acrobat files and HTML data that comes with a dedicated font). Only the portion of a character set required for the display of the file need be included. This keeps the file size down when dealing with unicode.

Using MetaFormatting for files ensures that a new file type can be rolled out and automatically accepted by all users and by all software and operating systems as it is developed.

Various implementation then present themselves. Ordinary file types may contain scripting features that automatically operate when the file is opened. Conversion of the file to the .uff file type would allow the recipient of the file to ban all of a specific type of automaic behaviour in any opened file, to prevent macro-virus infection, for example. Alternatively, the sender of a file may encode certain limitations on the use of the file in the .uff metadata, that the universal file reader would comply with.

Metaformatting to create a universal file format is a fairly simple example of the sort of technologies offered along the path to ADF/DCC computing.

Back to Stig's Dump.