4 ms·
I don't see why anybody should bother with Atom anymore. Are there any applications that exclusively support Atom over RSS?
by aberkowitz 16y ago
I don't see why anybody should bother with Atom anymore. Are there any applications that exclusively support Atom over RSS?
- simonw 16y agoEver tried to include an ampersand in an entry title in an RSS feed? The RSS 2.0 spec still doesn't specify if the title should be HTML encoded or not, and the implementations tend to disagree as a result. This is why my apps always produce Atom, never RSS. Edit: Here's an article that illustrates the problem: http://www.xn--8ws00zhy3a.com/blog/2006/06/encoding-rss-titles http://www.xn--8ws00zhy3a.com/blog/2006/06/encoding-rss-titl... - this kind of unresolved ambiguity in the RSS spec is one of the main reasons Atom was needed.
- davewiner 16y agoXML tells you what to do there. It says it very plainly in the RSS 2.0 spec. "RSS is a dialect of XML. All RSS files must conform to the XML 1.0 specification, as published on the World Wide Web Consortium (W3C) website." Pretty sure the W3C tells you how to encode an ampersand in XML. If not, your quarrel is with them, not RSS.
- davewiner 16y agoWhy did this get moderated down? It's a serious point. The complaint isn't even a nitpick, it's covered. It's like saying every program has to define arithmetic if it's going to add two numbers together. No, it doesn't. That's the job of the processor.
- blasdel 16y agoHow do you still not understand this, 7 years later? The RSS specs you defined do not allow the author to specify the type of text contained within an element — the processor has to guess whether it was plain text or HTML based on how many levels of escaping were applied.
- prodigal_erik 16y agoXML is extensible, and this is why. There isn't any good reason to encode markup as text content, only for the recipient to unencode it and then run its markup parser a second time. If you want to use elements from the XHTML vocabulary inside an RSS document, the right thing is to just do it, like so: <rss:title>An <html:em>Emphasized</html:em> Title & Stuff</rss:title> and when you need to cater to some widely-used aggregator that's too broken to handle this, the right thing is not to start breaking what you give everyone else, but to transcode this on the fly to whatever brain-damaged markup that particular aggregator version happened to be able to cope with (probably drop the namespace prefix and use CDATA, or failing that just strip all open/close tags and re-encode each &).
- davewiner 16y agoSo you can happily use Atom, which allows you to say whether your title has markup or not. What alternative was there? Would you have been happy with just adding an attribute to title? What if people didn't use it? What would you have solved then? And would you have been happy with jsut that one change? THen why is Atom so different from RSS? Why did the name for <item> change to <entry>? I don't recall anyone offering a reason why item was such a bad name. Another question -- when was the last time you saw a title that had markup in it? I've never seen one, and my code has parsed a lot of feeds over a lot of years. Perhaps people followed the doctor's advice. If it hurts when you do it, don't do it. Try a thought experiment, suppose we had changed the spec. What else would you have wanted to change? Juding from the Atom spec, quite a bit. How many RSS's would we have then? And who would this have been good for? We all would have had to stop making RSS apps and convene and working group and hash it all out. So instead of having 50 people on the Atom mail list, we would have had 800 people on the "Let's Completely Redesign RSS" mail list. Did you observe what happened with SOAP when the WG was formed? And you think that would have been worth it, just to get an attribute on the title element? You have to look at the actual problems people are having writing apps. That you guys could only find this and the number-of-enclosures issue says that RSS 2.0 is pretty damned good. And it works for what it was designed to do. And things we didn't expect when it was developed. That's the sign of "pretty good" technology. No it's not perfect. Anything you ship will not be. Atom is not perfect either. It's amazing to me that after 7 years, and the lack of impact that Atom has had, that you still don't get this. I would never have said it this way in normal discourse, but I think you should have the experience of someone lecturing you in public, as you have lectured me.
- whopa 16y agoThe linked article plainly explains it: "The main problem with the RSS title element is how to deal with the characters & and <. They have to be encoded at least once as a requirement of XML, but for those aggregators that treat titles as HTML, a second level of encoding may be expected in order to comply with HTML." They have to be encoded at least once but do you do it once, or twice? That's the ambiguity.
- davewiner 16y agoIn practice this isn't one of the big problems. For example, here's an aggregator of a bunch of East Village blogs and news sites. http://east-village.org http://east-village.org The feed titles are the text of the links. You don't see any encoding errors. The blogs use a wide variety of tools to create their feeds. Some are RSS 2.0, some are Atom 1.0. There might even be some of the older formats in there. They always seem to get the titles right. I decode them once. There are generally more problems with descriptions as weird Windows characters pass through their CMSes, and we have to do something with them on our end. Over time my software has gotten pretty good at dealing with these. So when someone raises this "issue" I seem it as more political than pragmatic.