Orginally this post was titled RSS Categories vs. ENT, but I don't really think that there's a conflict here (at least not yet), and since there aren't currently any specs defined about this usage of the category element in RSS 2.0 nothing I can say here is going to be final.
What Dave is proposing is very similar to what we have been doing in for the last months with ENT and TopicRolls within the development of k-collector. Common points are:
- We are both adding one of more topics to every item in the RSS feed
- We are both using OPML to publish a taxonomy
While I don't understand very well the scope of Dave's approach, what we did is creating an environment where a taxonomy can be shared among a group of users. The backend that we have allows to almost instantly share topics and classifications among several users who will consequently be able to publish content which can reasonably easily be aggregated and categorized by a piece of software.
Dave's taxonomy is, as he says, personal. This means that it makes sense from his point of view, but I wonder how this could scale in an environment made of many users. Will each user have his own taxonomy? How will these taxonomies be mapped, merged, matched and mixed? It's probably too soon to ask.
Categories and topics
Going into details of the implementation, here's what categories added to one of Dave's post look like:
<item>
<category>/Technology/Formats and Protocols/RSS/New feeds</category>
<category>/Technology/Formats and Protocols/RSS</category>
</item>
Totally straightforward and easy to understand. Beautiful.
Since the RSS 2.0 Specs also allow a domain to be defined within the category element, I guess that in a future a category defined could look something like:
<category domain="http://blogs.law.harvard.edu/scriptingArchive/xml/categories.opml">
/Technology/Formats and Protocols/RSS
</category>
Helping aggregators to find the reference taxonomy to handle the categorization.
Now, here's how ENT elements in one of my posts look like:
<ent:cloud ent:href="http://k-collector.evectors.it/itentdirectory/topicRoll.opml?dir=140">
<ent:topic ent:classification="what"
ent:href="http://k-collector.evectors.it/itEntDirectory/wwwwtopic?dir=437"
ent:id="opml">OPML</ent:topic>
<ent:topic ent:classification="what"
ent:href="http://k-collector.evectors.it/itEntDirectory/wwwwtopic?dir=198"
ent:id="rss_2_0">RSS 2.0</ent:topic>
</ent:cloud>
The first difference is that topics are contained within a cloud element (which basically points to the taxonomy).
Each topic then has:
- a classification element, which we are using to categorize contents on our own aggregator, in this case using the What+Where+Who+When approach;
- a href element, in this case pointing to a page containing posts related to this topic on the default aggregator
- an ID element, used to identify uniquely the topic
OPML Taxonomies
Dave is using OPML to describe his taxonomy. We use OPML to describe ours using the TopicRoll specs.
Dave's taxonomy seems a very simple nested list of topics. We are thinking about using something very similar to handle custom users' views.
While within our topicRoll all topics are not nested and sit at the same level, users will be able to create custom views by nesting topics or grouping them in many different ways.
The main point is that topics could be nested in many different ways, creating entirely different directories. While Dave, for example, is storing "Rock and roll" inside the "Fun" topic, I might like to put it under "Art/Music/". But "Rock and Roll", "Fun", "Art" and "Music" would still be completely valid topics.
Conclusions
I'm not sure that we could map all ENT elements that we are currently using to RSS categories.
Maybe topics and categories are not the same thing and they should be handled differently.
What we can and will do is supporting this usage of categories within RSS feeds with k-collector. Our ultimate goal is making our aggregator as efficient and useful as possible, not pushing one standard on another.
It's very stimulating to see Dave working in this field, I'm sure there's a lot to do and to learn.
I wish we could do it together.