Micropub for WordPress instead of yet another snowflake API

Replied to Should WordPress Provide an API for Third-Party Editors? by Justin TadlockJustin Tadlock (WordPress Tavern)
Imagine a future where you log into your website’s admin. You head over to the editor. This particular editor has all the tools and features in place that make you more efficient at producing…
This is certainly a great idea and one that has been contemplated and explored before.

As a bit of prior art, consider the (originally) open API that Twitter provided that created an efflorescence of Twitter clients one could use to post to Twitter. Obviously those were a bit simpler since they only involved 140 characters of text, URLs, and maybe photos or geo-coordinates. While Twitter eventually cut off the API, the concept was a strong one and the competition provided by the wealth of options, including paid options, made creating posting interfaces or editors an easy option for a variety of developers. Remember the thousands of WordPress plugins in the WordPress repository alone? (Sadly, Twitter turned off this API and all the lovely posting clients for Twitter either died or were bought up by Twitter and look where we are now.)

Several years ago the IndieWeb community took the openness of this model to heart and created the W3C recommended Micropub spec. It’s essentially an open API that dis-intermediates the CMS/publishing platform from the editor interface using a client/server model. It also has the benefit of allowing developers to create incredibly highly customized publishing interfaces. You can now use a full article editor like Quill which provides a Medium.com-like interface, but you can also use something supremely simple like Teacup (even from your watch!) to quickly post what your drinking/eating (along with a timestamp and optional location) to your website.

As a result of this development and the fact that there’s already a Micropub endpoint implemented for WordPress as a plugin, you can try several dozen editors and posting clients out today! And why not try them on other platforms like Drupal, Known, Craft, Jekyll, Kirby, Hugo, and Blot to name a few.

The added benefit is that designers and developers can create either very simple interfaces for posting custom things (maybe you want to post the book you’re reading with indiebookclub.biz to your website in a GoodReads or LibraryThing sort of way) or they can create interfaces for posting almost anything (our Quill example). Interface modalities can also be dramatically different. They could be stand-alone applications on PC/MacOS/Linux, web applications, mobile applications, or as simple as a browser extension (Omnibear for Chrome or Firefox is a great example of this).

For several months now, I’ve been using several social media sites to publish their data to my website using their RSS feeds via IFTTT/Zapier to Webhooks that post to my Micropub endpoint. There’s nothing better than owning all your data, right?

Maybe you want to go all in on the social media side of life? What’s to keep feed readers from building in these Micropub posting interfaces? Then you could read posts in something like the WordPress.com reader, type your reply or response directly into the reader and use Micropub to post it to your website and also cross-post it to social media? (Incidentally there are a handful of social readers that do this already!)

I hear UI complaints by people all the time at camps… If you’re a dev shop interested in paring down the editor interface for a non-tech-savvy client, then customize a Micropub client to post only the minimum requirements and let the WordPress CMS and theme take care of the rest for them! In fact, perhaps there’s a market for white-listed or even branded posting interfaces?

Now that we’ve fixed the root problem without tons of engineering time, all WordPress really needs to do is to create a Micropub client out of Gutenberg, and all those hours of work and engineering on that one posting interface could allow it to be a client to not only post to WordPress, but to Drupal sites, WithKnown sites, and any of the other dozens of platforms that already support the spec.

I mentioned it the other day, on my own website and on Twitter, if Iceberg were to implement their editor as a Micropub client, then their users could use it not only for WordPress, but other CMS platforms could use it as well.

What if a user got tired of using and maintaining their current CMS and wanted to move to another easier or faster one? They don’t have to dump the beautiful editor interface and workflow they’ve become accustomed to, they can just move to anything else that has a Micropub endpoint and take their editor with them. (Think about how you can take most text editors with you if you moved from PC, MacOS, or Linux. Why shouldn’t the same be true if you changed CMS? It’s all just data, right?!)

A great example of just this potential came out in the last week. The 9 year old iA Writer just added Micropub support. It’s a markdown writing app that supports publishing to WordPress, Medium, and Ghost. With Micropub support it can now be used to publish to dozens of additional CMSs and services like Micro.blog. While it’s available on Mac/iOS devices at the moment, I can’t wait for them to add the support for Windows and Android devices shortly as well.

Or what if Medium.com pivoted (maybe for the last time?) and made itself a Micropub client? Then it could be the billionaire’s typewriter that we’ve all been hoping for? And it would have the benefit of being able to post to multiple CMSs.

There are so many possibilities for such an open ecosystem. But, please, let’s not just build something that only works with WordPress API. Do we need another API that will make it harder for editor designers and developers to support each and every quirky, ever-changing snowflake API out there?

Want some more overview and some demos? I did a WordCamp session on the topic last year.

❤️ Overheard at #domains19 “ugh Gutenberg, that’s why I use elementor. I use Divi to avoid this”

Liked Bryan ✻llendyke on Twitter (Twitter)
Read Lurking and Private Posts by Joseph Dickson (LinuxBookPro)
I stumbled across this post by Chris Aldrich while lurking through my Twitter feed. Which has inspired me throw back a reply and briefly summarize how I have been increasingly using IndiWeb core ideas and concepts to re-focus how I use the web.More than a website Recently I’ve been building a cust...

👓 New in EditorsKit 1.5: Justify Text Alignment, Autosave On/Off Toggle, and Highlighted Text | WP Tavern

Read New in EditorsKit 1.5: Justify Text Alignment, Autosave On/Off Toggle, and Highlighted Text (WordPress Tavern)
WordPress plugin developer Jeffrey Carandang continues to plough forward with new features for EditorsKit, a collection of page building block options for Gutenberg. What began as a block visibilit…
Replied to Daniel Cotillas Ruiz on Twitter (Twitter)
“@ChrisAldrich Also I have just realized the Post Kind menu on the post doesn´t appear on Gutenberg...”
As mentioned in the description on the plugin Post Kinds is not yet compatible with Gutenberg. If it’s something you want to use, you’ll have to install and activate the Classic Editor.

📺 Kellen Mace: How to Build Your First Gutenberg Block | WordPress.tv

Watched Kellen Mace: How to Build Your First Gutenberg Block from WordPress.tv
Learn how to write a WordPress plugin that registers custom Gutenberg blocks and build out those blocks to provide an instant preview/feedback as they’re being edited in the wp-admin, as well as ho…

👓 Blog Engines and Indieweb Controlling Upstream | Brad Enslen

Read Blog Engines and Indieweb Controlling Upstream by Brad EnslenBrad Enslen (Brad Enslen)

All this WordPress 5.0 Gutenberg stuff got me thinking.  With WordPress it seems like the Indieweb starts making serious and cool progress and the WordPress people come along and knock the game board and pieces off the table.  And it sounds like the disruption from WordPress is going to continue for a couple of years.

Why not take a page out of Apple’s playbook and take control higher up in the food chain? Why not come out with an Indieweb compatible blog engine of our own?  Either fork an existing open source project or build new?  This does not mean you have to make it exclusive but make it the way the Indieweb wants the Indieweb elven magic to function.  Also put in the standard blogging features most people expect.  Why keep trying to adapt the Indieweb stuff to blog or CMS platforms that are at best indifferent, never designed for or just that don’t want to play ball?

This isn’t a slam on the coders who are working so hard to make everything work on WordPress, I’m just asking if maybe it’s not time to find better terrain to fight from.

If the Indieweb really wants widespread adoption they need to come out with a turnkey solution.  It would act as a solution for many and a proof of concept for others to emulate. Something that can be put in hosting C-panels for one touch install. Something that just works, is easy to move to and move away from. Something supported, active, growing with enough polish that it inspires confidence in the user.

I’d really like to hear serious discussion on this.

👓 My Gutenberg Migration Planning | Brad Enslen

Read My Gutenberg Migration Planning by Brad Brad (Brad Enslen)
I have several blogs: 1 x Micro.blog hosted blog plus 2 x WordPress blogs.  After the Holidays, I’ll probably migrate my main WP blog (you are here) to some other blogging platform.  No matter what I do I will lose my Indieweb features on that blog.  But that said, I forsee it becoming increasi...

👓 WordPress 5.0 Has A New Target Release Date, and, it’s… Thursday. I have some thoughts | Customer Servant

Read WordPress 5.0 Has A New Target Release Date, and, it’s… Thursday. I have some thoughts (Customer Servant Consultancy)
For those of you who are reading this in your inbox, the context for this post is the recently-published, (as in yesterday), target release date for WordPress 5.0, which rolls out the new Gutenberg editor. I’d like to say I’m surprised by this, but I’m just not. I find myself asking a few ques...

👓 Bookmark: WordPress 5.0: A Gutenberg FAQ | Matt Mullenweg | Brad Enslen

Read a post by Brad EnslenBrad Enslen (Brad Enslen)
My rapid fire thoughts:
So with Gutenberg we can have more autoplaying Youtube embeds, more snarky memes, fewer words and meaningful sentences in blogging so we can be just like Facebook and Twitter. Feh!
I distrust reliance on JavaScript.
You break my WP blog and I’ll find a new platform and host.
I have until 2022 to find a new platform. Maybe.
I just want to write. I don’t want more friction to banging out sentences.
There is a reason I hyperlink to stuff rather than embed.
/waves cane/ like grumpy old git.
I’m almost ready to be a grumpy old git too.

👓 Gutenberg FAQ | Matt Mullenweg

Read WordPress 5.0: A Gutenberg FAQ by Matt Mullenweg (Matt Mullenweg)
We are nearing the release date for WordPress 5.0 and Gutenberg, one of the most important and exciting projects I’ve worked on in my 15 years with this community. I knew we would be taking a big leap. But it’s a leap we need to take, and I think the end result is going to open up many new oppo...

👓 Forking is a Feature | Gary Pendergast

Read Forking is a Feature by Gary Pendergast (Gary Pendergast)
There’s a new WordPress fork called ClassicPress that’s been making some waves recently, with various members of the Twitterati swinging between decrying it as an attempt to fracture the WordPress community, to it being an unnecessary over-reaction, to it being a death knell for WordPress. Pers...
Again, here, I’m reminded of some of the benefits that the BackDrop fork of Drupal is providing not only to itself, but to the larger Drupal community. Naturally there’s a better way of doing these things, but it takes foresight and work–a lot of work.

Reply to Gutenberg: First Impressions | MattCromwell.com

Replied to Gutenberg: First Impressions by Matt Cromwell (MattCromwell.com)
Gutenberg is the future of content in WordPress. It will deliver the elegance of Medium but with far more power and flexibility of layouts and content types
I love how this looks and works and it’s certainly about time that WordPress had alternate means of publishing to its platform. (I miss the days when Twitter had thousands of different configurable apps to post to it, though these were far simpler.)

Not only does it remind me a bit of Medium.com’s interface, it is highly reminiscent of Aaron Parecki’s Quill editor which uses the open Micropub spec to publish to the Micropub endpoint on my blog. Though his isn’t as fully featured as the Gutenberg example, he could certainly add to it, but then it could be used to publish to any site that supports the spec.

A sample of the Quill interface for posting to WordPress via Micropub.

The nice part about Micropub (and the fact that there’s already a Micropub plugin for WordPress) is that developers can build multiple competing publishing interfaces to publish to any website out there. (Or developers could even build custom publishing interfaces for their clients.)

In fact, if they wanted to do a highly valuable pivot, Medium.com could add publishing via Micropub to their platform and really become the billionaire’s typewriter that some have suggested it to be.