This article is a stub. You can help the IndieWebCamp wiki by expanding it.
A feed is a collection of posts, often served in a specialized XML format like RSS or Atom, that are typically polled for updates by feed aggregators. Feeds can also be (and are more and more often) served simply as HTML marked up with hAtom/h-entry.
If you're publishing posts on your own site as a "feed", e.g. as a time-ordered series of updates on your home page, use:
In addition, consider adding support for PuSH notifications to turn your feed into a real-time stream for PuSH subscribers.
There is a long history of the development of feeds, most of which has died to due the widespread abandonment of XML as a foundation of anything actually served on the web (largely replaced by HTML and JSON).
There is however still some inertial legacy XML support, some of which you may find sufficiently useful to implement.
XML feeds are known to be problematic for a variety of reasons, here are a few.
- DRY violation - feed/post content is typically already visible on HTML pages, thus the XML version is a (sometimes lower fidelity even) duplicate.
- maintenance cost
- separate code path (additional maintenance) for generating XML
- inefficient (perhaps because extra code to support them was hastily written due to being lower priority than visible HTML)
There are legacy systems, e.g. some feed readers, that only support older technologies such as XML-based feeds. For backward compatibility with those you may want to consider publishing the following:
- Atom ActivityStreams object-type annotations, e.g. inside entry elements:
<object-type xmlns="http://activitystrea.ms/spec/1.0/">http://activitystrea.ms/schema/1.0/note</object-type> or
<object-type xmlns="http://activitystrea.ms/spec/1.0/">http://activitystrea.ms/schema/1.0/article</object-type> for the note and article post types respectively.
- (any known live Atom ActivityStreams consumers?)
How to publish
How to consume
Don't bother consuming ATOM or RSS, it's so problematic and fragile as to not be worth hassling with.
For a list of over 40 problems with consuming feeds, see:
Note that nearly none of those happen/apply to when consuming visible HTML web pages (e.g. marked up with h-entry). Some of them still might, but in general most of them either don't, or are quickly automatically fixed because, well, people (including readers of a site) notice that visible HTML is broken and it typically gets fixed quite quickly.
Instead, directly consume visible posts marked up with h-entry using an open source microformats2 parsers. Such h-entry consumption is already a building block for various indieweb user features such as reply-contexts and comments syndication and thus tends to be more reliable (more user-facing feedback loops).
Documentation of when sites stop publishing and/or consuming legacy RSS/Atom feeds.
- 2013-11-06 Not a shutdown (yet), but reduced/damaged functionality to RSS Podcasts in Apple iTunes 11.1 per Apple Communities post: Figuring out podcasts in iTunes 11.1 and iOS 7
- 2013-08-14 Switching off HubMed's RSS and Atom feeds:
I've been considering stopping HubMed's feeds, and the demise of Google Reader seemed like a good incentive to do some spring cleaning. They were quite inefficient old scripts, which made the shared hosting provider unhappy, so today I decided to switch the feeds off. emphasis added.
- 2013-06-30 Google Reader (RSS and Atom consumer) shut down.
- 2013-04-11 Evernote Removing RSS support for public notebooks:
We currently have support for RSS feeds for public notebooks to allow subscribers to automatically get updates to those notebooks. Last night's (4/10/2013) release of the web service removed this support. Attempts to access Public Notebook RSS feeds will return a 404 HTTP response code instead of the heretofore expected content. At this point, the feature was imposing excessive load on the service relative to its use and utility, and the decision was made to remove it.
- 2013-03 Twitter removed RSS feeds. Twitter support discussion:
Keep in mind though that v1 of the API is now deprecated and will cease functioning in March 2013. RSS feeds are no longer supported by the API after that date.
Are Feeds Dying
Is it time to deprecate feeds, or at least drop any federated social dependence on feeds?
With microformats2 h-entry, generic microformats2 parsers for Node and PHP is there any more need for bespoke
XML or JSON feeds/formats when you can get any HTML page as JSON?
Or Undead already
Beware the Feedpocalypse