Hypermedia Types

Hypermedia Factors
CL
CR CU CM
LE LO LT LN LI

"The WWW is fundamentally a distributed hypermedia application." Taylor, Medividovic, Dashofy (2010)

"Hypermedia is defined by the presence of application control information embedded within, or as a layer above, the presentation of information. Distributed hypermedia allows the presentation and control information to be stored at remote locations." Roy T. Fielding (2000)

"Hypermedia Types are MIME media types that contain native hyper-linking semantics that induce application flow. For example, HTML is a hypermedia type; XML is not." Mike Amundsen (2010)

 

These pages contain the results of my efforts to identify and summarize widely-used [hyper]media-types. If you know of a hypermedia type that is not listed here, please send the details to me via twitter or email.

I keep a running list of scraps to track my random observations, assumptions, and judgements. They might someday be incorporated into the primary content here.

Suggested Hypermedia Types

Methodology

  1. Identify media-types of interest (via IANA Registered MIME Media Types).
  2. Select the media types that include link semantics (hypermedia-types)
  3. For each selected media-type, identify all elements within each media type that are link elements
  4. For each identified link element, note any arguments, attributes, etc. and their use.
  5. For each identified link element, note relationships (where appropriate) to uniform interface and control data elements of the supported application protocol(s) [usually HTTP]
  6. Summarize, categorize, and rank the 'H Factor' of each hypermedia type.

Other Considerations

  1. Does the media-type work for more than one application protocol (HTTP, FTP, etc.)?
  2. Are there internal or externally registered link relation values of interest for the media-type?
  3. To what degree does the media-type support machine-to-machine interactions?
  4. Are there hypermedia aspects of the media type that are only found in the documentation? (e.g. Atom rel="edit" means idempotent update [HTTP PUT, DELETE])
  5. How does a hypermedia type's H Factor affect client/server implementation?

Terminology

Link semantics
Elements of the media type that allow user-agents (or their human operators) to affect the state of the application, usually by navigating from one state to the next. For example, the A and FORM elements of X/HTML exhibit link semantics. By comparison, the IMG and OBJECT elements do not. [MCA: this needs to be refined and clarified.].

Related Links

Update History

2010-07-30
sitemap and text/uri-list added (suggested by via email by Erlend Hamnaberg)
2010-06-15
Added reference to "The Hypermedia Scale"
2010-06-06
Added CSS to the list of media-types and added the Scraps section.
2010-05-31
Reworked underlying data storage and added Hypermedia Factors box
2010-03-10
Updated Related Links section with XForms, XLink, and XInclude
2010-03-09
Added SensorML and H Factor
2010-03-04
Added Turtle, N3, TriX, TriG, and RDF/XML (suggested by Kingsley Idehen's blog post)
2010-03-03
Added Related Links section
2010-02-15
Added SMIL and SVG (suggested by Michael Hausenblas)
2010-02-08
Added VoiceMXL and CCXML (suggested by Andrew Wahbe)
2010-02-05
Initial post