Nick Bradbury has a post entitled An Attention Namespace for OPML where he writes
In a recent
post I said that OPML would be a great format for sharing attention data, but I
wasn't sure whether this would be possible due to uncertainty over OPML's
support for namespaces.
...
As I mentioned previously, FeedDemon already stores
attention data in OPML, but it uses a proprietary fd:
namespace
which relies on attributes that make little sense outside of FeedDemon. What I
propose is that aggregator users and developers have an open discussion about
what specific attention data could (and should) be collected by aggregators.
Although there's a lot of attention data that could
be stored in OPML, my recommendation is that we keep it simple - otherwise, we
risk seeing each aggregator support a different subset of attention data. So
rather than come up with a huge list of attributes, I'll start by recommending a
single piece of attention data: rank.
We need a way to rank feeds that makes sense across aggregators, so that when
you export OPML from one aggregator, the aggregator you import into would know
which feeds you're paying the most attention to. This could be used for any
number of things - recommending related feeds, giving higher ranked feeds higher
priority in feed listings, etc.
Although user interface and workflow differences require each aggregator to
have its own algorithm for ranking feeds, we should be able to define a
ranking attribute that makes sense to every aggregator. In FeedDemon's case, a
simple scale (say, 0-100) would work: feeds you rarely read would get be ranked
closer to zero, while feeds you read all the time would be ranked closer to 100.
Whether this makes sense outside of FeedDemon remains to be seen, so I'd love to
hear from developers of other aggregators about this.
I used be the program manager responsible for a number of XML
technologies in the .NET Framework while I was on the XML team at
Microsoft. The technology I spent the most time working with was the XML Schema Definition Language (XSD).
After working with XSD for about three years, I came to the conclusion
that XSD has held back the proliferation and advancement of XML
technologies by about two or three years. The lack of adoption of web
services technologies like SOAP and WSDL on the world wide web is
primarily due to the complexity of XSD. The fact that XQuery has spent
over 5 years in standards committees and has evolved to become a
technology too complex for the average XML developer is also primarily
the fault of XSD. This is because XSD is extremely complex and
yet is rather inflexible with minimal functionality. This state of
affairs is primarily due to its nature as a one size fits all
technology with too many contradictory design objectives. In my
opinion, the W3C XML Schema Definition language is a victim of
premature standardization. The XML world needed experiment more with
various XML schema languages like XDR and RELAX NG before we decided to
settle down and come up with a standard.
So what does this have to do with attention data and XML? Lots. We are
a long way from standardization. We aren't even well into the
experimentation stage yet. How many feed readers do a good job of
giving you an idea of which among the various new items in your RSS
inbox are worth reading? How many of them do a good job suggesting new
feeds for you to read based on your reading habits? Until we get to a
point where such features are common place in feed readers, it seems
like putting the cart way before the horse to start talking about
standardizing the XML representation of these features.
Let's look at the one field Nick talks about standardizing; rank. He
wants all readers to track 'rank' using a numeric scale of 1-100. This
seems pretty arbitrary. In RSS Bandit,
users can flag posts as Follow Up, Review, Read, Reply or Forward. How
does that map to a numeric scale? It doesn't. If I allowed users to
prioritize feeds, it wouldn't be in a way that would map cleanly to a
numeric scale.
My advice to Nick and others who are entertaining ideas around
standardizing attention data in OPML; go build some features first and
see which ones work for end users and which ones don't. Once we've
figured that out amongst multiple readers with diverse user bases, then
we can start thinking about standardization.