|
Why the compromise? 1. Most users don’t care about this issue; they want to read the news. The reason NetNewsWire is forgiving with RSS feeds is because other aggregators that came before NetNewsWire were too. Did I get bug reports like “I can’t read this feed in NetNewsWire, but I can read it in x?” Yes. 2. There’s the prisoners dilemma. Given that only one other aggregator developer was willing to require well-formed-ness for Atom, I was going to get bug reports for Atom feeds. “It works in x, but not in NetNewsWire, it must be NetNewsWire’s bug, right?” I don’t have time to spend on bug reports for bugs that aren’t even my bugs. 3. There’s an issue of perceived bias. The reason I wrote my own weblog software was so that people wouldn’t suspect that my software is designed to work best with system x. There’s a similar issue here: I’m on the RSS Board, and yet I don’t want people to think NetNewsWire is designed to work against Atom. There are some ironies here, of course—one of them being that I believed that my initial choice was the best thing for Atom. (One person jokingly suggested I be removed from the RSS board for being too good to Atom.) In fact, I still believe my initial choice was the best thing for Atom. But my job is writing software that people like; my job is not to take care of Atom. Compromise on Atom and XML I’ve gotten lots of email on the topic of Atom and requiring well-formed XML. I’ve read about this topic pretty much everywhere it’s popped up. And I conclude, reluctantly, that a compromise is the best thing. I encourage Nick Bradbury—and any other aggregator developer who was planning on requiring XML well-formed-ness for Atom feeds—to take a similar position. Nobody should take a bullet over this. What I plan to do in NetNewsWire is something like the following—though details may change, of course. 1. Have global and per-feed settings for requiring well-formed XML. The default will be no, to not require it. My Atom and RSS parsers will both work around non-well-formed feeds in the same way. (They’ll most likely use the same code.) 2. Have an optional indicator of some kind that displays when a feed isn’t well-formed XML. (Probably not a little frowny face, but who knows.) This feature will also be turned off by default. 3. Make the Validate this Feed command more visible. Right now it’s available only through a contextual menu; it should be easier to find and use. If you’re a NetNewsWire user, and you don’t care about this issue, it will stay out of your way. You’ll notice an extra pref and a command in the menu bar, but NetNewsWire won’t be complaining about non-well-formed feeds all the time. You’re not expected to care about this issue, by the way—you want to read the news. That’s totally cool. And me, I just want to get back to work fixing bugs and adding new features. Earthquake feeds Sam Ruby on syndication and XML well-formed-ness (I’d quote a standout line or two from this, but there’s no way to decide—I’d end up quoting the whole thing. So just go read it.) Show Errors and Warnings One of the things about Xcode is that, when a build has errors or warnings, it’s not as obvious as it was in Project Builder. So what I did was assign a keyboard shortcut—shift-cmd-E—to the command to show errors and warnings. It’s become automatic after doing a build: I hit that shortcut to see what happened. Meet Robb Beal News archive... |