Mark Pilgrim is dangerous; a good writer and deep thinker with a mind blowing amount of whuffie. So when he starts talking about competitive advantage of ignoring standards, unfortunately people hear more then I think he said. There seems to an anti-standards wind blowing through the blogosphere this morning, and its kind of alarming. I would like to think about alternatives.

Capitalist Mindset

In ensuring discussion all sorts of wonderfully capitalist metaphors about accured interest, natural costs, and competive advantage have floated to the surface. So here are a couple of more, XML::RSS has an overwhelming mindshare, and namespace lockout in the Perl community, giving us a virtual monopoly. Its true Amphetadesk, an RSS aggregator written in Perl, chose to go its owny way, and perhaps that proves Mark’s point for the niche market of aggregators.(which is a loud, and very profile market I give you that) But there is still a lot of demand from people who aren’t aggregators and I feel like XML::RSS should be able to do something with its market power. Think Microsoft, but in a good way :)### A few thoughts on making things better

  1. Help people produce valid feeds. XML::RSS was one of the biggest offenders in this regard. It actively worked against people, unescaping their HTML entities, and not re-escaping this. This has been fixed in the next release.
  2. Give helpful error messages when parsing fails. In the long term it would be nice to port the RSS Validator to be part of the toolkit to tell people exactly whats wrong with the feed. Feed consumers might be more outspoken if they knew why the feed broke and whose fault it was. Despite my minor gripes about it, the RSS Validator is a very powerful tool.
  3. Until we port the Validator, perhaps when RSS hits a parsing error, we can say. > RSS parsing error on line 345, column 12 [like we do now, plus]

    For more info on why parsing failed see: http://feeds.archive.org/validator/check?url=http://someurl/index.rdf

  4. Now that XML::RSS has a webpage, we should be putting up articles, and links to articles showing best practice, and talking about pitfalls.
  5. Other ideas?

What are the toolkits?

What are people using to parse RSS these days? Python has Mark N.’s RSS.py and Mark P.’s rss_parsrer, PHP has hundreds of solutions, and lots of doing it by hand, but I think PHP-RSS was close to a standard, and I think MagpieRSS is gaining acceptance. What do people use in Java? In C? In those other languages? What does NetNewsWire use? And all these Windows aggregators? Yup still, geeking out on RSS despite what I said yesterday.