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.

Annotated Tuesday 19 May, 2020 by John NaughtonJohn Naughton (Memex 1.1)

Interestingly, I’ve found that Kindle is useful in this respect. I buy Kindle versions of books that I need for work, and highlight passages and bookmark pages as I go. And when I’ve finished the software obligingly has a collection of all the passages I’ve highlighted. 

John, you should spend a minute or two to learn about Hypothes.is as an online tool for doing this. It’s a free account or you can self-host the software yourself if you like. There are also functionalities to have public, private, or group annotations.

I often pull my own annotations to my personal website similar to your own Memex and publish them there (example: https://boffosocko.com/kind/annotation/)

Incidentally you can also annotate documents stored locally on your computer, but viewed through a browser as well as collaboratively annotating with others.

Replied to A thread on Hypothes.is in relation to Audrey Watters' Top Ed-Tech Trends of 2015: Indie Ed-Tech by Audrey Watters, Jeremy Dean, Dan Whaley (Hack Education / Hypothes.is)

it supports students and teachers and schools in managing their own infrastructure, their own labor, their own data.

—Audrey Watters

Ok, so is hypothes.is doing this? How can it?

  • my annotations must be better accessible/organizable --the current "My Annotations" is not enough
  • annotation must be exportable

—jeremydean on Dec 30, 2015


And ultimately, you need to be able to completely run your own annotation infrastructure, but create and access it through a universal client.

—dwhly on Dec 30, 2015


Sure. Less clear to me how that looks/works and what that I do today online is similar in "ownership." But does your "you" refer to students or teachers or schools or all of the above?

The first two (I list) seem key in terms of practical adherence to these principles for everyday users.

—jeremydean on Dec 30, 2015


It's similar in character to the Domain of One's Own initiative. From a long term perspective, you might be better off taking ownership of your own infrastructure, that you can carry with you and guarantee will be available over long time periods (decades to centuries). Hypothes.is should at the very least permit you to do so if you prefer-- regardless of whether we continue to provide an annotation service at scale (which I very much think we should).

Your question around "you" is an important one. I might for instance, set up my own annotation server for my personal notes-- with the confidence that I'll always be able to find a reliable hosting provider for those. Similar to how I have my own web domain, and I host it at one place now, but I can always move it if that location goes out of business-- and my website will be identical to its current form in the new place. In the same way, my current personal email is through an address at my own domain. I don't need to depend on gmail being around forever.

As a teacher, I might use a more common service provider (like Hypothes.is) for class lessons-- one that my students are already likely to have accounts on. As web travelers, we're really accustomed to browsing seamlessly between servers-- it's understood to be the essential architecture of the web. Bringing it to the world of annotations has extraordinary benefits (IMHO) and will serve to foster more adoption and more diversity of applications.

—dwhly on Dec 30, 2015

I’ve been thinking over some of this question for the better part of a decade and even more pointedly since November.

Some of what I’ve been looking at relates back to the renaissance ideas of the commonplace book as well as memory techniques dating back to ancient Greece and even further back. There are ideas like wikis (personal as well as public–Audrey references a great post by Mike Caulfield in her article) and online notebooks tools like Evernote, OneNote, TiddlyWiki, Roam Research, etc. If a student could quickly add all their highlights/annotations into their website, online notebook, Zettelkasten, or other related learning tools, then they could use them for reading, reviewing, or even spaced repetition as provided by platforms like Anki, Mnemosyne, or NeuraCache.

Going back to Jeremy’s original question though:

Ok, so is hypothes.is doing this? How can it?

Hypothesis could immediate do this and quite effectively if it supported the W3C recommended Micropub spec. In short, it’s a standard and open source method for publishing data to a broad spectrum of surfaces so that developers don’t need to build custom solutions for each of thousands of snowflake platforms.

That is, in addition to its current functionality, you could add some code to make Hypothesis a Micropub client!

The quickest and most flexible approach I might suggest would be to allow users to publish their annotations/highlights not only to their accounts, but have UI to trigger a micropub request to their website, online notebook, or other platform.

There’s nothing more I’d want than an easy way to own all the data I’m collecting with Hypothesis and Micropub could quickly add it for a wide variety of set ups and systems. There are already implementations of Micropub servers for a variety of CMS software including WordPress, Drupal, Known, Craft, Jekyll, Kirby, Hugo, Blot, and Micro.blog with others being added, including Grav. Some of us are actively working on adding it to Wiki-related software as well. Since large portions of the Domain of One’s Own movement are built on these handful, you’d have some pretty quick coverage of not only all this space but even more.

I suspect your dev team could build an implementation in just a few days and it would open up a huge advantage for allowing users to more easily own their H related data on their own websites or in other online locations (while still utilizing the Hypothesis platform for more complex functionality).

There’s some solid documentation and a wealth of open source clients you could look at or borrow code from as well as a test suite. I suspect the IndieWeb Dev chat channel would surface a few additional developers to answer questions about any other issues as they crop up.

If you’d like a quick 5-10 minute demo of how this works for a handful of other clients in conjunction with something like WordPress, I’m happy to volunteer the time and spitball some potential ways Hypothesis could dovetail it and leverage its power.

Annotated Social Reading and Remote Learning with Hypothesis (Hypothesis)
Recipes for Annotation
We are also establishing a hub for teaching materials related to collaborative, digital annotation where we will share resources to help instructors get started with practices other teachers are already using. We would be grateful if veterans of Hypothesis, social reading, and online learning would share their lesson plans and activities with us so we can share with others and credit your work. Annotate this post with your ideas or email your contributions to education@hypothes.is.
Your Content Goes Here  
Interesting… earlier today I was actually thinking about how it might be easier to help both students and teachers in their onboarding process. I had thought that a set up like Terry Green’s Open Patchbooks might be an interesting way to do this: see http://openlearnerpatchbook.org/ and https://facultypatchbook.pressbooks.com/
 
Replied to a tweet by Xinli Wang (Twitter)

Outline for a Hypothes.is Crash Course

I often find examples to be most immediately helpful. You might look at Literacy, Equity + Remarkable Notes = LEARN: Marginal Syllabus 2018-19 which has some solid multimedia resources around a group of educators annotating. It’s not only an interesting public example, but will introduce you to some helpful people in the space.

For a “textbook” example, I believe American Yawp may be one of the most annotated textbooks online.

I Annotate 2019 was an interesting conference and Hypothes.is has kindly aggregated videos of all(?) the talks. You can skim through some to find applications relevant to your interests. In addition to this example, the H blog is also a great resource for other examples and news.

More specific to your initial question, you’ve got a lot of options. You can open .pdfs on your local machine and annotate via Hypothesis, but if it’s for a bigger group, hosting it somewhere on the web that is easily accessible may be best. Hypothesis has also made some significant leaps for integrating their product into LMSes recently which also helps in seamlessly making accounts for new users.

Once it’s available to the group, you may want to decide whether you want the group to annotate in the public channel or if you want to annotate in a smaller private group

Most importantly, explore. Have fun. There are lots of off-label uses you’ll run across using the tool as you play around.

Replied to a tweet by Ali SpittelAli Spittel (Twitter)
Nearly headless WordPress (for ubiquity and ease-of-use) + Micropub (for posting almost anything quickly) + Webmention (for cross site communication) + frosted in IndieWeb goodness = blog evolved.

Sadly, it seems like too many in the thread completely got lost on the “why” portion which was the best part of the question.

Replied to a thread (Twitter)
Lots of potential ways of shaving this yak.

The best “modern” way would be to create a Micropub endpoint and then you can use some of the excellent multi-platform Micropub clients like Quill, Omnibear, Micropublish.net, etc. The benefit of this is that you get way more than just bookmarks.

I don’t know if anyone has set one up to work with Eleventy or Netlify, but there is some prior art for other static site generators. 

The low brow solution may be to take the route I took with TiddlyWiki, but that includes some cutting and pasting, so it may be helpful, but isn’t a completely automatic solution. You’ll note there’s a reply at the bottom of the post that modified my code for use with Roam Research which also includes code for browser extensions as well.

If you want to go crazy with some .php, there’s Parse This code for a plugin for WordPress that might be co-opted. It will parse a variety of pages for microformats, JSON-LD, schema, OGP, etc. to return rich data on a huge variety of websites to give you lots of metadata to create a bookmark, but this may be over and above anything you might want. I use it as a built-in product in the Post Kinds Plugin for WordPress to create a wide variety of post types for reply contexts.

Replied to Background by Kate Bowles (Music for Deckchairs)
Make sure the background is clean and generic, and make sure to remove any family photographs, or anything that might be a distraction. I try not to write much about the place where I work, but thi…
Kate’s excellent piece reminds of this apt New Yorker cartoon from a week or so back, although it features a well-dressed man in a tie.

New Yorker cartoon featuring a man neatly dressed in a cute corner on a computer conference call while chaos and mess reigns everywhere else in the room that the camera doesn't see.
Zoom in on reality.

We all know there’s mess everywhere for everyone, otherwise the “joke” wouldn’t land. The sad reality is that the “joke” is our daily harried existence. We definitely don’t need the added pressure of having to performatively pretend otherwise on top of it all.

Perhaps to help out with the nonsense we ought to all post the dual views of the “fantasy” and the “reality”?

Here’s mine which features an impromptu Ikea table crammed into the living room and just feet from the bathroom, the tiny laundry closet, and the kitchen because the “home office” is overly occupied. Notice the hats/shirts/sweaters for days on which self-care has been neglected and I need to throw on something vaguely presentable to appear on camera for a minute or two. (Note: munchkin removed for privacy, but you can see her work six inches from mine.)

A tidy and cutely arranged bookshelf and lamp in a bright corner. A messy impromptu desk thrown into a living room with piles of paper on the floor, clothes hanging on the couch, a kids doodles on a whiteboard, papers and books strewn everywhere, a laundry basket sitting out. mess on the counters in the background

Replied to a post by Bix Bix (bix.blog)
Has anyone gotten webmention set up on a WordPress blog solely for internal references? So that when you link to previous of your own posts, those posts will then also link back, creating a deeper contextual web on your blog?
Bix, this functionality is definitely built into the Webmention for WordPress plugin as a default. You may need to go to Webmention settings (/wp-admin/admin.php?page=webmention) and make sure your self-ping settings will allow it. 

If you wanted, you could also modify the Webmention type and/or the excerpt that shows in the comment section, though you’d need to do it manually.

I’m not aware of anyone using it “only” for this purpose. I think David Shanske also has built some whitelisting settings for Webmention moderation so that you can automatically approve ones from certain domains. I would suspect you could use some of those portions to reject any incoming webmentions from external URLs, but it may require a few lines of code to do it.</p

Replied to a thread (Twitter)
Niklas Luhmann’s idea of Zettelkasten impinges on some of this, but for a deep dive on how indigenous cultures all over the world did this in a pre-industrial setting look at Dr. Lynne Kelly‘s work. Specifically: Knowledge and Power in Prehistoric Societies: Orality, Memory, and the Transmission of Culture (Cambridge University Press, 2015) and When knowledge was power (2012, Latrobe University, PhD thesis). She’s got a fantastic bibliography on her website as well.

Her TED talk shows quickly how she did something similar, but with birds and bird identification. Her work has examples of how many other cultures did this as well.

Replied to a thread by Andy MatuschakAndy Matuschak (Twitter)
This thread makes me wonder when the Hypothes.is team will be allowed to build a layer onto e-reader platforms? Another great idea might be for e-readers and note taking tools to have built-in micropub clients so I can use them to publish to my website or other platforms.
Filed an Issue Post Via Email (reading.am)
Post Via Email Send a link in the body of an email to this address and we'll post it to your account. It's handy for posting from your phone or favorite app, so save it in your address book for easy access. But remember, keep it super secret because anyone who has it can post!
@reading It looks like posting via email is having issues? Error shows: “the domain mailman.reading.am couldn’t be found.”
Replied to Stones only by Kate Bowles (Music for Deckchairs)
The purpose of Stonehenge is lost to us. There will always be debate about its meaning. Stonehenge Visitor Centre, Wiltshire I grew up in England, although I wasn’t born here. Here. I’m…
I ran across this 5 year old article courtesy of a few recent tweets:

What surprises me is that it’s about education and pedagogy that starts off with a vignette in which Kate Bowles talks about the unknown purpose of Stonehenge.

But I’ve been doing some serious reading on the humanities relating to memory, history, and indigenous cultures over the last few years. It dawns on me:

I know what those stones are for!

A serious answer provided by Australian science and memory researcher Dr. Lynne Kelly indicates that Stonehenge and similar monolithic sites built by indigenous cultures across the world are–in fact–pedagogic tools!!

We’ve largely lost a lot of the roots of our ancient mnemonic devices through gradual mis- and dis-use as well as significant pedagogic changes by Petrus Ramus, an influential French dialectician, humanist, logician, and educational reformer. Scholar Frances Yates indicated in The Art of Memory that his influential changes in the mid-1500’s disassociated memory methods including the method of loci, which dated back to ancient Greece, from the practice of rhetoric as a field of study. As a result we’ve lost a fantastic tradition that made teaching and the problem of memory far worse.

Fortunately Lynne Kelly gives a fairly comprehensive overview of indigenous cultures across human history and their use of these methods along with evidence in her book Memory Code which is based on her Ph.D. thesis. Even better, she didn’t stop there and she wrote a follow up book that explores the use of these methods and places them into a modern pedagogy setting and provides some prescriptive uses.

I might suggest that instead of looking forward to technology as the basis of solutions in education, that instead we look back—not just to our past or even our pre-industrial past, but back to our pre-agrarian past.

Let’s look back to the tremendous wealth of indigenous tribes the world over that modern society has eschewed as “superstitious” and “simple”. In reality, they had incredibly sophisticated oral stories and systems that they stored in even more sophisticated memory techniques. Let’s relearn and reuse those techniques to make ourselves better teachers and improve our student’s ability to learn and retain the material with which they’re working.

Once we’ve learned to better tap our own memories, we’ll realize how horribly wrong we’ve been for not just decades but centuries.

This has been hard earned knowledge for me, but now that I’ve got it, I feel compelled to share it. I’m happy to chat with people about these ideas to accelerate their growth, but I’d recommend getting them from the source and reading Dr. Kelly’s work directly. (Particularly her work with indigenous peoples of Australia, who helped to unlock a large piece of the puzzle for her.) Then let’s work together to rebuild the ancient edifices that our ancestors tried so desperately to hand down, but we’ve managed to completely forget.

The historical and archaeological record:
The Memory Code: The Secrets of Stonehenge, Easter Island and Other Ancient Monuments by Dr. Lynne Kelly

A variety of methods and teaching examples:
Memory Craft: Improve Your Memory with the Most Powerful Methods in History by Dr. Lynne Kelly

Annotated on April 26, 2020 at 08:34PM

Replied to a tweet (Twitter)
David Shanske and I were just thinking about proposing an IndieWebCamp session on a topic very close to this just the other day.
Replied to a tweet by Greg McVerryGreg McVerry (Twitter)
Without checking, I have to think that I carefully couched my wording there. For that audience, I did use the more famous example of Stonehenge, for which there is some pretty solid evidence for my claim. There are other examples in the archaeological record that certainly are older and in other cultural contexts. I can easily think of standing stones that are as old as 12,000 years old for which the same case could be made in borderline agricultural societies. The tough part is that would have required the definition of standing stones and a lot of other pieces which I didn’t feel I had the time to create the context for in that setting.

I imagine that there are potentially examples of this sort of behavior going back as far as 30-40,000 years or more, but there is is no direct (known) archaeological evidence left to make such cases. There are oral histories of indigenous peoples in Australia that indicate memories of things that do exist in the geological record to provide some evidence of this.

I’ll also point out that astronomical use is NOT equal to memory use. To make that claim you’d need a lot of additional evidence. In fact, I might suggest something stronger, particularly about Stonehenge. Stonehenge’s primary use was not an astronomical one. Its primary use was as a mnemonic device. The astronomical one was important for the ritual practice (we would call it spaced repetition in modern psychology and pedagogic contexts), but wholly tangential.

If you’re interested in the underlying evidence, Dr. Lynne Kelly has an excellent Ph.D. thesis on the topic, but you might find her book The Memory Code, which expands on the thesis, more accessible. She’s also got a great bibliography of these topics on her website.