Tim’s two recent pieces are just fantastic: On XML Language Design and Don’t Invent XML Languages. I was originally going to take out some points, and comment that I agree with them and why, but Tim makes a lot of points, and I didn’t see any that I didn’t agree with. A lot of them are things that I considered very important when I was working on OpenSearch.
I will make some specific comments about OpenSearch though.
Tim suggests to generally avoid making new versions, but to be extensible instead. Absolutely. OpenSearch 1.0 was nice, but it was still relatively new, and not all parts were extensible, although some of it certainly was. OpenSearch 1.1 is very extensible; i.e. everything is. While I would be the first to agree that improvements could be made, I don’t think they should be, not for a while.
As Tim points out, developers don’t want a moving target. I really believe the 1.0 to 1.1 changes were necessary, and there wasn’t a huge amount of 1.0 software made. As much as can be added or improved, I would say not to do any of this until developers start to actually take advantage of the existing features. Few people realize how cool 1.1 is ;-), and like RSS, I think it will take years for people to fully realize it.
Tim says that XML languages should all have a validator, and I agree. I’m hoping Sam Ruby and/or the other Feed Validator developers will add OpenSearch, once 1.1 draft 2 is declared the final version.
On a related note, Tim links to this list of XML languages and I don’t see vCard there – is this just because we normally think of vCard in its pre-XML form?
I’m hoping Tim Bray and others will catch on – there’s some really neat stuff going on in the OpenSearch format, which is, of course, RSS/Atom. Except for the Description file 😉