IndieWebCamp June 19-26, 2015

This is an automatically-generated summary of the IndieWebCamp wiki edits from June 19-26, 2015

Table of Contents

New Pages

Changed Pages

New Pages

micropub chaining

Created by on June 24

  • Wed, June 24 prompted by tantek and dfn added by tantek
  • Wed, June 24 fix typo, expand citations, see also
  • Thu, June 25 why, how to, indieweb examples
  • Thu, June 25 Adding some brainstorming ideas

micropub chaining is when you have one micropub endpoint itself use micropub to post to another micropub endpoint, like to POSSE a post to silos, or to a community site or other commons.

2015-06-08 Concept described in IRC by Ben Roberts

2015-06-23 Term proposed in IRC by Tantek Çelik [1][2]



By supporting micropub chaining on the micropub endpoint, you can use any any micropub client to post to your site, and let your server handle automatic POSSEing (e.g. via to silos, or cross-posting.

How to

Your server must be both a Micropub server implementation with an endpoint, and then have stored state to be able to be a Micropub client implementation to post to other Micropub endpoints.

IndieWeb Examples

None currently.


Authorization Flow

One of the more difficult pieces will be getting the user interface for the initial set up. Getting a token to the first endpoint in the chain will be a slightly confusing task. Say there is some external site that we want to add to our chained micropub endpoints, how do we add this?

  1. visit and select to sign-up (probably at this point you will authorize the site to publish on your behalf).
  2. redirect to primary sites endpoint with <micropub endpoint>/?
  3. follow general flow as if <micropub endpoint>/? is a client looking to use access
  4. after verifying the token, store the token and URL and possibly other data (fields to add??) somewhere
  5. redirect to and get notification that your endpoint can now syndicate to this site.

~ Ben Roberts 2015-06-25

Annotate canonical url for post

The chained (secondary) micropub endpoint may not be specifically designed to be a micropub endpoint. How does one specify the canonical url in micropub post? syndication-of=<url> or maybe just url=<url> but this has been overloaded already polling data to edit a post. ~ Ben Roberts 2015-06-25

Custom text for syndicated copy

It might be beneficial to be able to send different syndication targets, different values for some fields (content for example) to allow syndicated copies to be abbreviated versions. How would the Micropub client application display this? how would it send the data as it requires embedded items (gets ugly in form encoding) ~ Ben Roberts 2015-06-25

See Also


Created by on June 23

  • Tue, June 23 all pages created in 2014
  • Tue, June 23 thumbnail images
  • Tue, June 23 remove redirects, add namespace for templates, add name of the file
  • Tue, June 23 please don't edit

Pages created in 2014


Created by on June 21

  • Sun, June 21 create event page for last year's osbridge talk, and session notes
  • Sun, June 21 add video URL


OAuth, IndieAuth, and the Future of Authorization APIs

You use OAuth every time you log in to Facebook or Twitter, but what if you could use it from your own website? What if your own domain became a source of data, and you had your own personal API? By decentralizing authorization to your own domain instead of a silo, you control when, how, and to whom your data is shared.

Session Notes

Notes from Aaron Parecki's talk at Open Source Bridge, 2014

Talking about oauth and indieauth

people used to microblog on the old days of twitter there was an ecosystem of apps that let you write and read tweets in many creative ways.

the twitter web interface included which app was used to post that note leading to a diverse ecosystem of apps

some apps would create visualizations of your tweet history

in the dark ages before oath, you used to hand over credentials over to some of these applications. this was a major problem. how can people post to their twitter accounts without asking for their password?

lots of problems:

  • security issues
  • multiple places to change your password

everyone jumped on board with oath! this problem was no more

2014: moving this ecosystem out of twitter?

examples of indieweb sites:

Current in progress posting interfaces to personal websites and blogs:

Building our own posting interface gets boring, so why not use each others?

Quill: a simple web interface for posting notes to your website.

  • signing in gives you a checklist of requirements that need to be met to use the client
  • a simple post interface
  • pressing post sends off a request to your website and it makes the post.

There are a few of these interfaces that work on multiple sites.

  • taproot (barnaby walters
  • ownyourgram (

Working with constraints:

  • (re)invent as little as possible
  • https is easier than cryptography

Oauth2 dropped crypto and relies only on https

only form encoded request and html for authentication

users are represented by urls

apps are represented by urls

putting these things together you get: IndieAuth: Oauth2 + Web Identity

Example signing in with IndieAuth:


  • ClientID: the client you are signing into e.g.:
  • redirect_url: the thing indieauth redirects back to? e.g.
  • user
  • me = their website identity e.g.

this is done by adding a rel=me attribute to a link to an profile that is OAuth enabled IE twitter or github.

The user clicks sign in on the client applicationL

Going through the details of how indiauth interacts with the client application. See:

Now lets do that again in a different context. Signing into a web posting client with the domain name you will be posting to:

We will sign into a 3rd party app

  • client_id =
  • redirect_uri = a callback url
  • user
  • me = personal domain

users services:

the client authorizes the app, the app gets an authorization code, now goes and gets an access token.

the client gives that authorization code to the token endpoint. the token endpoint verifies the auth token and generates an access token for the client. the client stores that token to make publish requests to the micro pub endpoint. this is all oAuth2 with an additional layer of an identity layer (rel=me) on top?

If you want to actually try this, you can use to set all this up. You can just jump straight to building just the micro pub endpoint and put off the token endpoint work by using the auth and token endpoints aaron built.

Your personal site needs to verify access tokens

it can query the token endpoint to check token validity.


"Chances are half of you have your own website running different software for publishing" Micropub is a vocabulary for creating and editing posts on your website. its based on micro format 2 vocal: authentication is handled by oauth2 bearer tokens Usually provided by indieauth

you can delegate your endpoint to another service

Micropub details…. see the documentation linked above

Examples of different post types: instagram photos via quill

Multipart used for receiving files from a simple post request

no additional encoding scheme was required, just use multipart

trying to reinvent as little as possible


Shared secrets are scary (iOS decompile lead to secrete (the app) shared secrets to be leaked)

Is the access token similar to a session ID? Its kinda like a session ID. Pretty much equivalent. Its responsible for issuing a session. A string that you can use so when you come back and make a request it will be granted. Inforamtion on the website.

Open ID is complicated: How does this get out of the realm of geeks? How do we get people to get their own website. This is true. A lot of indieweb work is under the assumption that people have their own website. The assumption is that it will be easier to have a website in the future. Google just announced it will be a domain reg and will likely do a good job. An assumption but something we are working towards.

All urls are SSL. Thats complicated: Answer: yes a level of complexity, but its getting easier to run ssl. ssl is cheaper and companies are willing to dish out cheaper ssl certs. startssl gives out FREE ssl certs. Woop! Its a well established standard and hope the tools become easier. covers some of these issues.


Created by on June 23

Sarven Capadisli


Created by on June 26

  • Fri, June 26 prompted by ben_thatmustbeme and dfn added by GWG

Hovercars are an as yet nonexistent form of transportation long used as an example of futuristic technology.


Created by on June 21

  • Sun, June 21 prompted by GWG and dfn added by acegiak

weechat is an irc client that is often used as a central persistent connection that then relays to remote clients like glowingbear


Created by on June 21

  • Sun, June 21 prompted by tantek and dfn added by KevinMarks

polymer is a web front end development toolkit from Google based on web components. The polymer starter kit at ends up installing 33000+ files on your development system.

See Also


Created by on June 25

IndieID is an opne source IndieAuth service and an alternative to found at



Many people rely solely on as their auth endpoint, and while it is open source, it is ruby on rails and a little more difficult to run your own instance. IndieID is written in PHP, uses no database, and tries to keep required libraries to a minimum in hopes that anyone can run their own IndieAuth server. ~ Ben Roberts

Suported Providers

Desired Support

  • Twitter Uses OAuth1 instead of OAuth2 so I have not gotten to it.

Specifically Not Supported

See Also

answer to the ultimate question of life, the universe, and everything

Created by on June 26

answer to the ultimate question of life, the universe, and everything is 42.


Created by on June 24

  • Wed, June 24 Created page with "{{stub}} <dfn>[ Telegram]</dfn> is a cross-platform encrypted messaging app. Telegram is a centralized service, with a closed source server and open source ..."

Telegram is a cross-platform encrypted messaging app. Telegram is a centralized service, with a closed source server and open source clients.

Changed Pages


14 edits by
  • Mon, June 22 start ordering things in some sort of a reasonable narrative, expand the harder sections, work on closing sections that are more positive
  • Tue, June 23 stub a 2014 Technologies section with Vouch, let's add more by analyzing 2014 IWC demo notes
  • Tue, June 23 /* Technologies */ indie-config
  • Tue, June 23 link to 2014-created
  • Tue, June 23 /* Technologies */ add Services stub with Bridgy, and Applications
  • Tue, June 23 /* Community Resources */ 1000+ pages created
  • Tue, June 23 /* Services */ more Bridgy details
  • Tue, June 23 micropub first implemented / interop in 2014
  • Tue, June 23 6 micropub server implementations, link to each sets as of 2014
  • Thu, June 25 /* Community Resources */ list best documentation/resource pages created in 2014
  • Thu, June 25 /* Technologies */ invitation
  • Thu, June 25 /* Community Resources */ mobile, notification
  • Fri, June 26 /* Technologies */ h-feed adoption by indieweb community
  • Fri, June 26 /* Community Resources */ payment


8 edits by,,

2015/Guest List

7 edits by,,,
  • Sun, June 21 /* Participating */
  • Mon, June 22 /* Official Guest List */
  • Mon, June 22 sort by first name (was sorted by domain name instead)
  • Mon, June 22 add rsvp from tito registration
  • Wed, June 24 registration from tito
  • Wed, June 24 give people 24h to add themselves before I copy registrations from tito
  • Fri, June 26 /* Remote Participants */


5 edits by
  • Tue, June 23 /* 2008 */ rel=in-reply-to in HTML proposed by csarven on microformats wiki
  • Tue, June 23 /* 2013 */ event W3C Workshop on Social Standards
  • Tue, June 23 /* 2009 */ first implementation to publish rel=in-reply-to
  • Tue, June 23 /* 2009 */ '''
  • Tue, June 23 2014 vouch concept, term, spec, implementations


4 edits by,


4 edits by
  • Wed, June 24 /* Syntax */ update with latest JSON syntax for edits
  • Wed, June 24 /* Updating Objects */ updated syntax
  • Wed, June 24 move syndicating to brainstorming
  • Wed, June 24 /* Updating Objects */ add JSON examples


4 edits by,
  • Sun, June 21 add upcoming osbridge talk
  • Sun, June 21 add last year's osbridge talk
  • Sun, June 21 update dfn, upcoming header to clarify scope / encourage more deliberate contribution
  • Sun, June 21 /* Upcoming */ de-dupe, bold


3 edits by
  • Sun, June 21 clarify movement, terminology, camp
  • Sun, June 21 call out years, add specific dates inline instead of having to click through to find them
  • Sun, June 21 add History of IndieWebCamps with template listing them all

Main Page

3 edits by,,

Getting Started on WordPress

2 edits by
  • Thu, June 25 /* Optional Plugins */
  • Thu, June 25 /* Syndicate your content to other sites */

Big Boring System

2 edits by,
  • Tue, June 23 + == Site death ==
  • Wed, June 24 update dates, since late 2013, update dfn to what is currently active


2 edits by


2 edits by


2 edits by
  • Tue, June 23 fixing link to Basic Bilingual as Steph's site seems to be broken (a database error - [[database-antipattern]]?)
  • Tue, June 23 /* Solutions */ adding pointer to Django and GNU Gettext


2 edits by
  • Wed, June 24 /* Ben Werdmuller */ another interesting multi-reply example, possibly to get around lack of salmention
  • Wed, June 24 /* Tantek */ s/rarely/once in a while, add recent multireply in response to 3 other indie replies/posts in order to have it show up as a comment on all 3


2 edits by


2 edits by
  • Thu, June 25 stub out a 401 troubleshooting
  • Thu, June 25 /* Twitter returning 401 error */


2 edits by
  • Thu, June 25 /* IndieWeb Examples */ subheads for examples
  • Thu, June 25 /* IndieWeb Implementations */ subhead bridgy


2 edits by,


1 edits by
  • Mon, June 22 add focus section with what's good for indiewebcamp user pages and examples of what's not, clarify some other scope, per csarven edit

videos about the indieweb

1 edits by
  • Mon, June 22 add my osbridge video from last year

1 edits by
  • Mon, June 22 Initial itches off the top of my head


1 edits by
  • Mon, June 22 rename sections to Why, Why not, How to, group Push Notifications, add indieweb examples with aaronpk, brainstorms, then projects


1 edits by
  • Mon, June 22 /* POSSE Replies to Twitter */ add subheads for originals with/without POSSE tweets, add new method of @-mentioning the indieweb author to scope a POSSE tweet reply with examples


1 edits by


1 edits by


1 edits by
  • Mon, June 22 /* Security and Spam Protection */


1 edits by
  • Fri, June 26 /* Setup Known on nginx */


1 edits by
  • Sun, June 21 fix dfn, see also explicitly timeline / founders for other things


1 edits by


1 edits by
  • Wed, June 24 move syndicating to brainstorming, update notes on other brainstorming sections

1 edits by


1 edits by

1 edits by


1 edits by


1 edits by
  • Thu, June 25 SF location confirmed @MozSF, RSVP for SF


1 edits by
  • Thu, June 25 /* Twitter */ add favourite display screenshots

1 edits by
  • Tue, June 23 /* Criticism */ replace broken link with


1 edits by
  • Wed, June 24 /* See Also */ only link to the page with other languages is sufficient

Transitional Steps

1 edits by
  • Thu, June 25 cleanup this page to link to other pages with more well thought out options, see also


1 edits by
  • Wed, June 24 added changing permalinks section