I'm excited to announce that Micropub is now a W3C Candidate Recommendation!
Micropub began in 2013 when I outlined a simple API to create blog posts and short notes for my website, and then implemented it both on my server, several new clients, and started using it day-to-day. Micropub aims to be simple to understand and implement, built on top of existing standards such as OAuth 2.0 and the Microformats 2 vocabulary.
Micropub is also intended to be implemented incrementally. You can start by implementing just the basics of creating simple posts, and then expand your implementation to support additional properties of posts, and later expand to enable editing posts as well.
One of the benefits of supporting Micropub is that it allows you to leverage other peoples' work in building an interface to create posts on your own website. By 2014, there were already six independent server implementations: five created by individuals for their own websites, as well as a plugin for the Known content management system. In addition to the client I wrote, there were four other people who built their posting interfaces using Micropub, which meant that anybody else with a Micropub server could sign in and use them!
Over the next several months, more and more people built out Micropub support in their blogging systems, including plugins for Wordpress and Drupal! I continued to build Micropub clients like OwnYourGram, which imports your Instagram photos to your website, and Teacup which I use to track everything I eat and drink, even posting from my watch.
I gave a talk on Micropub at Open Source Bridge in 2015, when we had just started prototyping clients and servers that could start editing posts.
At the beginning on 2016, we published the First Public Working Draft of Micropub under the W3C Social Web Working Group. For the past several months, we've been iterating on the spec, refining the language, clarifying how to edit and delete posts, and working on ways to ensure a good user experience for applications that post photos and videos.
Last week the W3C announced that Micropub is now a Candidate Recommendation, and is inviting a wider audience to implement it and provide feedback.
Stay tuned for updates as I build out the test suite and debugging tools to help you build Micropub clients and servers. They will be launched at micropub.rocks in the coming months!
Since publishing the latest W3C draft of Micropub on March 1, there have been a few minor updates based on feedback from people who have implemented it.
The update syntax had an extra nesting that was not necessary. The syntax changed from:
If the update operation caused the post to be moved to a new URL (such as when the URL scheme is based off of the post's date, or has a custom slug that is editable), the Micropub client needs a way to know the new URL of the post.
The Update Response section now includes HTTP 201 as a possible response, along with:
If the update operation caused the URL of the post to change, the server must respond with HTTP 201 and include the new URL in the HTTP
Thanks to Greg for providing feedback on his Micropub implementation.