Liked a post by Henrique DiasHenrique Dias (Henrique Dias (@hacdias))

Just published two minimal packages to help building micropub applications!

The first one is called micropub-parser and it's basically a port from @aaronpk's pk3-micropub package to JavaScript.

The second one is a small IndieAuth middleware that can be easily plugged into an Express.js app!

Replied to Flow in WordPress for writers by Dave WinerDave Winer (Scripting News)
Flow is the writer's problem for blogging. I have been working on this since I started in 1994. I solved the problem for myself in 1997, and ever since I've been working on solving it for everyone else.
Dave has some solid points about the UI and process of writing here. Speed is key! WordPress is pretty deplorable in this way. Some of the more advanced user may simply write the word “new” in their browser and tab down once to the correct URL to begin creating. Others may have some browser bookmarklets set up to jump right to creation. Still, for the unwashed masses–and I include myself in this, things should be far easier and more direct. I’ve recently been experimenting with the Narwhal plugin that puts a writing interface right up top on my website (and only appears when I’m logged in) and provides a pretty solid experience the way Twitter, Facebook, and other social sites do.

I have played around with many of Dave’s tools over the years and appreciated his UI and particularly some of his outliner tools. Given that he’s built and tested some very strong tools and interfaces, I’d be really curious to see him implement a Micropub client back end on some of them so that they not only allow one to post to his sites, but so that one could use them to create, edit, and publish to almost any website out there. Some of his tools are already set up to post content to Twitter, why not set them up to post to WordPress and many others too?

Given that CMSs and static site services like WordPress, Drupal, Craft, WithKnown, Jekyll, Kirby, Hugo, and Blot all support Micropub either natively or with simple plugins, Dave could easily take his various publishing interfaces and make them broadly available to almost any website on the planet. How many times have I desperately wished I could use Radio3, Little Outliner, Little Card Editor, pngWriter and others to be able to post to other websites instead of just Twitter?!

He might even implement them as Micropub clients just so that he could use his own interfaces to publish directly to his WordPress sites instead of worrying about their interface. I suspect that in day or two’s worth of work he could not only have half a dozen or more micropub clients, but he might also figure out how to dovetail them all together to make something more interesting and useful than Gutenberg, which has taken hundreds of developers and a magnitude larger amount of time to create.

Perhaps some additional competition against Gutenberg would help speed WordPress (and everyone else for that matter) toward making a simpler and more direct publishing interface? Micropub seems like a designer’s dream for making better posting interfaces, especially since it’s got such broad endpoint support.

Replied to IFTTT Recipes for PESOS by Charlotte AllenCharlotte Allen (charlotteallen.info)
So, I spend a long time trying to set up PESOS for individual silos on IFTTT, specifically Facebook and Instagram, because they are terrible. I’ve got it currently set up to publish my initial post, but no back feed support yet. Also, this is going to wordpress, but it shouldn’t matter (in theor...
This is some brilliant work. Thanks for puzzling it all out.

I do have a few questions/clarifications though so as not to be confused since there are a few pieces you’ve left out.

For the IndieAuth token, which is created at /wp-admin/users.php?page=indieauth_user_token one only needs to give it a title and the “create” scope?

For the “then” portion that uses IFTTT.com’s Webhooks service are the following correct?

  • The URL is (when used with WordPress) of the form: https://example.com/wp-json/micropub/1.0/endpoint
  • The Method is: POST
  • The Content Type I’m guessing based on the Body field you’ve included is: application/x-www-form-urlencoded

For your Pocket example, it looks like you’re using the Post Kinds Plugin, so I’m guessing that you could have gotten away without the {{Excerpt}} and {{Title}} portions and just have sent the URL which Post Kinds picks up and parses to give you your context portion with a title and an excerpt anyway?

It looks like part of the trouble of this PESOS set up is that you’re too reliant in the long run of relying on Pocket (or other services) being around in the long term. If Pocket disappears, then really, so does most of your bookmark, which ideally should point to the canonical URL of the content you’re bookmarking. Of course perhaps IFTTT may not give you that URL in many cases. It looks to me like the URL you’re bookmarking would make a more appropriate syndication link URL.

For most of my bookmarks, likes, reads, etc. I use a plugin that scrapes my post and saves a copy of the contents of all the URLs on my page to the Internet Archive so that even in the event of a site death, a copy of the content is saved for me for a later date.

In any case, I do like this method if one can get it working. For some PESOS sources, I’ve used IFTTT before, though typically with RSS feeds if the silo provides them. Even then I’m often saving them directly to WordPress as drafts for later modification if the data that IFTTT is providing is less than ideal. Sometimes worse, using RSS doesn’t allow one to use Post Kinds URL field and parsing functionality the way your webhook method does.

Read PESOS for Pocket by Charlotte AllenCharlotte Allen (charlotteallen.info)
A few weeks ago, I made a post about how I got PESOS working for Facebook and Instagram using IFTTT. Now, I’ve gone ahead and done something similar with Pocket and IFTTT!
The code is similar to my linked post. As always, you’ll want to customize everything for your own needs, as well as add your own auth token.
A great way to leverage Micropub!
Read IFTTT Recipes for PESOS by Charlotte AllenCharlotte Allen (charlotteallen.info)
So, I spend a long time trying to set up PESOS for individual silos on IFTTT, specifically Facebook and Instagram, because they are terrible. I’ve got it currently set up to publish my initial post, but no back feed support yet. Also, this is going to wordpress, but it shouldn’t matter (in theor...
Bookmarked Unicyclic (unicyclic.com)

Unicyclic.com is a social feed reader, which means you can subscribe to feeds and then reply to, like, or share what you're reading from the reader.

If you have your own website, you can use it to log in right here using IndieAuth. If you also support Micropub, all your interactions here will be posted back to your own site.

If you don't have your own website you can also create an account on this site and then log in here. Local accounts will also receive notifications sent from other sites via webmention, including from Twitter via brid.gy.



Unicyclic.com was created by Malcolm Blaney and is powered by a content management system called dobrado. You can also download the software from there and run it on your own server. If you need any help getting started, please use this contact form. If you're interested in following updates to the software please add my blog to your reader. Thanks for visiting!

Comparing Inoreader’s user interface for their internal tweets versus RSS tweets

For a long time I’ve been consuming the majority of my Twitter feed within various feed readers. My most frequent feed reader is Inoreader, though I’ve been experimenting with and using some IndieWeb influenced microsub-based feed readers for quite a while.

Earlier today I thought I’d try out Inoreader’s Twitter integration and subscribe to some of my twitter lists using that instead of importing feeds directly from outside services. (I’ve been a big fan of using Ryan Barrett’s Twitter-Atom and related tools.) One of the things that had always bothered me about third party RSS feeds into most feed readers is that the author of the post is in such tiny text and there is no avatar indicator of who wrote the post. As a result I’m stuck spending a lot more cognitive load trying to discern the author of a tweet before or after reading it. It just boils down to less than optimal user interface.

Fortunately Inoreader seems to have a slightly better method for doing this (since they control the user interface and are presumably using the Twitter API). Within their reader, Tweets look a tad bit more standard with respect to the usual Twitter client and include an avatar and the name of the author in larger font. Sadly, though they have control over the UI, they’re still including a bolded version of the the text of the tweet as a title and thereby needlessly duplicating some of the content. It would be far better for notes, status updates and other content that typically doesn’t have (or need) a title if they would simply just leave it out. They could then use the extra space to have a larger font for reading the short status update. In fact, most of the IndieWeb-based feeds I read in Inoreader have these unnecessary titles included which typically not only look bad from a UI perspective, but they again needlessly duplicate content I don’t need.

Below I’m including screenshots of the two different methods of reading Tweets via Inoreader. I’m also including a screenshot of how Tweets look like in Monocle when fed in via the same Atom feed that was used in the Inoreader case. In Monocle’s version, it’s got a nice larger and easier to discern author name, but it too is missing the author photo (or avatar), in part because the feed doesn’t include it as a default. I suspect that if the feed included it, Monocle would display it properly though the Inoreader version probably wouldn’t. The Monocle version also includes a copy of the photo in the Tweet twice because the feed adds it in a second time as an enclosure.

UI example of a tweet within Inoreader using their native Twitter support.
UI example of a tweet within Inoreader imported using a third party RSS-based client.
UI example of a tweet within Monocle imported using a third party RSS-based client.

For completeness, I’m including the text of the Atom feed for this particular tweet so that we can see what is or isn’t being included in the Inoreader and Monocle versions.

<entry>
<author>
 <activity:object-type>http://activitystrea.ms/schema/1.0/person</activity:object-type>
 <uri>https://twitter.com/BigHistoryPro</uri>
 <name>Big History Project</name>
</author>
    <activity:object-type>http://activitystrea.ms/schema/1.0/note</activity:object-type>
  <id>https://twitter.com/BigHistoryPro/status/1195385992728985600</id>
  <title>In an ideal world, you’d have 1-on-1 time with every student to discuss every...</title>
  <content type="xhtml">
  <div xmlns="http://www.w3.org/1999/xhtml">
In an ideal world, you’d have 1-on-1 time with every student to discuss every aspect of every writing assignment. With BHP score, you come close. <br />
<a href="https://bh-p.co/2N1xopV">bh-p.co/2N1xopV</a>
<p>
<a class="link" href="https://twitter.com/BigHistoryPro/status/1195385992728985600">
<img class="u-photo" src="https://pbs.twimg.com/media/EJbdObjXkAQ6QNw.jpg" alt="" />
</a>
</p>
  </div>
  </content>
  <link rel="alternate" type="text/html" href="https://twitter.com/BigHistoryPro/status/1195385992728985600" />
  <link rel="ostatus:conversation" href="https://twitter.com/BigHistoryPro/status/1195385992728985600" />
      <link rel="ostatus:attention" href="https://bh-p.co/2N1xopV" />
      <link rel="mentioned" href="https://bh-p.co/2N1xopV" />   <activity:verb>http://activitystrea.ms/schema/1.0/post</activity:verb>
  <published>2019-11-15T17:00:04+00:00</published>
  <updated>2019-11-15T17:00:04+00:00</updated>
  <link rel="self" type="application/atom+xml" href="https://twitter.com/BigHistoryPro/status/1195385992728985600" />
      <link rel="enclosure" href="https://pbs.twimg.com/media/EJbdObjXkAQ6QNw.jpg" type="image/jpeg" />
</entry>

In sum, I generally like the UI of the Inoreader version, though they could still do with removing the redundant and unnecessary title. The Monocle version is likely the best, but I’d need to find a feed method that also includes the avatar to have a better representation of the original Tweet. Even with these differences, I think I tend to prefer Monocle at the end of the day because it also automatically includes Micropub functionality which means that I can post my reactions (likes, reposts, or comments) directly to my website and syndicate copies directly to Twitter. (This is also in consideration of my previously having set up some separate functionality for forcing Inoreader to allow me to post some of this same sort of data to my website by other means.)

Has anyone found better/prettier or more useful ways of consuming Twitter in third party means while allowing one to own their data?

Replied to Ditching Event Platforms for the IndieWeb by Jamie TannaJamie Tanna (jvt.me)

Recently there's been a big shift to move away from Meetup.com as a platform.

Something that may come as a shock to most attendees of events is that organisers have to pay for each of you to be part of the Meetup group, even if you are just there to keep up to date on events, but don't attend anything.

Some organisers just don't fancy spending the money on it, and some are outraged by the news about new monetisation strategies that Meetup may be looking at moving to.

These issues have led many groups to investigate the alternatives that we can pursue, but unfortunately many have decided to build their own instead of pooling resources with the existing Free or Open Source platforms, of which there are many.

Jamie, your post reminds me about upcoming.org which was a social site that got bought and sold several times becoming a corporate controlled silo, but was relatively recently bought back by the founder and relaunched with some of the old and missing data. (It has been open sourced on GitHub by the way.) They’ve been slowly been iterating on it to add additional functionality and have considered being IndieWeb friendly.

One of the pieces that makes MeetUp.com so valuable is its centralized nature as a one-stop-shop for every locale. To better disrupt the space and still provide that value, perhaps an open source version that could be very IndieWeb friendly might attempt to act as an aggregation hub and provide some of the services while still allowing people to post their events and RSVPs to their own sites, but still provide the clearing house to bigger communities. This could be a service like meetup.com or upcoming.org but it would work more like IndieWeb News or Kicks Condor’s IndieWeb.xyz.

The resulting workflow would look like roughly like this:

An organizer posts an event with details to their website and then uses webmention to syndicate a copy to the hub event site. The hub then parses the basic data and allows it to be displayed on pages that were sortable by date and city (at a minimum). People could then have their one-stop centralized location for events, but then RSVP directly to the original on their own sites as you indicated. 

To take things further, additional useful services could be added by the hub in the form of a micropub client that organizers could use to input all their event data and then publish it to their micropub capable website. (Quill already has the ability to post events like this as an example in the wild.) Similarly, for individual attendees, the hub could have a micropub client to do RSVPs to both the attendees’ websites (and/or the events’ site) as well. 

Naturally this presupposes that a benevolent actor(s) could serve as the hub and handle the maintenance and overhead of that piece.

Podcast discovery, Huffduffer, and listen feeds

As I was reading through some of the subscriptions in Aaron Davis’ well-curated blogroll which I’m subscribed to via OPML Subscription in Inoreader, I was reminded that I should be following my own Huffduffer Collective. This is a feed of audio that comes from all of the accounts I’m following on Jeremy Keith’s awesome Huffduffer audio service. For those looking for a great method for discovering new and interesting audio content and podcasts, this is by far the best discovery service I know.

While finding content which others have bookmarked is an excellent discovery mechanism, I think that finding it by means of things they’ve actually listened to would be even more powerful. By saying you’ve listened to something, it means you’ve put some skin in the game and spent some of your own valuable time actually consuming the content and then separately posting about it. I wonder how Huffduffer might incorporate this sort of “listen” functionality in addition to their bookmarking functionality? I can’t help but thinking that more audio applications should have Micropub functionality for posting listens.

Here I’ll remind people that my website provides just such a feed of my own listens, so if you want to hear exactly what I’ve been listening to, you can have your own feed of it, which I call my faux-cast and you should be able to subscribe to it in most podcatchers. I do roughly the same thing for all the things I read online and off as well. I may bookmark something as interesting, but you know it was even more valuable to me when I’ve spent the time to actually listen to or read it from start to finish.

Do you have a listen feed I could subscribe to?  Perhaps a Huffduffer account I should follow? How do you discover audio content online? How could this be used in the education technology space?

Micropub and WordPress: Custom Posting Applications My talk from WordCamp Santa Clarita Valley 2019

WordPress.tv has posted my talk from WordCamp Santa Clarita Valley 2019. If you missed it live, you can review it again now. The slides are available for download as well.

Download

MP4: LowMedHigh
OGG: Low

Micropub and WordPress: Custom Posting Applications

April 6, 2019, 3:30 pm Horseshoe Ranch Room, University Center, College of the Canyons — The W3C recommended Micropub specification (2017) allows developers to create custom posting applications for a wide variety of data targeting any content management system that supports the spec.

Chris Aldrich provides an overview of the available plugin and endpoint for WordPress and a variety of client applications like Quill, Teacup, OwnYourGram, OwnYour Swarm, Omnibear, that allow one to post status updates, bookmarks, likes, check-ins/location data, photos, and more directly to WordPress sites.
We’ll also talk about how developers can create custom posting interfaces to drastically simplify content creation and posting for clients in ways that can be even simpler than working with Gutenberg.
Replied to a tweet by Jessica ChretienJessica Chretien (Twitter)
It’s threads/comments like these that make me think that using Micropub clients like Quill that allow quick and easy posting on one’s own website are so powerful. Sadly, even in a domains-centric world in which people do have their own “thought spaces“, the ease-of-use of tools like Twitter are still winning out. I suspect it’s the result of people not knowing about alternate means of quickly writing out these ideas and syndicating them to services like Twitter for additional distribution while still owning them on spaces they own and control.

I know that Greg McVerry, Aaron Davis, and I (among others) often use our websites/commonplace books for quick posts (and sometimes syndicate them to Twitter for others’ sake). We then later come back to them (and the resultant comments) and turn them into more fully fleshed out thoughts and create longer essays, articles, or blogposts like Jessica Chretien eventually did on her own website.

I wonder if it wasn’t for the nearness of time and the interaction she got from Twitter if Jessica would have otherwise eventually searched her Twitter feed and then later compiled the post she ultimately did? It’s examples like this and the prompts I have from my own website and notifications via Webmention from Twitter through Brid.gy that make me thing even more strongly that scholars really need to own even their “less formal” ideas. It’s oftentimes the small little ideas that later become linked into larger ideas that end up making bigger impacts. Sometimes the problem becomes having easy access to these little ideas.

All this is even more interesting within the frame of Jessica’s discussion of students being actively involved in their own learning. If one can collect/aggregate all their references, reading, bookmarks, comments, replies, less formal ideas, etc. on their own site where they’re easily accessed and searched, then the synthesis of them into something larger makes the learning more directly apparent.

👓 Final Indigenous Log: The Future of the App | Eddie Hinkle

Read Final Indigenous Log: The Future of the App by Eddie HinkleEddie Hinkle (eddiehinkle.com)
Over a year ago, I was working on Indigenous, the first app I've released in the App Store. It was a great experience but it originally started as a native share sheet extension. From there, more Micropub features were added and then as Microsub was announced, that was built in as well. Ultimately i...
The clickbait headline had me scared for a minute, then I realize there might be three times the goodness…

WPCampus 2019 Draft Proposal: Dramatically extending a Domain of One’s Own with IndieWeb technology

Below is a draft proposal which I’m submitting for a possible upcoming talk at WPCampus from July 25-27, 2019 in Portland, OR. If you don’t have the patience and can’t wait for the details, feel free to reach out and touch base. I’m happy to walk people through it all before then. If you’re looking for other upcoming events or need help, check out any of the upcoming Homebrew Website Clubs, IndieWebCamps, the IndieWeb Summit 2019, or even Domains2019.

Session Title

Dramatically extending a Domain of One’s Own with IndieWeb technology: How to improve your online research notebooks, commonplace books, and digital pedagogy

Session description

(This description will be edited and used on the website. Please include 1-2 paragraphs and a list of key takeaways for the audience.)

Having a Domain of One’s Own and using it as a “thought space” to own your online identity and work is just the tip of the iceberg. Can you imagine how useful it would be if you could use your Twitter account to reply to someone on Facebook (without needing a Facebook account) or vice versa? Open web technology from the IndieWeb movement that utilizes simple plugins, modules, or even built-in functionality now exists so that people can now use WordPress, Drupal, WithKnown, Grav and many other content management systems on any domain name to have rich site-to-site communications in a simple and intuitive way. Third party (and often unethical) corporate platforms are no longer needed to have rich interactions between scholars on the web.

It is now easily possible to have a teacher write a post on their own website and their students to easily reply/react to that post on their own websites (along with a useful reply context) and send that reply to the teacher’s website for possible display. Each participant can now own a copy of both sides of the conversation.

  • Teachers and students will learn how to (individually or together) collect, analyze, write, collaborate, and interact easily online while doing so in a space they own and control without giving away their data to third party platforms.
  • Researchers can now easily bookmark, highlight, or annotate portions of the web and keep this data (public/private) on their own website (aka digital commonplace book or notebook) for future reference or use.
  • We’ll show how courseware can be decentralized so that the instructor and the students each own their own pieces of the learning processes and can keep them for as long as they wish.
  • We will demonstrate how one can use their WordPress-based website with a few simple plugins to own all of the traditional social media types (bookmarks, items read, highlights, annotations, comments/replies, photos, status updates, audio, checkins, etc.) on their own site while still allowing interacting (if desired) with other websites as well as in social spaces like Twitter, Instagram, Swarm, etc.
  • We will demonstrate a new generation of free feed readers that allow composing in-line responses and reactions that post them directly to one’s own website as well as send notification to the site being read and interacted with.

You can now have the joy of a Domain of Your Own and still easily interact just as if your site were a (better-than) first class social media platform.

More Information About Your Session

(Please describe your session in greater detail for the organizers. You may be more casual in this description as it will not be posted on the website.)

In some sense, this session will be a crash course on using IndieWeb technologies and building-blocks with WordPress in the Education space. I’ll aim to remove a lot of technical jargon and keep coding examples to a bare minimum (if using any at all) so that those with the technical ceiling of downloading and installing a plugin can immediately benefit from the talk. I will also provide enough pointers and describe the broad outlines that developers will have a broad overview of the IndieWeb space to find and extend these plugins and functionality if they wish.

I’ll be covering the basics of new W3C recommendations like Webmention, Micropub, and WebSub along with forthcoming specs like Microsub in combination with IndieAuth (a version of OAuth2 for login). I’ll show how they can be applied to personal websites in research, teaching, collaboration, and other educational domains like creating Open Educational Resources. Many of these can be easily implemented in WordPress with just a handful of simple plugins that allow the web to become the social media platform we all wish it would be.

I’ll use examples from my own personal website and several others (which use Drupal, WithKnown, Grav, etc.) to show how these plugins can be used in educational settings and will walk through a case study of a course built using DoOO and IndieWeb philosophies and technologies (EDU 522: Digital Teaching and Learning at Southern Connecticut State University) on which I collaborated with Dr. Gregory McVerry.