Markup[1] is the process of adding notes to a text to incorporate additional information and is also known by the term annotation[1]. These notes can be addressed to oneself (this passage is important) or to collaborating parties (this should be rephrased or updated) or to machines as instructions for further processing. A markup language[2] is a set of rules that describes the type of annotation used in a document, such that multiple parties/machines can understand its meaning.
Markup might be as old as writing on media. The image below shows the annotation of a handwritten manuscript by Isaac Newton[3] (1643 - 1727 AD), where he discarded passages and made corrections to existing text. The next one is a combination of handwritten notes and highlighted passages made by a so-called marker[4], the device where the name markup language originates from. The picture on the right might already be considered a type of markup language, in which each colour represents a certain meaning (yellow=person, blue=date, orange=location, e.g.) which is explained in the legend next to it. This ensures that other parties/machines can understand what is meant by the different colours as well, which is exactly what a markup language is supposed to do.
Markup is the mechanism used to realize the idea of Vannevar Bush:
A provision whereby any item may be caused at will to select immediately and automatically another
. It is the method by which any piece of digital text can be singled out and annotated with information such that it can act as hyperlink.
The first markup language GML[9] (Generalized Markup Language) created in 1969 by Charles Goldfarb, Edward Mosher and Raymond Lorie, was however never developed with the intention to create hyperlinks. It originated from a project started by IBM (International Business Machines Corporation) to create a machine-readable document database that could be used for legal practice[10].
Just as the laws of Nature, the laws of Society generally outlast the lifetime of an individual.The first concern of Goldfarb and his team was therefore not aimed at "how information can be found", but how to make sure that the created content survives the ages. The sections below describe some key features from their original design report[11].
Separation of content and format is an idea originally posted by William Tunnicliffe in 1967[12]. A format[13] is the shape, size, layout, or general organization of something. It refers to the structure in which information, media, or physical items are arranged and presented. Consider for example the four items below.
Although probably not immediately apparent, the primary content of all the physical objects above is the same: The ten commandments from the Holy Bible[18]. The key takeaway here, is that the content has not changed over a period of 2000 years. What changed is the media (stone, papyrus, parchment, paper) and the presentation of that content (flat lines, heavily illustrated, structured columns). If one would be able to separate the content (what is presented) from its format (how it is presented), one could create content that is stable over time.
In first instance that sounds "easier said than done". Before the invention of the personal computer, the author was forced to act like a painter. He first selected a canvas of a certain material and then thought about the composition in order to fit the content within the physical boundaries (size of paper, stone tablet, etc.). This is fundamentally different from computers though. Files are stored on hard drives as bits and bytes. One needs a computer program in order to retrieve the file from the drive and then present it to the user in a human interpretable way. By basic operating principle, that makes that content and format are already fundamentally separated: The way the content is stored, does not equal the way it is presented.
What GML realized is that it stays that way. A GML file contains annotated content only and does not include embedded instructions as how to present that content. This is in contrast to popular computer applications like Word[19] or Powerpoint[20] in which the user again acts like a painter and first decides on paper size, sheet ratio or page orientation and then tries to squeeze in the content. In case of GML, independent specialized applications (your browser being one of them) can worry about how to fit the content to a certain output format. In the early days these were mainly printing applications, wondering how to best fit the content to a certain paper size (A3, A4, A5) or newspaper column. Early markup languages therefore mainly used markup to describe the structure of the document (this is a table of content, this is a title, chapter, paragraph, etc.) such that the specialized programs could decide where to best put the line and page breaks.
A good exercise to illustrate how this works, is to put your browser in partial screen mode like shown in the picture below. Adjust the width of the screen and witness how your browser continuously restructures the content in order to best fit whatever viewing window the user provides.
If you would do a similar exercise with a program such as Word[19] or Powerpoint[20], you will notice that they don't restructure your canvas but simply choose to either mask (presenting you with a partial page) or zoom out (still presenting you the full canvas, but at a lower resolution). As these programs work with predefined output formats (Word: Paper size and orientation, Powerpoint: Screen ratio (4:3, 16:9)), they know that any other viewing area is just intermediate and simply accept that viewing conditions might temporarily not be ideal.
The point of GML is that the user determines the final output format and that the creator has no way of knowing what that will be. It could be that the viewing area selected by the user is a matter of choice, but it could equally well be given by hardware limitations of his viewing device (mobile phone, tablet, pc monitor) and maybe the content is not viewed at all but narrated by some sort of audio application, fed to a braille interpreter or visualized by whatever other technology the future might bring.
GML therefore only describes the content and does not describe the presentation. It will simply inform any viewing application that "this piece of text is the first commandment of the Holy Bible" and "this piece of text is the second". How that information is then best presented/narrated/visualized is up to the program chosen by the user (and if you want that to be a program that hammers hieroglyphs into stone tablets, that's entirely your choice).
As mentioned earlier, files are stored on hard drives as bits and bytes. Bits are binary entities that can only have a value of 1 or 0. These entities are normally grouped in sets of eight called a byte. Moving through all possible combinations (0000 0000, 0000 0001, 0000 0010, .. , 1111 1111), will reveal that there a total of 256 different combinations for a single byte. The question is now what those 256 possibilities should represent and this is determined by something called a file format: A specification of the way that information is stored in a file.
<< The remainder of this site is under construction >>