Reply to Dan Cohen tweet

Replied to a tweet by Dan CohenDan Cohen (Twitter)
Dan, There are a lot of moving pieces in your question and a variety of ways to implement them depending on your needs and particular website set up. Fortunately there are lots of educators playing around in these spaces already who are experimenting with various means and methods as well as some of their short and long term implications.

I suspect some of the most interesting parts may be more closed off to you  (or possibly more difficult) because in your particular case it looks like you’re being hosted on WordPress.com rather than self-hosting your own site directly. For the richest experience you’d ideally like to be able to install some of the IndieWeb for WordPress plugins like Webmentions, Semantic Linkbacks, Post Kinds, and potentially others. This can be done on WordPress.com, but typically involves a higher level of paid account for the most flexibility.

For crossposting your content to micro.blog, that portion is fairly simple as you can decide on any variety of post formats (standard, aside, status, images, etc.), post kinds, categories, or even tags and translate those pieces into RSS feeds your WordPress installation is already creating (most often just by adding /feed/ to the end of common URLs for these items). Then you can plug those particular feeds into your micro.blog account and you’re good to go for feeding content out easily without any additional work. Personally I’m using the Post Kinds plugin to create a finer-grained set of content so that I can better pick and choose what gets syndicated out to other sites.

From within micro.blog, on your accounts tab you can enter any number of incoming feeds to your account. Here’s a list of some of the feeds (from two of my websites one using WordPress and the other using Known) that are going to my account there:

 

 

As a small example, if you were using the status post format on your site, you should be able to add https://dancohen.org/type/status/feed/ to your feed list on micro.blog and then only those status updates would feed across to the micro.blog community.

I also bookmarked a useful meta-post a few weeks back that has a nice section on using micro.blog with WordPress. And there are also many nice resources on the IndieWeb wiki for micro.blog and how people are integrating it into their workflows.

For crossposting to Twitter there are a multitude of options depending on your need as well as your expertise and patience to set things up and the control you’d like to have over how your Tweets display.

Since micro.blog supports the Webmention protocol, if your site also has Webmentions set up, you can get responses to your crossposts to micro.blog to show up back on your site as native (moderate-able) comments. You can do much the same thing with Twitter and use your website as a Twitter “client” to post to Twitter as well as have the replies and responses from Twitter come back to your posts using webmention in conjunction with the brid.gy website.

I’ve been playing around in these areas for quite a while and am happy to help point you to particular resources depending on your level of ability/need. If you (or anyone else in the thread as well) would like, we can also arrange a conference call/Google hangout (I’m based in Los Angeles) and walk through the steps one at a time to get you set up if you like (gratis, naturally). Besides, it’s probably the least I could do to pay you back for a small fraction of your work on things like PressForward, Zotero, and DPLA that I’ve gotten so much value out of.

Because of the power of these methods and their applicability to education, there are an ever-growing number of us working on the issue/question of scaling this up to spread across larger classrooms and even institutions. I’m sure you saw Greg McVerry’s reply about some upcoming potential events (as well as how he’s receiving comments back from Twitter via webmention, if you scroll down that page). I hope you might join us all. The next big event is the IndieWeb Summit in Portland at the end of June. If you’re not able to make it in person, there should be some useful ways to attend big portions remotely via video as well as live chat, which is actually active 24/7/365.

As is sometimes said: I have made this longer than usual because I have not had time to make it shorter. At least I wasn’t hampered by Twitter’s character constraints by posting it on my own site first.

 

 

 

 

 

Reply to Greg McVerry about Hypothesis

Replied to a post by Greg McVerry (jgregorymcverry.com)
@chrisaldrich Wouldn’t it be neat if @hypothesis was also a micropub client or used the API so I could PESOS each annotation to my blog as a quote post-kind? So cool @xolotl is coming coming to #indieweb summit. Know the markup doesn’t match but that ain’t a hard fix. Has to be somefun ways regardless of tech to make wordpress and open annotation talk.
There is the (abandoned?) Hypothesis Aggregator plugin  which Nate has worked on a bit that allows a relatively easy PESOS workflow from Hypothes.is to WordPress, but you’re right that it would be nice to have a micropub version that would work for all CMSs.

Personally, I’d also love them to support Webmention which I think would be generally useful as well. There are obvious use cases for it in addition to an anti-abuse one which I’ve written about before. Perhaps if it were supported and had better anti-troll or NIPSA (Not In Public Site Areas) features folks like Audrey Watters might not block it.

Reads, Listens, Watches, and Editable Webmention Types and Avatars in the IndieWeb WordPress Suite

I’ve been meaning to write regular updates to highlight some of the useful changes in the functionality of the IndieWeb suite of WordPress plugins, but never gotten around to it. There’s been a few really interesting ones lately, so I thought I’d start. Observant watchers who read through either the code or even the scant change logs before they update their code may catch some of these features, but sometimes interesting tidbits can slip by the most vigilant. Here are some interesting recent ones:

Display of Reads, Listens, and Watches in comments sections

David Shanske’s excellent Post Kinds Plugin allows one to post what they’re reading, listening to, or watching in simple IndieWeb fashion. (Examples of these on my site: read posts, listen posts, watch posts.) These posts types automatically include the appropriate microformats classes so the user doesn’t need to bother doing them manually. For a long time when replying to another’s site, bookmarking it, or even mentioning it when also using the Webmentions plugin would send the site a Webmention that would generally cause it to show up as a native comment, bookmark or mention. With an update late last year, from within the Discussion settings in WordPress, one could set toggles so that many of these webmentions could be displayed as facepiles. Other broadly unsupported post types would typically default to a simple mention.

Recently David Shanske and I started a podcast, and he thought it would be useful if his site could accept listen posts and show them visually within his comments section just like these replies, bookmarks, and mentions. Thus over the past month he’s added code to the Semantic Linkbacks Plugin to add the functionality for these types of posts to properly render showing facepiles for listens, reads, and watches.

This is what webmentions of listen posts  look like on his site in his comments section:

User Interface example of how listen posts on David Shanske’s podcast appear on his site

What’s happening

Listen (or scrobble) posts can send webmentions (or notifications) to the original content potentially with the experimental listen-of microformat. In the case of scrobbles of podcasts, these webmentions could be displayed as “Listens” which would provide the canonical copy of the podcast some indicator of its popularity and actual audience. It is tremendously difficult to obtain data on the actual number of listens within most of the podcast community and typically a fraction of the number of downloads must be used as an indicator of the actual reach. Being able to display listens could potentially be a boon to the podcasting market, particularly with respect to advertising as this type of open social web functionality spreads.

Similarly read posts with the read-of microformat and watches with watch-of will be accepted and show up within the comments section. Like the previous types, they can be set to display as facepiles within the user interface.

From the Discussion options settings page (typically at: /wp-admin/options-discussion.php#semantic_linkbacks) one can choose the mention types one wants to have appear as facepiles within their comments section.

Knowing that this read functionality would be available, this week I helped ColoradoBoulevard.net set up their site to be able to accept and display reads of their articles. Here’s an example from their site:

The display of a read post on ColoradoBoulevard.net

I haven’t yet seen one for watches in the wild yet, but maybe you’ll be either the first  to send or receive one?

The microformats on these posts is generally considered to be experimental, but with the ~500+ users of this suite of tools as well as others who are already using them on other sites, they’ve now taken a dramatic step into the open internet and more widespread use and potential official adoption.

Editable Webmention Types and Avatars

Webmention Types

Just yesterday, I spent a few minutes in the IndieWeb chat helping someone to laboriously delve into their mySQL databaset and find a particular snippet of data so they could manually change a received webmention from being a simple mention to being a reply so that it would display as a native comment on their website. I’ve often done this to take what sometimes seem like simple mentions and change them to replies to reveal the richer content they often contain for the broader conversation. Sadly the process is boring, laborious, and fraught with potential ways to mess things up.

As of this weekend, this process is no longer necessary. One can now go to the admin interface for their comments and webmentions (found at the path /wp-admin/edit-comments.php), click on edit for the particular comment they’re changing and then scroll down to reveal a droplist interface to be able to manually change the webmention type.

Samantic Linkbacks Data metabox within the comment editing interface on WordPress. One can use the dropbox to change the webmention type as well as manually update the commenter’s avatar.

As another example of a use for this functionality, perhaps you’ve received a listen mention on one of your podcast episodes that has a lot of useful notes or commentary germane to your episode? Instead of hiding it as a simple listen, why not change the type to reply to allow a richer conversation around your content? After all, with a reasonable reply it will be implicit that the commenter actually listened to the episode, right?

Avatars

Because there is currently no functionality in WordPress for saving or caching the avatars of commenters via webmention, when users change their profile images on siloed services like Facebook, Twitter, et al. the link to their old avatars quits working and they were displaying blank spaces. This is an unfortunate form of linkrot, but one that can become more visually apparent over time.

Likes and Reposts concatenated on my site now after converting them into facepiles. They still give the social “proof” and indicate the interaction, but don’t interfere in the conversation now–especially when there are hundreds of them.

As one can see in the image for the commenting edit box above, the field for the Avatar is now editable. This means one can update out-of-date or blank avatars. One now also has the ability to moderate/edit or easily remove/switch avatars if users are sending inappropriate photos for one’s site’s audience.​​​​​​​​​

IndieWeb-ifying ColoradoBoulevard.net

I’ve spent some time over a few days this month to help IndieWeb-ify my local Pasadena online newspaper ColoradoBoulevard.net. They can now send and receive webmentions and can backfeed their comments, likes, and other responses from their Facebook and Twitter accounts.

They can stand to improve their support for microformats v2 and do some more work on their h-cards and other related metadata, but the editor seems thrilled with the initial results–particularly having their conversations in other areas of the internet come back to the original article.

I know that individual journalists have brought their personal websites into the IndieWeb fold, but this may be one of the first online newspapers/magazines I’m aware of to begin using some of these principles and tools. With any luck and some testing, they could be one of the first journalistic enterprises to begin receiving “Read” posts of their articles via webmention! Update: read posts are working! See the first example here.

I’d like to get them to a place where they can automatically syndicate to social silos and display their syndication links properly. In the end it would be really nice if their writers could own their own articles on their personal websites, syndicate them to the newspaper itself (as the rel=”canonical” link), and then both parties to be able to receive the appropriate backfeed, but this is a nice new baby step on the way to bigger and better things.

I did run across one interesting identity related issue that may need some addressing within this particular space. Some of their journalists prefer not to display photos (or even names) so that they’re not easily (or as easily) identified in person for the sake of doing online reviews or other sensitive reporting assignments.

📺 Webstock ‘18: Jeremy Keith – Taking Back The Web | Vimeo

Watched Taking Back The Web | Webstock '18 by Jeremy KeithJeremy Keith from Vimeo

In these times of centralised services like Facebook, Twitter, and Medium, having your own website is downright disruptive. If you care about the longevity of your online presence, independent publishing is the way to go. But how can you get all the benefits of those third-party services while still owning your own data? By using the building blocks of the Indie Web, that’s how!

Presentation slide-deck: speakerdeck.com/adactio/taking-back-the-web

​​​​​​​​​

🎧 The IndieWeb – Martijn | jeena.net

Listened to The IndieWeb - Martijn by Jeena ParadiesJeena Paradies from jeena.net
We're two senior IndieWeb participants talking about owning your own content.

I can see why several folks in the IndieWeb community love this discussion. Jeena and Marjtin have a wide-ranging conversation that hits almost all of the high points and most of the discussion is very accessible. There are some places in the second half of the episode where those who aren’t developers may feel like they’re in some higher weeds particularly with some jargon, but much of it is well defined and discussed. In solid journalistic fashion, they start from the most basic (with lots of attention to definitions and detail) and ramp up to the more advanced and detailed. If you’re a blogger, journalist, librarian, educator, other who is relatively web savvy and wants to supplement your knowledge of what is going on in this area, this is a great place to help fill in some gaps before delving into additional help and documentation.

In particular, I love that they do an excellent job of helping to communicate the intentional work, craft, morality, ethics, and love which most of the community approaches the topic.

As I suspect that Jeena doesn’t receive many “listen” posts, I’ll webmention his post here with an experimental microformat class like-of. Perhaps he’ll join some of the podcasting community who supports this and make it a stronger standard.

👓 Webmention Plugin for Craft CMS | GitHub

Read matthiasott/webmention (GitHub)
Webmention Plugin for Craft CMS
Surprisingly interesting reading here. The Craft CMS has some interesting UI and settings that aren’t included in the WordPress plugin for Webmention. I do like some of the thoughts and ideas that were included in it. The tail end also gives a little snapshot of its history and antecedents, which I find nice for future historians.

An Indieweb Podcast: Episode 4 “Webmentions and Privacy”

Episode 4: Webmentions and Privacy

Running time: 1 h 16m 00s | Download (23.8 MB) | Subscribe by RSS

Summary: With the GDPR regulations coming into effect in Europe on May 25th, privacy seems to be on everyone’s mind. This week, we tackle what webmentions are, using them for backfeed, and the privacy implications.

 

Huffduff this Episode


Show Notes

Related Articles and Posts

Related IndieWeb wiki pages

👓 Webmention for ProcessWire Update | gRegorLove

Read Webmention for ProcessWire Update by gRegor MorrillgRegor Morrill (gregorlove.com)
Version 2.0.0 of the Webmention for ProcessWire module is released. Webmention is a web standard that enables conversations across the web, a powerful building block that is used for a growing federated network of comments, likes, reposts, and other rich interactions across the decentralized social ...
 

Reply to Second try at language

Replied to Second try at language · dshanske/wordpress-webmention@c97ff2b (GitHub)
Another alternative:

To respond on your own website, enter the URL of your response which should contain a link to this post’s permalink URL. Your response will then appear (possibly after moderation) on this page. Want to update or remove your response? Update or delete your post and re-enter your post’s URL again.

If there’s the ability to hook into whether or not comments are moderated, one could simplify it slightly with an if/then statement based on the site’s moderation policy to either include, or not, the part about moderation.

Replied to Add ability to edit Linkbacks type and fields manually · Issue #75 · pfefferle/wordpress-semantic-linkbacks (GitHub)
Add these fields to the edit comment form in the admin. Partially this is also to allow viewing of this data in the admin.
Some additional related thoughts/ideas:

For more easily editing webmentions (aka comments) and their types it would be nice if the Comments UI page (usually found at /wp-admin/edit-comments.php) could be modified to add some additional columns for improved UI/UX.

In particular it would be nice to have direct access to see and sort comments by the semantic_linkbacks_type field as well as potentially via dropdown UI to be able to modify the type (mention, reply, like, favorite, read, listen, etc.). In particular, I find I’d often like to take a basic webmention and turn it into a “reply” to show the full content (particularly while facepiling simple mentions) when it substantively adds to the discussion.

Until #166 is resolved it would be nice to also have easier manual access to be able to modify semantic_linkbacks_avatar in bulk when they either don’t exist or fail to resolve.

It would also be nice to be able to (via query parameters in the URL perhaps?) filter out certain webmention types in the Comment page view. As an example, this might allow someone to more easily see only replies without cluttering up the page with likes, bookmarks, etc. to more easily reply to commenters.

As a potential guide, there is a related plugin called Admin Columns which has some related code that allows adding arbitrary admin columns as well as editing and formatting them.

Mock example of additional columns for webmentions and types

A pencast overview (with audio and recorded visual diagrams) of IndieWeb technologies

I’ve seen a bunch of new folks coming into the IndieWeb community recently who are a bit overwhelmed with the somewhat steep learning curve of both new jargon as well as new ideas and philosophies of what it means to have one’s own domain and presence on the internet.

While parts of the IndieWeb’s overall idea are quite simple, where the actual rubber meets the road things can be a bit overwhelming, and more so if you’re a non-technical person. This doesn’t have to be the case. Generally I’d recommend to people to begin attending local Homebrew Website Clubs or, even better, to attend an IndieWebCamp in person to get a one day crash course followed by a day of building and help. Sadly, life can intervene making these not as quick and immediate a reality as one might otherwise like.

So toward the end of making the crash course to explain in relatively broad terms some of the basic terminology as well as some of the bigger individual pieces and what’s happening when using an IndieWeb site with most of the major new functionality built in, I’ve made a short pencast of what is going on. Naturally there’s still a tremendous amount to learn and do, and a million things which could always be better or improved, but if you’re setting up a site using WordPress this overview will hopefully get you a lot further a lot faster. (It may also be useful for those setting up Known or even something for micro.blog, though those will have different plugins and other small quirks that aren’t covered here.)

What is a Pencast?

Pencast?! What is that? It’s a technology that has been around for a while courtesy of Livescribe.com digital pens which not only record an audio file of what is being said, but also record penstroke by penstroke what is being written. Even better the audio and the penstrokes are crosslinked, so you can more easily jump around within a lecture or talk.

To do this you should download the version of the notes in Livescribe’s custom Pencast .pdf format. This seems like a standard .pdf file but it’s a bit larger in size because it has an embedded audio file in it that is playable with the free Adobe Reader X (or above) installed. With this version of the notes, you should be able to toggle the settings in the file (see below) to read and listen to the notes almost as if you were sitting with me in person and I was drawing it out in front of you as I spoke. You can also use your mouse to jump around within the pencast by touching/mousing to particular areas or by jumping forward and back by means of the audio bar. If you need to, also feel free to zoom in on the page to have a closer look.

Pencast version

An IndieWeb Crash Course [14.9MB .pdf with embedded audio]

Viewing and Playing a Pencast PDF

Pencast PDF is a new format of notes and audio that can play in Adobe Reader X or above.

You can open a Pencast PDF as you would other PDF files in Adobe Reader X. The main difference is that a Pencast PDF can contain ink that has associated audio—called “active ink”. Click active ink to play its audio. This is just like playing a Pencast from Livescribe Online or in Livescribe Desktop. When you first view a notebook page, active ink appears in green type. When you click active ink, it turns gray and the audio starts playing. As audio playback continues, the gray ink turns green in synchronization with the audio. Non-active ink (ink without audio) is black and does not change appearance.

Audio Control Bar

Pencast PDFs have an audio control bar for playing, pausing, and stopping audio playback. The control bar also has jump controls, bookmarks (stars), and an audio timeline control.

Active Ink View Button

There is also an active ink view button. Click this button to toggle the “unwritten” color of active ink from gray to invisible. In the default (gray) setting, the gray words turn green as the audio plays. In the invisible setting, green words seem to write themselves on blank paper as the audio plays.

 
If you have comments or feedback, I’m thrilled to receive it. Feel free to comment below, or if you’ve already IndieWebified your site, write your comment there and send it to me via webmention, or add your permalink to the box below. Ideally this version of the pencast is a first draft and I’ll put something more polished together at a later date, but I wanted to get this out there to have a few people test-drive it to get some feedback.

Thanks!​​​​​​​​​

Setting up WordPress for IndieWeb use

I spent some time this morning doing a dry run through setting up a suite of IndieWeb plugins on a fresh WordPress installation. Going off of a scant outline I talked for almost two hours describing IndieWeb functionality as I set it all up. Hopefully it will provide a useful guide to newcomers to the space until I can write up a more solid outline and take a more polished approach. Apologies in advance for the roughness of the audio, lack of quality, and even live mistakes. Hopefully folks won’t mind suffering through until we can come up with some better tutorials.

As prerequisites, I assume you’ve already got your own domain and have installed WordPress on a server or other host. I actually finish setting up the WordPress install as I start the video and then sign in for the first time as we begin.

While many of the core plugins are straightforward, there is a huge amount of leeway in how folks can choose (or not) to syndicate to sites like Twitter, Facebook, and others. Here I make the choice to use the Bridgy Publish plugin and only demonstrate it with Twitter. With one example shown, hopefully other silos can be set up with Brid.gy as well. The IndieWeb wiki details other options for those who want other methods.

At the end I walk through creating and syndicating a post to Twitter. Then I demonstrate commenting on that post using another CMS (WithKnown) from a separate domain.

I do my best to provide verbal descriptions and visual examples, but these can certainly be supplemented with further detail on the IndieWeb wiki. I hope to come back and add some diagrams at a later date, but this will have to suffice for now.​​​​​​​​​

For those who would like an audio only version of this talk, you can listen here (.mp3):

🔖 Mastodon Webmention Relay

Bookmarked Mastodon Webmention Relay (glitch.com)
  1. Remix this glitch.
  2. Get a Mastodon API token.
  3. Put it into .env (don't worry, it's hidden from non-collaborators).
  4. Configure UptimeRobot to hit the /check endpoint.
h/t qubyte on GitHub:

made a glitch over lunch to periodically check my own statuses for links, and dispatch webmentions accordingly. It’s still pretty crude, but works well so far. It works through old statuses and then new in batches, searches the content of each status for anchors, and dispatches webmentions for those which support them. Feel free to remix it!

Edit: Apologies. It was set to private, but public now.

Fatal Error with WP_Error as array in Webmention Form

Filed an Issue pfefferle/wordpress-webmention (GitHub)
A Webmention plugin for WordPress https://wordpress.org/plugins/webmention/
As mentioned in IW chat:

When placing the URL https://abraham.uno/909/listening-an-indieweb-podcast-episode-0/ into the Webmention Form at http://boffosocko.com/2018/03/19/an-indieweb-podcast-episode-0-considering-the-user/#Respond+on+your+own the following Fatal Error appears at http://boffosocko.com/wp-json/webmention/1.0/endpoint:

Fatal error: Uncaught Error: Cannot use object of type WP_Error as array in /htdocs/wp-content/plugins/webmention/templates/webmention-api-message.php:119 Stack trace: #0 /htdocs/wp-content/plugins/webmention/includes/class-webmention-receiver.php(161): require_once() #1 /htdocs/wp-includes/class-wp-hook.php(298): Webmention_Receiver::serve_request(false, Object(WP_REST_Response), Object(WP_REST_Request), Object(WP_REST_Server)) #2 htdocs/wp-includes/plugin.php(203): WP_Hook->apply_filters(false, Array) #3 /htdocs/wp-includes/rest-api/class-wp-rest-server.php(380): apply_filters('rest_pre_serve_...', false, Object(WP_REST_Response), Object(WP_REST_Request), Object(WP_REST_Server)) #4 /htdocs/wp-includes/rest-api.php(271): WP_REST_Server->serve_request('/webmention/1.0...') #5 /htdocs/wp- in /htdocs/wp-content/plugins/webmention/templates/webmention-api-message.php on line 119