About this time of year, my father-in-law’s garden becomes home to a tangle of leafy vines culminating in late October in more chayote than he can possibly consume–despite valiant efforts to do so. If this weren’t bad (read: good) enough, his vines are nothing compared to those which assault his back-yard fence from the neighbor’s yard.
RSS, originally purposed as a content-gathering mechanism to feed My.Netscape, is today best known for its by-product: lightweight XML syndication. While Netscape’s portal has withered and finally left us, RSS has flourished and grown. Today’s feeds carry an array of content types including news headlines, discussion forums, software update announcements, metadata, and various other bits of both open and proprietary data.
Last week, as part of the portal’s facelift, some key files–most notably the RSS 0.91 DTD–were removed from the site. While subsequently restored, its been an interesting few days of reactions. There were calls for redundancy and mirrors, using non-validating XML parsers, and moving beyond reliance on a single document at a single URL. Was this simply a blunder or some sinister plot to kill RSS? While most folks did indeed attribute the removal to oversight, there were those citing AOL/Netscape’s plan for a “walled garden,” lock-in to AOL-only content, and an attack on small content providers. (This author firmly believes it was nothing more than a removal of cruft no longer needed to support a system that was no longer being used.)
Yes, they removed a key document, striking fear into the hearts of some portion of the RSS consumership. Yes, they did so without proper notification of those who might have been affected. No, they made no provision for backward compatibility, either by mirroring or placing the DTD into the public domain. They simply went ahead and removed a bit of cruft no longer necessary to support a decomissioned system.
This year, it seems, the neighbors have removed the vine upon which my father-in-law and everyone he knows has come to rely. And without so much as a peep of notification!
All this points not to any kind of malicious betrayal, but to the risk one takes building upon unintended Web services. They are brittle, unreliable, and can disappear in an instant. One should no more depend on them for one’s livelihood than build a fruit supply company on the bounty afforded by next-door’s overhanging fruit.
That said, unintended Web services are often some of the most interesting, exciting, and fruitful (pun intended ;-). Take screen-scraping, for instance. While a major pain to maintain–requiring vigilence on the part of the scraper, shadowing the Website producer’s every <p>, <blockquote>, URL-line parameter, and semicolon–it’s nevertheless given rise to a bounty of useful tools and sub-services. Just take a gander at the variety of Perl modules for searching the Web, grabbing stock quotes, and so on.
While perhaps (almost certainly, in fact) one doesn’t want to depend upon the legality, availability, and stability of these services, they’re certainly worth enjoying while they last. And should they disappear, certainly don’t go pounding on your neighbour’s door, biff him in the nose, and demand he put his vines back.
So what, then, could Netscape have done in this particular situation to make things easier on us?
First and foremost would have to be direction. Netscape seemed to have lost interest in further development of RSS and fell silent. We are left to read the tea-leaves for any insight into the direction they might have taken.
A second help would have been Netscape’s placing the spec, documents, RSS itself–the whole kit and caboodle–into the public domain. While further development of versions of RSS continues, no claims may be made or settled with respect to the original format itself; this has contributed in some ways to the rifts we see in RSS today.
Third (and this is a touch of partisanship) was the move from the flexibility and decentralization of RDF and namespaces to the reliance on the availability of a static DTD. This mistake has since been fixed (in my humble opinion) by RSS 1.0’s return to its RDF roots. On the RSS 0.91 front, while the DTD has been restored and cached in various places, there’s still a single point of failure, whether http://my.netscape.com/publish/formats/rss-0.91.dtd or elsewhere.
I have attempted contact at various times with those even remotely in the RSS know at Netscape/AOL via My.Netscape, Mozilla, DMOZ, and other avenues–to no avail. It seems that anyone in any way connected to RSS has moved on or is far enough out on the edges of the organization so as not to be reachable or able to affect change.
Are you using ‘unintended’ Web Services?