Recovered from the Wayback Machine.
Tim Bray has had a couple of essays on RDF, including an offer of a domain, RDF.net, to someone who invents an RDF tool he would like to use. I wonder if he likes poetry? I wonder if I’m interested in yet another domain?
Tim’s pushback isn’t against RDF, which he seems to like. His pushback centers on the serialization technique for RDF — RDF/XML.
RDF has ignored what I consider to be the central lesson of the World Wide Web, the “View Source” lesson. The way the Web grew was, somebody pointed their browser at a URI, were impressed by what they saw, wondered “How’d they do that?”, hit View Source, and figured it out by trial and error.
This hasn’t happened and can’t happen with RDF, for two reasons. First of all, the killer app that would make you want to View Source hasn’t arrived. Second, if it had, nobody could possibly figure out what the source was trying to tell them. I don’t know how to fix the no-killer-apps problem, but I’m pretty sure it’s not worth trying until we fix the uglified-syntax problem.
It’s not surprising that there isn’t a killer app for RDF — though the specification has been around a long time, it’s also been in committee and under development almost the entire time. Now that we’re finally heading into what should be a stable RDF specification, I think we’ll start to see more and more applications such as MIT’s DSpace, RDF Gateway, Siderean Software’s Seamark, Plugged In’s Tucana KnowledgeStore, Mozilla and other applications that are based in some part on RDF.
As for the syntax being unreadable, which he reiterates today (“RDF/XML syntax, blecch”), Tim makes the statement that the concept of “View Source” is essential for any web-based specification or application to succeed. He writes:
The Web grew because people could generate it by hand, and did.
By this I assume he means that a person inexperienced with the technology can learn about it by viewing the source, as people learned about web page creation through viewing HTML.
I have to disagree with Tim on this. Sure, View Source is how people learned to create web pages, or to manually create simple repetitive XML such as that found in RSS files — but the concept falters when you look at the back-end mechanics that have made the Web truly viable. There is no “View Source” for Perl/CGI, or JSP, or ASP, or PHP pages. There is no “View Source” for the code for the Apache web server, or the protocols, or the browsers.
The web page is only one part of the web — the user interface. So much of the web is either compiled code, or text that requires training and experience in order to read and understand.
Did I learn HTML from View Source? Yup. However, when I work with JSP, I rarely view the generated Java classes because even though they support the application they aren’t meaningful for me. I do know Java, so I can look at them –it’s just that I have better things to do with my time. Did I learn how to code JSP by looking at existing JSP pages? Sometimes, but much of the knowledge came from looking at the documentation.
In addition, is the data in a Berkely DB or MySql database in a format easily read or written manually? Or do we use applications to access the data?
We need to stop treating RDF/XML as yet another variation of tags similiar to HTML and start looking at it as a form of virtual binary code — machine generated and consumed, but output in plain text. Until we do, we’ll never get to the point of creating that killer app that Tim wants.
My advice to Tim is reap the benefits of RDF from the applications I’m sure he’ll be inundated with, and treat the serialization format as another incomprehensible machine language that just happens to use angle brackets.