Yesterday I was browsing some stuff and came across a
couple of sites that
describe the history of RSS. I’m sure these are accurate as far as they go, yet they are still missing
quite a bit of the details. Tim Bray wrote
version of the CDF -> RDF side of things, and
this book by
Heinz Wittenbrink mentions the CDF angle a bit.
The RSS Specifications web-site says that RSS evolved from RDF which was invented by Ramanathan Guha. However its important to point
out a couple of additional specifications that came before RSS. Before he went to Netscape Guha was at Apple where he invented
MCF, the Meta Content Format
. MCF was based on a name:value format similar to MIME, and Internet email
MIMEDIR specification) but was only implemented
in a strange experimental 3D browser called HotSauce that Apple shipped for a brief period of time.
Beginning in 1994 I started developing some formats and protocols to use Internet standards for a rich client online application. One
of these formats was called “WindowScript” and it was presented at an IETF meeting I think in late 1995. It used the name:value style
to specify the user interface of an application, effectively the same concept as XUL (although much less sophisticated at the time). The
notion was that you could specify complex User Interface like a whole email application using WindowScript and it would data-bind to
HTML and other content to interact with the user.
When I joined Microsoft in November 1996, one of the early projects I got involved with was helping create a format for specifying
data about web-sites. The initial vehicle was supposed to be the feature “channels” in IE 4, but as is often typical at Microsoft
we had fairly grandios ideas about broader applications. At some point in early 1997 Thomas Reardon dragged me down the hallway
to meet with Jean Paoli who had just joined Microsoft and was talking about this new thing called “XML”. It seemed like XML was going
to be big some day, so we quickly changed all the colons to angle brackets in the spec and published
“Web Collections in XML” to
the W3C on March 7th, 1997. To the best of my knowledge this is the earliest existing document addressing XML- at the time I believe
the decision had not yet been made by the XML working group to make tags and attributes case sensitive and there are several other
historical oddities in that spec.
Dated 3 days later on March 10th, 1997 was Castedo Ellerman’s Channel
Description Format (CDF) specification. I don’t remember why we diverged and published two similar but slightly different
specs on the same week- I was working with Castedo at the time. I suspect the issue was that IE was under huge pressure to ship
quickly and they felt like they needed their own thing that they could just lock down and be done with right away.
In the summer of 1997 Guha, now at Nescape responded to our Web Collections
and CDF proposals by adapting
MCF to be expressed in XML. The W3C saw these many different proposals and created a
working group to sort out the differences. The W3C was very interested in
pursuing this as part of their semantic web initiative. Inside Microsoft we had
shifted our thinking a bit at this point and thought that these meta-data
proposals were unnecessary since the XML was the way to represent the meta-data.
Of course XML still needed schemas to do useful applications but we didn’t see
much value in RDF, being a language in between the base XML language and the
actual application-specific schemas.
post back in 2003 acknowledges “it hasn’t exactly turned the world inside
out” and RDF hasn’t made much adoption progress since then. I’d argue that the
ratio of “data expressed in RDF in 2006″ vs. “data expressed in any XML-based
format in 2006″ (a number pretty much indistinguishable from 0) suggests we were
right. If RDF were really solving such a crucial problem I’d bet that it would
be pretty widely used 8 years later. Tim argues that RDF’s problem is that the
format is too obtuse, but again, if it were really solving a problem, a
simplified format such as he proposes would have happened by now. Instead
formats like RSS and ATOM suplimented with all sorts of extra XML tags continue
to take the Internet by storm.
Neither MCF, RDF, or Web Collections anticipated the notion of blogs and a feed of posts. They were all more
focused around site-map type applications and more traditional notions of web site publishing. Dave Winer created RSS based on some
of these earlier formats for this application and the killer makes all the
difference (in a good way!) I do remember in the spring of 1997 talking with Dave Winer and evangelizing CDF to him.
If I recall, his reaction was that he didn’t really get the “channel” thing
(which is not a surprise since it was mostly just a Netscape vs. Microsoft hype
thing around the latest buzzword- “push”) and that the CDF format seemed too complicated. I recall
building a CDF “Channel” for scripting news, but the whole channel notion fizzled so much over the summer of 1997 that the CDF
approach was quickly forgotten.
For comparison sake, here are some examples of what the various formats look
like. These examples make it pretty clear to me the similarity between CDF and
MIMEDIR (circa Nov 1996)
name: cn=Meister Berger, o=Universitaet Goerlitz, c=DE
cn: Meister Berger
cn: Berger Meister
o;charset=iso-8859-1;encoding=quoted-printable: Universit=E6t G=F6rlitz
description;encoding=quoted-printable: The Mayor of the great city of=
Goerlitz in the great country of Germany.
home.phone;fax,voice,msg: +49 3581 123456
home.addr;encoding=quoted-printable: Hufenshlagel 1234=0A=
Meta Content Format (MCF)
name: "Famous Dogs Page"
name: "Best Pets"
name: "Cat Lovers Page"
name: "Cat Haters Page"
name: "General Pet Stuff"
XML Web Collections
...other product descriptions...
Liftoff to Space Exploration.
Tue, 10 Jun 2003 04:00:00 GMT
Tue, 10 Jun 2003 09:41:01 GMT
Weblog Editor 2.0
How do Americans get ready to work with
Tue, 03 Jun 2003 09:39:21 GMT
Sky watchers in Europe, Asia, and parts
Fri, 30 May 2003 11:06:42 GMT
Before man travels to Mars, NASA hopes to
Tue, 27 May 2003 08:37:32 GMT