Notes on atom feeds
For implementing feeds for the Isso commenting server, I was researching about atom feeds, and though I would jot down some notes on the topic.
RSS2 vs Atom
Both are mostly accepted everywhere now a days, and it seems like a good idea to provide both. This particular post only talks about Atom feeds.
Nested Entries
Comments are threaded, at least to one level deep, but Atom does not allow nested entries. So, for the feed page for a post, we have two choices: listing all comments, or just top level comments. If we have a feed page for each top level comment, then that would be a flat list of all replies to the comment.
Feed URI
Every Atom entry must have a unique ID. This page has some intersting ways to generate the ID. I think the best way is to generate a tag URI at the time of comment creation, store it, and use it forever for that resource.
Reduce load/bandwidth by using If-None-Match
If we give out ETags with the feeds, then a client can do conditional requests, for which the server only sends a full response if something has changed.
Interactions