Joi Ito's Web

Joi Ito's conversation with the living web.

consynrsss.gifI have to admit that I've been feeling guilty about talking so much about RSS and RDF without REALLY understanding what I was talking about, a state which I think I fixed today. (While staring a pile of books on democracy and constitution law...) First I read Ben Hammersley's new O'Reilly Book Content Syndication with RSS. I went and surfed around the Net reading the documentation on RSS and RDF on a variety of sites. Then I decided to try to do something interesting. I've created a new RSS 2.0 feed which includes the entry comments, links to the email or URL of authors of the comments, includes the number of comments in the guid's so that you get an update when someone posts a comment and permalinks in the feed to the comment as well as the item. I included the BlogChannel module so I could include my blogroll from Thanks to Noel Jackson, I figured out how to include my Creative Commons License in my RSS feed.

The feed is here. Feedback would be appreciated.

So, I finally understand what Dave, Boris and many others have been trying to get me to understand. It's flexibility vs. simplicity. RSS 2.0 is cool because it extends the simplicity of the original 0.9x RSS with modules. RSS 1.0 is cool because there are so many things you can do with RDF. The problem with RDF is that it is so ugly to read. Honestly, this morning I wouldn't understand what I have just written. The geek inside me is now awake and I want to learn everything there is to know about RDF, but it took a bunch of people pummeling me to get me to care, whereas plain old RSS 0.91 got me excited just looking at the code. So, I guess I'm on Dave's side in terms of keeping it simple and helping to get it widely accepted. On the other hand, the RDF stuff really does allow a lot of the semantic web attributes that we are talking about in the emergent democracy debate and the RDF framework, once it really starts to get picked up inside of applications could be really powerful.

Anyway, the main feed for my blog is now my RSS 2.0 feed.

Sorry to everyone who has to reload the feeds because I've rebuild everything. Also, I've made them the last 30 entries instead of just 15 since that was the limit for 0.91. Let me know if that's too many entries.


Very very interesting.

Joi, I can't read or subscribe to your RSS 2.0 feed above. That's interesting that you can add posts as well as comments to 2.0 feed so that subscribers can receive both. If you included trackback tool as well for each of your posts, would it be possible to incorporate these trackback messages (and author information) as well so that subscribers to your feed could get your posts, comments to your posts and other blog entries related to your post?

I'm interested in this because I want to create a test conference blogging website. I've written my last few entries about this and more or less I'm getting confused. But this is what I'd like to do:

- Create a website that's promoting upcoming conference.

- Each conference educational session (with description) would be posted as separate entry to my blog.

- A commenting system would be included for each session entry so that speakers and attendees would share thoughts before, during and after program.

- A trackback mechanism would include links to all posts on other blogs about specific session.

- Then, attendees, speakers and others could subscribe to either 1) a RSS feed for an entire educational track (with session description, comments and trackbacks) or 2) a RSS feed for a single educational session (with session description, comments and trackbacks).

Overall, I think that this type of centralized/decentralized conversation - especially before the start of a conference - would significantly enhance the quality and focus of the eventual face-to-face encounter.

Joi, you *can* get OPML from Blogrolling.Com. Jake has a howto here.

Doug. Don't know why you can't see the feed. Can you tell me what error you get? I just added trackbacks.

Dave, I just switched machines again and haven't moved my Radio installation over. I will do it tomorrow. I know I can do it with the Radio macro, but I was wondering if I couldn't get opml from without using Radio or XML RPC. (Nothing against Radio.) Or am I misunderstanding the module. Shouldn't blogChannel:blogRoll refer to the actual opml file, not a RPC to get it?

BTW, Dave, I know you posted something about how to post comments via RSS, but I can't seem to find the post about it. Does anyone know where it is? I'd love to have a form to post comments to items also included in the RSS feed.

Joi, you *can* get OPML from Blogrolling.Com without any software, that's the first thing Jake's howto shows you how to do.

About your other question, I think this is the doc you're looking for.

Dave. You're right. I wasn't using a proper application to view the opml file so I thought it wasn't returning an opml file. I've included it and it should be working now.

As for the comments. Is the URL inside of the comments tag supposed to be a link to comments section or the link to some sort of script that can allow posting of comments? Is there a way to allow some sort of form or a link to some sort of API to be included so that a client can allow posting directly? Or am I missing something yet again? Sorry about the stupid questions. This is all very new to me, but I'm excited to push the envelope if that's what we're doing here...

I think Doug can't read your new feed because it doesn't validate yet. Have a look at your feed in the RSS validator to see what's wrong.

Actually, I think the problem was (Dave pointed it out) that I hadn't included the "content" namespace. I think it is now valid under RSS 2.0, but not RSS 1.0.

Joi, first the good news -- your RSS 2.0 feed now works with Radio. Here's a screen shot. But the comment link doesn't point to the right place. When I click on the pencil, which represents the comments, I should go to a page where I see comments on the post. Just the comments, not the post itself.

But the validator does have some valid complaints about your feed.

Thanks for all the help. So I changed the date formats. The last error about the CDATA not closing is because the file is too long and truncates. All of the undefined tags seem to me to come from the fact that it's 2.0 vs 1.0. No?

I don't have a separate comments section on my entries so I created an anchor to take you directly to the "post a comment" section when you click on comments. Is that OK?

Joi, re "All of the undefined tags seem to me to come from the fact that it's 2.0 vs 1.0. No?" -- No. The validator actually favors 2.0. Go through the errors and then review the spec. You've invented some elements. Very creative, but not correct RSS.

Haha. OK. I will. BTW, the description tag. Should it be the excerpt of the entry or the whole entry itself? NetNewsWire shows me the content body which is what I want. I guess in Radio's aggregator, you get the description?

OK Almost validates. The URL to why isn't it a valid URL? Had to mess around with the MT tags to get the correct rebuild date. (Wanted to reflect the last comment date, not the last entry date...)

Anyway, it sort of works. MT template if anyone is interested.

I prefer if the description contains the full text of the post. That way I can read all your profound thoughts, in full, without having to do more networking.

You get your OPML issue figured out with BlogRolling? There are several different formats under the "Get Code" section of your blogroll.

Hello Joi,

My Radio News Aggregator receives your graphic files with the .92 version.

When I switched to your new feed, I receive a link to your post and description, but your photos are not delivered. Consequently, they will not show up on my blog. I think I will miss this aspect of your posts.

The content namespace tag was just a place where I was parking the CDATA because I wanted to have html in the full content feed. I tried moving the full blow content of the entry over to the description element and kept it enclosed in the CDATA tag. I know XML parsers are supposed to ignore the CDATA so strictly speaking, some readers may now show nothing in the description. NetNewsWire seems to deal with it and display it correctly. Can anyone else tell me if you have problems viewing the feed now? Should I stick to strick XML only in the description element?

Also, does anyone know why the validator tells me that:

Is a bad URL?

As a side note, 30 headlines is a lot for my tastes. If it doesn't bother other bloggers, I wouldn't worry about it. But some people may feel the same way. Hopefully you'll get additional feedback.

If you don't put hard returns around the url between the <blogChannel:blogRoll>-tags, the validator doesn't choke on it.

OK The problem with the URL was that I had new lines around the URL. Also got Radio running so now have mySubscriptions in my RSS feed too.

Gary, yeah... 30 is long. What convinced me that long was better was when I realized that newsreaders were a great way to read blogs when you are offline. I was really upset at how short everyone's newsfeeds were. I guess when newsreaders start archiving feeds locally, this problem will go away. I'd like to hear from other people. I could easily have two feeds, one long one short.

Thanks Andreas. Just figured it out as you posted your comment. I'm going to edit your comment after like this: because the long line causes the window to overflow left for people with browsers that don't wrap long words...

Well, 10:06 AM seemed to be a AHA-moment for you, too. :) Sorry 'bout the link. I saw it too late.
About those 30 entries: I also feel like it's a littlebit long. Especially if you take into account that, as the comments are also included, the file constantly changes and has to be downloaded over and over again - which is ok, but it goes faster with 15/20 entries + it saves you some bandwidth. (hope I get this right?)

I think I know why that's not validating. Give me a bit and I think I can fix that for ya.

Jason, I think it's OK now. It was the fact that the URL was on a new line I think...

Ok, sometimes there are issues with the content headers. I just added in a text/xml content header so it will render in IE-PC now. It was a problem I discovered a week ago and forgot to go fix the feeds. Done now.

MUCH better Jason. Thanks.

> Honestly, this morning I wouldn't
> understand what I have just written. The
> geek inside me is now awake and I want
> to learn everything there is to know
> about RDF, but it took a bunch of people
> pummeling me to get me to care, whereas
> plain old RSS 0.91 got me excited just
> looking at the code.

Take the time to read the RDF model specification. Forget about the RDF/XML serialization format. There are clear reasons why RSS-DEV works towards RDF.

Then come back and talk about RSS 2.0 ;)

So, I've read quite a bit of the RDF model spec. Can you point me to some applications that actually use it in interesting ways? I currently have a Mac with OS X and a FreeBSD server running Movable Type. How does the RDF spec help me today?

Joi, your RSS 2.0 feeds works perfectly with my version of Radio now. I posted message where I added an excerpt from your post, comments and trackbacks. This is great. Now I have to figure out how to create a RSS 2.0 feed. First, I'm going to figure out how to ping your site so that my post can be added to your trackbacks. BTW, if anybody can lead me to info. on trackbacks and Radio, I'd appreciate it.

Hi Joi,
Your feed seems to work fine with Amphetadesk.

re. "The problem with RDF is that it is so ugly to read. Honestly, this morning I wouldn't understand what I have just written."

RDF is designed to be machine-readable rather than human-readable. If you want something human readable then maybe you should consider RSS 3.0 ;-)

re. RDF applications - there are quite a few listed in
(particularly note the appendix)

near there there's a paper re. semantic blogging:

a demo that makes heavy use of the semantic side of RDF (which is also rather sweet) :

I blog RDF/Semantic Web apps at :
(the archives aren't working properly at present, but I'm planning on moving this to Movable Type)

and finally there's also my own little work-in-progress (which has blogging as one of its early use cases) :

Joi, the RDF folk make the same promises the AI guys made in the 70s. They said computers would do our thinking for us, very soon we'll be rid of all these messy programmers. Well, it didn't turn out that way.

I've been listening to the hand-waving about RDF for *years* now. I've yet to see any application of it. I click on all the links. When I read the docs my eyes glaze over and I fall asleep. Invariably I get distracted and forget to come back. I think I'm not alone in that. ;->

Fear, Uncertainty, Doubt.

The 'RDF folk' are certainly not making the same promises the AI guys made in the 70s. RDF is the Resource Description Framework, simply a systematic approach to describing things.

Most people working with RDF see it a way of tackling practical problems right now - and these people are programmers.

Most of the development relates to maximizing the usefulness of the web, something that didn't even exist in the 70s.

There are plenty of applications of RDF, whether or not Dave chooses to see them. Don't take my word for it, have a few more links :

It's sad that Dave has such a personal issue with RDF, tools like Radio would benefit right away from using the framework.

This is one of the basic problems with your approach Danny, instead of convincing, you call your critics names. It's the surest sign of weak technology. Like I said I have lots of company. Phil Greenspun, Miguel de Icaza, Bob Doyle and myself spent an hour talking about RDF the other night. We all had the same problem. Now, I think you have a problem, if you want people to use RDF. You have to say in plain English what people use it for, or will use it for shortly, and say it nicely, without the ad hominem. That's if you want anyone to take you seriously, and so far, not too many people are. Giving it to you straight, as always.

BTW, FOAF and MusicBrainz are interesting, but neither is really gaining much traction, as far as I can see. The other thing you pointed to is a demo. Is that the best you can do?None of them really make use of RDF, and would be simpler if they didn't. Simplicity matters. Every bit of complexity weakens standards, as we've seen in the W3C work. XML is the rare exception, it is simple, and deployable, and is being deployed broadly -- as evidenced by the success of RSS, OPML and XML-RPC, all of which have gained traction, owing to their simplicity and *lack* of FUD (how ironic).

An aside to Joi, this is what I was trying to explain in our off-board conversation. Almost everyone I know is perplexed at the applications for RDF. The rest claim to see the power, but they can't show it to us just yet. I am not against it, as long as it doesn't interfere with what I want to do. Unfortunately they have chosen to make me the poster-boy for all that is bad in the world. Heh. They could aim higher. All of this energy is so wasted. O'Reilly hired one of the RDF advocates to write the RSS book, and Joi bought a copy. It'll go the same way it did last time O'Reilly tried to make RDF stick, because sad to say RDF is not sticky.

Comment #38 and counting.

I want to put in my 2 cents and concur with Dave that all hyperbole and dogma aside - we're all waiting for some reason why RDF matters. RSS seems to have the legs to be extended and the fact that it's already been accepted and has given birth to news aggregators - is enough evidence for me.

I'd like to point to Matt and Paolo's work in embedding topics into RSS feeds. This is not only a powerful and flexible means of implementing a semantic web, but it also is a roadmap for others to follow to use RSS as a the distribution and interchange format of choice.

RSS along with OPML is all we need.

Aw damn, and here I was thinking Love is all we need ;-)

Joi, I'm sorry about taking up your comment-space but I can't leave Dave's negativity unchallenged. There are a lot of people that see that good things can be done using RDF, and the apps are appearing.

Dave, I didn't call you any names, I said that you have a personal issue with RDF. This is irrelevant to the strengths and weaknesses of the technology. Namedropping isn't particularly relevant either, though two can play at that game : Tim Berners-Lee (inventor of the web) and Mitch Kapor (designer of Lotus 1-2-3) are actively engaged in RDF work. They too have lots of company.

Plain English: the purpose of RDF is to describe things in an unambiguous fashion so that this metadata can be exchanged and processed by computers. The use of a common model means that the same systems can be used to manipulate information across different subject areas.

Your comments re. FOAF & MusicBrainz suggest that you simply don't get it. You can't judge the benefits of RDF by judging individual applications in isolation, any more than you could judge the web by looking at a single host. Each application probably could be simpler if it used vanilla XML instead of RDF. But by using RDF they have a level of interoperability that goes far beyond what would be available otherwise. FOAF & MusicBrainz data can be inserted directly into RSS 1.0 feeds and their meaning remains globally well-defined - the creator of a resource has the same meaning whether that resource is a document, blog item or piece of music. It means that the same tools, with little or no modification, can be used across all domains. The wheel doesn't have to be reinvented for every purpose.

Note that it isn't a case of either XML or RDF - it may be easier within a particular domain to use something like XML or an RDBMS or whatever. When you want different systems to talk to each other it's necessary to use a common language, which is what happens to a great extent with XML. But it's possible to be more sophisticated and share than this, which is where RDF comes in.

I agree simplicity matter, and the model RDF uses is simple. Statements are made about resources - 'this comment has writer Danny'. Not difficult at all. Having said that, people familiar with XML and approach RDF/XML expecting more of the same will be confused - RDF has aspects that only make sense after you've seen the pictures.

Danny leave my "personal issues" out of it -- you don't have a clue about it, and frankly, it's disrespectful.

Re "you simply don't get it" that's what RDF advocates always say. That doesn't make converts. FYI.

Have you considered that maybe you're the only person they say it to? UYB.

FOAF and MusicBrainz could definitely both use plain XML and be transformed into RDF by an inferencing application.

There does seem to be one interesting RDF application, see . There are some real advances in my
opinion in that app, such as UI continuations (which have nothing to do
with RDF per se, but rather with the ability of RDF to give everything
a URI) and closure with respect to RDF containers in the language they
have developed, Adenine.

This app shoes to some way the right degree of dealing with RDF: those
who like it should use it but hide the complexity from the user layer
by moving it into the indexing and inferencing  or into the
storage layer in an application.

To put it another way, RDF is a graph while XML is a tree. Any tree can
always be made into a graph, but there is no unique tree that can be
created from a graph. And we think in concrete representations, with
structure. Let the software do the tree lifting..

Rahul, I went to look at Haystack, but couldn't find anything but white papers. Everything else is "coming soon." Even the screen shots page is empty.

To Danny, shame on you. I looked up UYB. That's so incredibly unprofessional. That's a new low in RDF evangelism.

A google for 'Haystack screenshot' came up with it:

It looks really promising, there's also a download, which I hadn't seen before (cool!! - thanks Rahul) - this has been vapour for quite a while.

I agree 100% with Rahul about (normally) abstracting the source away from the user. My Auntie Maud doesn't want to see any code, XML, RDF, script, R2D2, whatever it is. What proportion of web programmers looked at assembler in the last week? Most folks use a higher level language/model. Shouldn't the same apply to data?

I don't know about MusicBrainz, but FOAF is being used somewhat as a testbed for RDF ideas, so it's attracting things (like an OWL schema) that are more cutting edge than most vocabs.

Quite right about the trees and graphs. Try doing a family 'tree' in an outliner.

re. UYB - where did you look it up? I can't find anything in the usual reference places (which doesn't surprise me, I made it up on the fly)


The MIT team is working on releasing it.

Downloads dont work yet..

I forgot to add one more feature of the app thats interesting..visual
representations of objects do really represent objects. In standard GUI
toolkits or on the web, or in outlook, a person's name is a
string, thats all. In Haystack, that string essentially constitutes a
view of a person 'object', so right clicking on that view which allow
operations on a person object to be carried out, like IM'ing, or
sending email, or writing a letter in word, or whatever. Imagine if
this was done on the web by < class="person">Rahul
Dave</span> and the browser would pop up a menu which
would allow us to do something useful. Smart tags done the right way
:-) (or one could use namespaces in the XHTML which trades off
simplicity for extendability).

Screenshot at

An example of UI continuation is at:

Let me point you to 2 papers (not white papers) describing it which do
most justice to this UI continuation feature and the Adenine language: (section 4.3 for adenine)

RDF here is treated as bytecode. I can write java, but I really have no
desire to learn about how the JVM works. Thsts my philosophy towards
RDF in general, and thats the way it should be, I think, since RDF,
when you get the horrible XML syntax out the way, is really a
relational database with a horrible number of joins :-)

For understanding the UI:

Section 4 is the interesting one.

For me, I worry about things like the performance of this thing. Even a
standard view probably requires 1000's of queries onto the RDF store.
But the ideas I take away from it, which is independent of RDF are this:

(a) Keep an open object model where an object can be extended by adding
operations and properties later in time (as could be done in a
Frontier table) (this translates to either letting messages be
extensible(REST) or ability to dynamically grow an API once a core set
is agreed on (RPC).

(b) Everything is a URI addressible resource,

(c) and encourage uniformity in GUI (or semantically sensible html by using class attributes for eg)

(d) dont make operations modal, and let people take of f from where they left.

None of this needs RDF, it could be done with XML. I think the more
interesting question which summarizes the philosophy of no-RDF folks
against RDF folks is simplicity versus extensibility. There is always
some tradeoff. I prefer simplicity because I support people in my day
job who I had to convince to even use xml-rpc :-)

In my opinion though, for my brain bandwidth, RSS 2.0 really hits the
sweet spot, and I believe there will be applications embedding such
object models inside RSS 2.0 with name spaces, with references to these
objects swirling around the web as links and data being optionally made
available as enclosures.

If you think of it, the entire application space of Groove for example,
could be made available with RSS 2.0, and subscriptions to not just
blog, but also workspace feeds. Now wouldnt that be fun!

It's been a series of great discussion - I throughly read it and now got excited to see RSS.

BTW, I found out your MT Template for RSS 2.0 doesn't include <$MTEntryMore$> (it's "extended" body of an entry). I think simply add <$MTEntryMore$> just after <$MTEntryBody$> in your template.

Thanks Seki-san!!! I fixed it.


Creative Commons Licenses in RSS itself?

I guess it fits well in this discussion about RSS 1.0 and RSS 2.0.

Well, what do you think?

Hi Roger. I actually put the CC license in my RSS feed... or is that not what you meant?

Ito san

Well that's exactly what I meant. Thank you very much. And I guess we all have to thank Ben as well.

I for myself have a slight penchant for the RSS 1.0. solution.


You're welcome, Joi. I "copied" your RSS work to my blog ;-)

BTW, I finally decided to start English blog. I'll try my best to write both Japanese and English for the same topic.

Hmm. Aren't there way too many acronyms in this thread? :)

Great discussion indeed. Thanks for mentioning the new book Joi-san. That post got me to learn more about RSS, and made me realize how much of a bargain my renewed Userland Radio subscription really is (^.^). Am now thinking of further creative ways to use RSS. Anyone heard of a newspaper making their classified ads available in an RSS feed yet. My blog today has links to a few folks that have written about it, but I can't seem to find any newspapers that have actually done it. Al

The whole RSS 1.0 vs. 2.0 debate is kind of silly.

Ultimately, RSS 0.9x/2.0 provides a simpler envelope for metadata properties than RDF. That's why the community flocked to it in droves.

RDF is just a more complicated envelope format that doesn't add sufficient value to offset the baggage (both syntactic and perception-wise) it brings to the table.

The interesting action is in the specific metadata properties, not how I bundle them up.

As for the "widespread tooling around a ubiquitous general-purpose model and syntax" argument, I would argue that there are way more RSS 0.91/2.0 envelopes being processed everyday than RDF ones.

Don : "Ultimately, RSS 0.9x/2.0 provides a simpler envelope for metadata properties than RDF" ... for simple content syndication, yes, for anything even marginally outside of the news/blog domain then it's of no use whatsoever. Every new term or relation or piece of data will need defining from scratch. With RDF you can build on existing terms and relationships.

You can look at RDF as a complicated (syntactical) envelope, but if you want to solve problems then it's better to view it as a simple model.

Regarding material outside of the domain, the FOAF RDF vocabulary just got a bit more traction, funnily enough (in part at least) thanks to Joi :

(Quoting Ben Hammersley)

Movable Type have just announced a new hosted blogging tool - it's
going to produce FOAF automatically for every user, and detect the link
rel to the FOAF file of anyone who you put in your blogroll...I saw it
on Monday, it's very very very sweet. So, I guess the FOAF world is
about to get very much bigger...

5 TrackBacks

Listed below are links to blogs that reference this entry: RSS and RDF fun.

TrackBack URL for this entry:

Joi on RSS from Ben
April 6, 2003 8:46 PM

Joi Ito likes my book is his experiments with RSS this weekend. His summary of the situation regarding the two Read More

Joi Ito has gone and done it. He bought and read Ben Hammersley's new O'Reilly book "Content Syndication with RSS", Of course this means I have to run out and get it too (shame on me for not having it Read More

TITLE: URL: IP: BLOG NAME: DATE: 04/08/2003 03:46:02 PM Read More

Full newsfeed (or RDF/RSS) from Sync A World You Want To Explorer
April 9, 2003 2:11 PM

Thanks to Joi, I set up the meta data file for syndication using RSS 2.0. I will make some modification since MovableType doesn't seem to output appropriate date format when the locale is Japanese...... Read More

I'm not sure if you've been following the Pilgrim/Winer relationship over the past week. If you haven't, great!...if you have, my sympathies. Over the last year, "the innovators" (aka a-list bloggers) have demonstrated an amazing level of immaturity. I... Read More