Okay, so WordPress is up and running, and I noticed that the default theme has the link for RSS at the bottom with a URI that says “feed://…”
I just want to point out how completely wrong this is. The first part of a URI is the protocol, and in this case, one actually uses HTTP to fetch RSS feeds, and even though the content is this ill-defined thing called a “feed” that doesn’t mean that the URI should start with “feed:”. No browser I know of handles “feed:” correctly, and in fact, to get the behavior I think they were intending, they should just add a mime-type handler for things of type “RSS.” Looking at the RSS XML, generated by WordPress, it actually doesn’t have a proper XML header (like it should) with a correct MIME type (like it should) so maybe they’re just misunderstanding the whole mess. Oh well, I would have thought they knew better.
Here is the page that describes the feed URI scheme. Mac OS X already has support for it, and some of the aggregators that I use already support it.
Firefox on the Mac automagically launched NetNewsWire when I clicked on it. It’s the first time I’ve clicked on any XML type link and had the right application launch.
Yeah, I know, it probably works, but its a total abuse of what the URI scheme was really designed for. Think about all the things on the left hand side of the “:”
ftp
http
https
mailto
telnet
I mean, what does “feed:” really mean? What if I want to serve my feed via https? Do I say “feeds:”? Its really just a mess, and could have been handled via proper MIME handling.
Oh, and just because someone has written an RFC, it doesn’t mean that we should really be implementing it. And, that RFC hasn’t even been submitted for comments yet, so its totally not appropriate for there to be implementations of this out there already. Double-ugh.
Actually, I think that this makes perfect sense. The string on the left side of the ‘:’ specifies the type of that url. For example, for http, I should be able to specify an application that handles insecure http locations. And I should be able to specify a different application that should handle secure http locations. By the same argument, I should be able to specify an application that can handle the feed url. This may be my standard browser, or it could be a seperate application.
If you wanted to serve your rss feed though https, you would specify the url like feed:https://domain.com./……
I don’t know about using mime type. This would require the browser to do a HEAD request to get the mime type and then potentially ignore all of the headers, and send url to a different application. With this scheme, the browser don’t have to know anything about the content. All it has to know is that it can’t handle the uri scheme.
Okay, then why can’t the filename be enough? You’d never expect anything like this:
jpeg://slacy.com/albums/2005/album175.highlight.jpg
to ever work, would you? Its not reasonable to think that every possible file would have its own handler. Remember, “http” doesn’t mean “handle with my web browser”, it means “use the http protocol to fetch this” Those are two totally different things. So, I still assert that it should be:
http://slacy.com/blog/wp-rss2.rss2
instead of:
feed://slayc.com/blog/wp-rss2.xml
Thus, the browser can have a file name extension handler (like its used to doing) and you don’t have to pollute the “protocol space” of things that appear before the “:”. The problem is that people got confused about if they should end their RSS feed with .rss, .xml, .php, .asp, etc. They need to realize that if its an RSS file, (i.e. XML) then it needs to end in .rss (or .rss2, or .atom as the case may be) and set up handlers in their browser.
The problem with this scheme is that there’s no consensus in the blogging world about these filename extensions.
Blogger.com appears to be using only Atom feeds, and naming them “http://blogname.blogspot.com/atom.xml” and I’m not sure what LiveJournal does. What are the other big blog hosting sites, and what do they do?