Format negotiation
Most hypermedia systems on the market today have the same application program responsible for the hypertext navigation and for the browsing. It would be safer to separate these features as much as possible: otherwise, in defining a universal hypertext system, one is burdened with defining a universal multimedia browser. This would certainly not stand the test of time. Node content must be left free to evolve. This implies that format conversion facilities must be available to allow simple browsers to access data which is stored in a sophisticated format. Such conversion facilities tend to exist in many applications, though not, in general, in hypertext applications.
The format of the content of a node should be as flexible as possible. Having more than one format is not useful from the user's point of view -- only from the point of view of an evolving system. I suggest the following rules:
1. Basic formats
There is a set of formats which every client must be able to handle. These include 80-column text and basic hypertext ( HTML ).
2. Conversion
A server providing a format which is not in the basic set of formats required for a client must have the possibility of generating some sort of conversion of the text (even if necessary an apology for non-conversion in the case of graphics to text) for a client which cannot handle it. This ensures universal readability world over.
3. Negotiation
For every format, there must be a set of other possible formats which the server can convert it into, and the most desirable format is selected by negotiation between the two parties. The negotiation must take into account:
- the expected translation time, including current load factors
- the expected data degradation
- the expected transmission time (?!!)
Application-specific node formats (e.g. physics event) would allow specialized browsers to perform local processing. This is a natural extension of the hierarchy of node formats. I would suggest one stick to the rule that a server providing such a type of data must provide some default conversion to a standardized view.
An index or a keyword could be a specific node format which would be manageable by a browser.
Examples
Examples of rich text formats which exist already at CERN are as follows, with, in brackets after each, other formats into which it might be convertible:
- SGML ( Tex , Postscript, plain text)
- Bookmaster (Postscript, I3812, plain text)
- TeX (DVI, plain text)
- DVI (IBM 3812, Postscript, etc)
- Microsoft RTF (postscript, plain text, Next \ufffdWriteNow\ufffd) - See Specs
- Postscript, Editable Postscript (IBM 3812 bitmap)
- plain text