Microsub provides a standardized way for reader apps to interact with feeds. By splitting feed parsing and displaying posts into separate parts, a reader app can focus on presenting posts to the user instead of also having to parse feeds. A Microsub server manages the list of people you're following and collects their posts, and a Microsub app shows the posts to the user by fetching them from the server.
- Want to implement a Microsub client or server? See the Microsub specification.
- 1 Articles
- 2 Clients
- 3 Servers
- 4 IndieWeb Examples
- 5 IndieWebCamp Related Sessions
- 6 Getting Started
- 7 Libraries
- 8 Brainstorming
- 9 See Also
Microsub enables a client to show posts from feeds across the web and display them in a reader, without having to do any feed parsing itself. With Microsub, people can use any suitable reader to follow and read the content. Decoupling the idea of displaying posts from actually fetching remote feeds makes it simpler to build a reader, as well as makes your subscription list portable between readers.
Microsub decouples managing subscriptions and delivering content from the presentation of that content. The Microsub server handles the actual subscription to feeds, (likely using WebSub), while providing a consistent API so that apps can present the contents of the feeds in a reader interface.
- Aaron Parecki 2018-03-12 Building an IndieWeb Reader
- Aaron Parecki 2018-04-20 An IndieWeb reader: My new home on the internet
Indigenous is a set of in-development native iOS and Android Microsub reader apps.
Ekster Reader is an in-development Microsub reader, running in a browser. It connects directly to a Microsub server without its own Microsub proxy backend. For this to work you do need a Microsub server that handles CORS headers, to allow access from the browser. This also applies for the Indieauth endpoint. A version is hosted at https://reader.p83.nl/
- Aperture, built by Aaron Parecki, is a Microsub server with no UI for rendering posts. This is intended to be a server only, and all rendering happens using Microsub clients. It is built in PHP with MySQL storage. Source on Github
- The Drupal IndieWeb module, built by Kristof De Jaeger includes a built-in Microsub server.
- dobrado includes a Microsub server, built by Malcolm Blaney
- Micro.blog can be used as a Microsub server. Channels are mapped to the built-in sections of Micro.blog like Timeline, Mentions, and Favorites.
Proxies - not entire server(s), but implements Microsub server API wrapped around existing service(s):
- Baffle, built by Ryan Barrett, is a bridge that makes traditional feed readers like NewsBlur and Feedly support Microsub. More background
- Aaron Parecki uses Aperture as his Microsub server, and the Together and Indigenous clients.
- Eddie Hinkle uses a self-hosted Aperture as his Microsub server, and the Indigenous for iOS (mobile) and Monocle (on computer) clients.
- Marty McGuire uses an identical setup since 2018-03-05.
- Kristof De Jaeger uses the built-in Microsub server of the Drupal Indieweb module and the Indigenous for Android (mobile) and Monocle (on computer) clients
- Neil Mather uses an account on Aaron Parecki's Aperture instance and the Indigenous for Android (mobile) and Monocle (on computer) clients since 2018-09-07
- Peter Stuifzand uses Monocle, Indigenous, Together and Ekster Reader with his own microsub-server, Ekster.
- Add yourself here… (see this for more details)
- Sven Knebel is building a bridge from Inoreader to Microsub (not ready yet, sorry!)
- Peter Stuifzand is building Ekster, a Microsub server in Go using a Redis storage. Source on Github
- Jack Jamieson is building a WordPress plugin called Yarns Microsub Server. Source on Github
- Sebastiaan Andeweg is working on a project codenamed Leesmap, as described on this post on Seblog.nl
IndieWebCamp Related Sessions
- Keynote at IndieWebCamp Summit 2018 Next Wave of IndieWeb: Readers
- Microsub: how to build servers and clients
- [2017/Austin/audio Austin 2017: Audio] (tangential ideas relating to microsub here)
To use a Microsub app, your website will need to support IndieAuth and advertise a Microsub endpoint. Starting with a plain HTML home page, the steps below will walk you through getting set up so you can log in to an IndieWeb reader app.
Setting up IndieAuth
If you have WordPress or another website that has native IndieAuth support, that is your best option. Install the IndieAuth plugin in WordPress or your CMS.
If you are not using a CMS that has native IndieAuth support, you can use the steps below to delegate all the authentication to external services so that you can use it with a static site or any other project.
- add a rel=me link to your GitHub profile
<a href="https://github.com/username" rel="me">username</a> on github
- add the following tags to delegate your IndieAuth handling to indieauth.com
<link rel="authorization_endpoint" href="https://indieauth.com/auth">
<link rel="token_endpoint" href="https://tokens.indieauth.com/token">
Setting up Microsub
- sign in to https://aperture.p3k.io/login with your domain
- after you sign in you will see a link tag displayed on your dashboard
- add the <link> tag it generates for you to your web page
<link rel="microsub" href="https://aperture.p3k.io/microsub/000">
- sign in to an IndieWeb reader!
- Microsub bridge
- 2018-04-20 Aaron Parecki on GoDaddy blog: An IndieWeb reader: My new home on the internet
- The Next Wave of IndieWeb: Readers was a keynote talk at IWS 2018
- Microsub session at IWS 2018
- IndieAlgorithm session at IWS 2018
- Adding feeds from an OPML file to a Microsub server