A reader (or indie reader) in the context of the indieweb is the portion/feature integrated into an indieweb site that provides a way to read content from other indieweb sites, possibly including posts from the current site as well.
If you're looking for pre-indieweb / legacy feed readers (e.g. like Google Reader) see:
Reasons to have a personal reader (a reader integrated into your site for you to use)
- If you had reading built into your own site, would you ever need to visit Twitter or touch a Twitter client again? (since you can presumably already post from your site and POSSE to Twitter, including replies)
- Your own site can provide you with a superset of Twitter-like functionality, assuming you're already
- Filter and prioritize posts from others using algorithms of your own choosing.
That's just the beginnings of what an indieweb reader can enable.
In datetime order of implementation (earliest first)
Ashton McAllan developed a Wordpress plugin, WhisperFollow, which aggregates RSS/Atom and Microformats2 data from the pages linked to in your blogroll and displays those updates in a private page in your wordpress blog. It currently defaults to RSS/Atom only attempting to read MF2 if the separate feed isn't found. It also allows updates to be reblogged, replied to, favourited, and commented on etc.
Barnaby Walters developed Intertubes, an experimental indieweb-oriented flow-based programming + feed reader UI parsing microformats and shimmed twitter.com microformats.
- simple feed demo and associated source
- more complex example and source
- sandbox for experimenting — try making your own feeds!
Barnaby is using and developing Shrewdness, a multi-column feed reader as of at least 2014-08-04
See http://andysylvester.com/2014/03/01/howto-setting-up-the-selfoss-feed-reader-with-microformats-support/ for instructions on how to set up the Selfoss reader.
Ben Werdmüller, Aaron Parecki, Emma Kuo
- allows authoring comments and liking posts via micropub
- reads microformatted subscription list from a URL
- supports mf2 h-feeds as well as RSS/Atom feeds
- reply/like/repost buttons link to posting UI
- only supports mf2
- requires manual polling
thready, a thread reader created for Indieweb Summit 2016 hack day.
- proof of concept of thread-crawling algorithm
- Sign up/login via indieauth, open to anyone.
- Supports h-feed via mf2util and XML feeds via Python's excellent feedparser.
- Support different strategies for posting responses -- micropub, indie-config, and custom URL endpoints.
- Sign up/login via IndieAuth, open to anyone
- Supports subscribing to h-feed URLs
- Supports posting "likes" and "bookmarks" back to your site
- Subscribes to PuSH hubs of URLs that are added
Malcolm Blaney has added microformats support to the SimplePie feed parsing library, which is available at https://github.com/simplepie/simplepie. This library is used in conjunction with dobrado to provide an easy to use reader. It is deployed at https://unicyclic.com and includes:
- Sign up/login open to anyone via traditional username/password with email confirmation.
- Login is also publicly available via IndieAuth, and posts created via Micropub in this case.
- When IndieAuth is used but Micropub is not available, indie-config is used for actions.
- Supports displaying previous actions made by using the indie-config status protocol.
- Supports multi-feed discovery via link tags or rel=feed.
- Supports subscribing to any page containing h-feeds or h-entry's (as well as xml feeds).
- Supports in-line posting, likes, shares and replies.
- Update notifications from both PubSubHubbub and rssCloud.
- Imports a list of feeds (OPML) from many other readers including: Google Reader, Feedly, Newsblur, inoreader.
Chris Aldrich installed the WordPress plugin for PressForward to create an integrated feed reader into his WordPress site. While IndieWeb in flavor it could still stand to add a few pieces of additonal functionality. In conjunction with the Post Kinds plugin, the two together allow for a more coherent self-contained workflow. Features include:
- The ability to privately bookmark posts (PressForward calls this functionality "nominate")
- Easily reposting stories (including the full contents, photos, etc) or posting them as read, bookmark, like, favorite, etc. posts (one could also mark them as read privately).
- Canonical URL use allows for the option of redirecting posts to the original story to properly attribute credit to the originating site
- A bookmarklet for easily adding individual stories and or saving sources for subscribing to at a later date.
- An integrated clean reading interface courtesy of Mercury (fka Readability).
- The ability to save a full archival copy of the posts within the reader.
Additional details can be found here.
Aaron Parecki developed a Microformats2 plugin for selfoss, and ran it on a subdomain of aaronparecki.com since 2014-02-13. The reader polls the subscriptions at a predefined interval looking for new h-entry posts on each person's home page.
Here's a screenshot of a following list:
Here's a screenshot of a reading window:
For more on this see: http://aaronparecki.com/notes/2014/02/13/3/microformats-selfoss-indieweb
Integrated Activity Reading
From analyzing the screenshots in this article:
of Facebook's News Feed experiment:
A single integrated news feed of friends' activities, including posts and likes.
Comparing the experiment and the reversion, shows the experiment provided:
- More efficient reading (less time spent by the user reading the news feed)
...users who were switched to the new News Feed tended to spend less time on the site.
- Less distraction (less frequent browsing of other pages)
...users no longer felt the need to browse areas outside of the News Feed as often...
- Fewer UI elements overall (including fewer navigation links, especially with activity numbers on those other pages).
All of these differences provided for a better-for-the-user user experience (faster, more focused, more relaxed) which could (should) be used in the design of indieweb reader user interfaces, as it provides opportunities to outdo silo UX.
Tantek 16:36, 27 March 2014 (PDT)
Jeena Notes Reader
Thoughts on challenges and how to develop an indie notes reader:
Dark Matter Reader
The plan is for Dark Matter Reader and Dark Matter Publisher to be sister projects. Subscribe webactions (while browsing around the web) will get caught by Dark Matter Reader. Repost/Reply/Bookmark webactions will go from my Dark Matter Reader app to my Dark Matter Publisher powered site. But both will be optional connections to the other. Either Dark Matter Reader or Dark Matter Publisher could be run stand-alone without the other one. At least, that's the Big Plan™. (Not enough time/money/people.) - Shane Becker (2013-08-10)
Discovery of posts on a page
Given a URL, a reader needs to be able to reliably find the list of entries on the page.
Discovery of alternate feeds
See also: h-feed#canonical_feed_autodiscovery
Given someone's home page, they may link to one or more additional feeds of posts other than what's visible on the home page.
List and hashtag
In 2015, at the XOXO festival, Aaron Parecki created a private stream of tweets from attendees who mentioned "xoxo," and those tweets appeared in the conference's Slack channel. This was hugely popular at the conference since the hashtag on Twitter was being spammed, making it impossible to read actual content about the conference on Twitter itself.
In-stream comments and likes
As discussed on IRC 
I enjoy the integrated experience of an indie reader, but am missing comments and likes from others. This is especially noticeable when I want to comment on something and then realize someone may have made the same comment, a better comment, or a comment that makes my comment seem silly.
A "(n) comments" indicator would be a nice alternative/addition.
- We don't want to poll every permalink ever seen forever
- How to get timely updates?
- Silo feeds proxied through granary: how to fetch proxy permalinks and not the real permalinks?
- Poll/refresh only when the item is clicked or asynchronous fetch when the item is viewed with live updates
How should a reader display a post -- should it try to include the whole thing, or just an excerpt or summary?
Woodwind includes an optional title ("name") followed by the "content" or "summary" if content is not provided.
- In general Woodwind tries to show the full content of a post (which can be overwhelming), but because it only fetches the feed page, and not the individual permalinks, it only has access to the infomation in the feed.
- On h-entry posts (as opposed to h-event), if there is a "name" but no "content" or "summary", the name is displayed as if it were content. In my experience, these posts tend to be note-length posts marked up with only p-name.
As Twitter, Tumblr, and other aggregators have demonstrated, keeping up with everything you've subscribed to is both challenging, and eventually unrewarding. Thus some amount of smart filtering/pruning/batching is likely to be an essential part of making indie readers scale beyond following only a handful of people. See also:
Whoever is working on the indie reader problem, please consider the problem of social media distraction (which seems to come more from the reading side than the writing side). See related: silo-quits.
missing good stuff
Likely as an attempt to compensate for #overload as noted above, users tend to limit the number of sources they follow, thus resulting in another challenge - the loss of signal, AKA "missing good stuff".
It is possible that there are some approaches for mitigating overload (e.g. perhaps categorizing notes with non-self-source links as comments on those links, and aggregating them by link destination) that could help bubble up "good stuff" from a larger set of people you follow.
One of the reasons I have not prioritized the reader for myself, because I have better luck reading social media by searching for hashtags (results piped to IRC) and having other people send me things :)- Aaronpk in IRC.
It becomes more and more time consuming to maintain a large list of subscriptions in traditional feed readers. It isn't uncommon to see feed URLs go dark, change location or just stop working for whatever reason. It would be advantageous for the next crop of readers to provide tools to help automate this sort of maintenance. It would also be great to find ways for feeds to state "This will never be updated again" and "This feed will be moving to this new location".
Open source examples
- Status.net - allows you to subscribe to any PuSH-enabled feed on the web and view it on your home page.
Many social content hosting silos have integrated reader like features, but only for "feeds" of accounts on the particular silo.
- Facebook - logged in home page has a "news feed" that essentially provides feed reader like functionality of the activities (including posts) of friends of the logged in account.
- Tumblr - logged in dashboard has a feed reader of Tumblr users followed by the logged in account
- Twitter - logged in home page is a feed reader of Twitter users followed by the logged in account
After implementing an indie reader, you may find that you want to search all the things you read. See:
- search: Social Search for some brainstorming on this.