Broken in plain sight

h-feed is a set of rules to add CSS classes to HTML tags so that normal HTML pages can be parsed automatically by feed readers. Indieweb proponents like Tantek Çelik prefer it over Atom feeds and have a list of criticisms:

Criticism #1: DRY Violations

As a duplicate of information already in the HTML of a web page, feed files are an example of the usual DRY violations.

This tells only half of the story. Most websites are split up in two parts: Index pages that list articles with their titles and a short summary, and article pages that contain the full article text.

In that case, the premise of information already [available] in the HTML is not correct, and the h-feed is more than 2 times larger then the full-text Atom feed.

Criticism #2: Maintenance

Higher maintenance (requiring a separate URL, separate code path to generate, separate format understanding)

This is true for the initial setup/implementation.

However, when the site gets a new layout/redesign, the Atom feed can stay untouched and will not break, while extra care and testing is needed to keep an h-feed working.

Criticism #3: Out of date

Feed files become out of date with the visible HTML page (often because of broken separate code path), e.g.: [...]

When reading up the indieweb chat logs I saw the following and had a very good laugh:

aaronpk: Whoops tantek the name on your event on your home page is a mess, i'm guessing implied p-name? It's fine on your event permalink
Following all these indieweb feeds is making these markup issues super obvious now.

tantek: Even when the data is visible, consuming it and presenting it in a different way can reveal issues!
If you're still around I think I have a fix for the p-name problem you found.
Seems to work locally
Alright, deployed
!tell aaronpk try tantek.com h-feed again, p-name issue(s) should be fixed. e-content too.

Tantek added h-feed because he feared that the Atom "side file" could break silently since invisible.

Now his h-feed failed silently, and it needed a feed reader user to tell him - just like it would have been the case when his Atom feed would have been broken (except that you can validate an Atom feed automatically).

Christian Weiske.

Comments? Please send an e-mail.