inessential by Brent Simmons

CSS in RSS (yet again)

I’ve been getting email asking what I think about CSS in RSS, in light of Richard Soderberg’s how-to, Joi Ito’s use, and Sam Ruby’s guidance.

I have a few thoughts:

1. Some people think it’s an abomination. Other people like it. But, no matter what, it can’t be stopped. Some feeds will include CSS.

2. The people who think it’s an abomination are correct. Part of the idea behind syndication is that the reader has control over the display, not the creator.

3. The people who like it are also correct. CSS formatting allows for a little more personality.

4. The best thing would be to allow each newsreader user to choose whether to use CSS or ignore it.

5. Making it a choice is difficult if the CSS is linked-to from within the description (or equivalent) of each item in a feed.

Sam Ruby wrote: “Overall my recommendation is to not to try to tunnel this information inside the content, but to place it outside the content (either at the item or the feed level).  This would make it easier for aggregators to identify that a stylesheet is desired and to take the appropriate action.”

I agree completely.

Unfortunately, there is at present no accepted method for doing this in RSS. There is for Atom, however, and I’d like to see something similar for RSS.

Now... before I hear from people who say CSS in RSS is an abomination, and therefore there should be no recommendation for how to include CSS in RSS, let me re-iterate two things:

1. People are already including CSS in RSS, and there’s no stopping that. What they’re doing is legal RSS.

2. If Sam’s recommendation of moving it into a separate element were followed, then newsreaders would be able to give people a choice of using or ignoring CSS. (When the CSS link is in the description, a newsreader would have to parse the description and find the link and nuke it. That’s ugly stuff. You do not want your newsreader to have to do things like that.)

And, finally, there’s another thing to consider: some newsreaders present items all on one browser page. When CSS is included in an item’s description, that CSS applies to the entire page, not just to that one item. The word for that situation is havoc.