IndiewebPress: Connecting Your Site and Mine

This is the one of a series of brainstorming posts I am putting out about how major functional Core changes to WordPress could result in an improved experience for those interested in pursuing Indieweb philosophies in WordPress. This builds on a previous article about improving comments.

In the previous article, I discussed my thoughts on the subject of comments as a structure and what comments could be capable of if that structure was improved. But, when I showed that to several people, the comment was, quite legitimately, that I didn’t explain what could be built on top of that. I had another topic in mind before covering this, but that made me want to document this as well.

Let’s start with webmentions. Webmentions builds on the idea of the two protocols that are built into WordPress: Pingbacks and Trackbacks. Trackbacks have to be discarded from WordPress. There is no verification of them…it is basically letting anyone post something on your site…moderated or not. The other site tells you they’ve linked to you(even if they haven’t) and what to make it look like on your site. And because of this…while I’ve tried to think of ways to save it, I think it needs to, over time, go on the chopping block.

Pingbacks, despite actually verifying that a URL links to where it says it does, currently don’t do anything else interesting in WordPress. The appearance and usage has stagnated. It could be improved on the display side, and I’ve tried to get interest in that…but I’m wondering as we move forward…considering the legacy design issues, the bad feelings, what I would like to see happen with comments, etc…if we should just let Pingbacks stay where they are with only some performance and other minor refinements, and develop Webmentions.

Webmentions have advantages. They support update and delete functionality if the source changes in the future. They have a standard recommended by the W3C(which the previously implemented protocols do not), as well as a dedicated community who has implemented them on their sites.

What was never realized in potential by previous protocols, but Indieweb community members are implementing is the magic. Someone links to your site with a post on their site. They use webmention to tell you that they linked to you. But what your site does at that point is controlled by you. You can parse their post and display it as a comment, or based on how their page is marked up, derive other meaning and relationships from it. You can just use it in a simple counter or stat display to note how many people linked to you. There have been some fun discussions of using it to share bibliographic data.

If you had to pick one thing, webmention is the key building block on which the Indieweb is built. By itself, it requires no trust on the part of the receiver. There is a developing extension called Vouch which allows the sender to provide proof that someone the receiver knows trusts them. And, moderation aside, presentation of this is wholly left to the receiving site. Back to the comment point in the previous article on this, one of the functional WordPress problems is that there is no way for a plugin to declare a custom comment type and tell the theme how to display it or whether to display it at all. You effectively have to hijack the comment template to do this, instead of working with it.

To the point of something like annotations, the idea of fragmentions which allow a specific part of a post to be referenced more effectively…WordPress doesn’t support inline comments of any type or marginalia. There is a trac ticket to implement the W3C’s work on annotations, but WordPress has nothing to allow for displaying this sort of work.

There is a current Webmentions plugin for WordPress that is under continual development. It was created by Matthias Pfefferle, and I have been a regular contributor to it. It handles the functional plumbing of webmentions, but not the improved display aspect. That has been delegated by its creator to a second plugin, Semantic Linkbacks, which attempts to offer the parsing of external sites and deriving information like author(name and photo), etc.

It is worth trying the combination of these. But there is more that can be done here as well. Cover more types, improve the ability to store commenter’s data, etc.

 

Why Webmentions in WordPress

I had originally wrote this on January 27th, as part aof an email exchange between myself and the WP Tavern. However, after being told by Jeff Chandler, contributing writer for the site, that he was away and would discuss the matter further in March, I received no further word. After the site posted a somewhat inaccurate article on webmentions on March 18th, I commented to them again that I was disappointed that the article was not checked for accuracy. Again, no response. So I am posting my January 27th article and withdrawing from WP Tavern’s request for exclusivity on any such article due lack of response on their part. The dialogue on Webmentions in WordPress continues.

 

Over the last few years, as the smartphone has become more popular, we’ve moved from being excited about notifications to being worried about notification overload. Companies are hoping to get more data on us so they can tailor their interactions with us. We install analytics on our websites to determine how many visitors we get and what they did on our sites. At its simplest level, a linkback is a way of having a site(the sender) notify another site(the receiver) when it links to it. It sounds like something we would want to know and would have many potential uses.

WordPress has two built in linkback protocols: Trackback and Pingback. To many users, they seem like the appendix of WordPress. People don’t care about them until they are exploited by bad actors. There is a newer protocol, the first linkback protocol to be accepted as a draft specification from the W3C, the main standards organization for the Internet, called Webmention.

Webmention improves upon the previous protocols. It uses an HTTP POST request to send two parameters…the source and target URL. By comparison, trackback, which also uses HTTP, only sends the source URL and does nothing in its WordPress form to verify the trackback is legitimate. Pingback, like webmention, sends both source and target, but it uses XML-RPC as opposed to a POST request. XML-RPC has had some controversy around it as well. There are also several practices that are recommended by the Webmention specification that would make an implementation more robust than the implementations of Trackback and Pingback.

WordPress has a longstanding reputation of commitment to backward compatibility and isn’t going to flick the switch and remove pingback and trackback code from WordPress Core so easily, with or without a replacement.  It makes sense to make improvements to the older protocols concurrently with adopting webmentions, although it would also be a good idea to consider gradually deprecate the older protocols in favor of webmentions. Trackbacks have no source validation built into WordPress as it was not part of the original specification. The pingback code could use some love. However, with some refactoring, new webmention code could be used to update the older pingback/trackback code as well. This would create a better linkback system overall.

Even if webmention is a better delivery system for linkbacks than its predecessors, no one but a developer cares about protocols. People care about what it can do for you. All of the protocols converge in one place. Once you know a site has linked to you, what do you do with that information? That is where the exciting parts come in and where WordPress falls flat.

If one person would like to speak up in favor of the presentation of […]Useless Context. […], I’d love to hear it. The burden of presentation and use in a linkback relationship goes to the receiver and can be infinitely extensible. What WordPress lacks is a good base presentation for people to enhance and some innovative examples from the community of usage. If you can parse a page of HTML, you can come up with richer content and relationships by marking up the elements of a post with Microformats. WordPress already has some microformats embedded in most WordPress sites and supporting in many themes, and there are other efforts that can be made to better improve this side of things. But there are limitless possibilities, for example:

  • Want to reply to a post on WP Tavern on your own site? Send a webmention(or more archaic protocol) to WP Tavern with the URL of your reply. WP Tavern could parse your site and generates an actual comment from it.
  • Why only a reply? What about other types of relationships? Liking a post, for example?
  • Even just simple administrator stats can be interesting and useful.

So, why not do all of this with an API? We have a new one coming into WordPress…and that’s a great thing I’m fully in favor of. But reading content from a website using an API creates a burden on both sides of the relationship. I have to write an API and you have to learn how to use it if you want to interface with my site. Why shouldn’t your website be your API?

If you are interested in trying webmention support, there is a basic plugin for WordPress. There is even a second plugin that uses Microformats2 plus linkbacks to generate richer comments. Both of these can be used to develop the more robust implementation that would be required for WordPress Core. For more information on how people have been using webmentions, visit IndieWebCamp.

 

 

March of the Living: Part 2

This narrative is exactly as written in 1999. No corrections have been made to any grammatical mistakes I may have made in 1999. Any items in italics are editor’s notes, circa 2016. The journal includes a film log and the pictures are captioned as per my notes in the log.

Stepping off the plane in Krakow
Stepping off the plane in Krakow

Sunday, April 11th, 1999 – Krakow, Poland

Arrived in Krakow around 4PM local time, 10AM EST. Was bussed from plane to airport where I went through customs and waiting around for our luggage, I met our guide, Peter, and got on the Orange Bus, 105.

I recall that Krakow did not seem equipped for a 747, and they had a single man driving the luggage cart and unloading it, then going back for more. And when we tried to assist in unloading, we were stopped by the armed guards. In 1999, the airport had less than half a million enplanements. It had over 4 million in 2015. The airport has a variery of discount carriers, and a new terminal opened in 2015. The older terminal is being remodeled.

Jewish Quarter – Isaac Synagogue

We arrived in the Jewish Quarter of Krakow and walked to the Isaac Synagogue, which is over 300 years old and now a museum. We all davened minchah there and Chaim Lauer spoke of his feelings and mentioned the Song of the Day for Wednesdays. Then one of the Rabbis, a survivor, I think it was Moskowitz, spoke of his feelings, of how all Jewish buildings would someday be in Israel. He quoted off the wall on which fading words were written from the Midrash.

He urged us to experience and capture a moment. We then sang Kol Haolam Kulo, which was written in Krakow, and returned to the bus.

The Isaac Synagogue was built in 1644 in the Kazimierz district of Krakow. The synagogue was funded by Isaac Jakubowicz, aka Isaac the Rich, who is buried in the Remuh Cemetery. The Gestapo destroyed the interior of the building during the war, after which it was used by a theater company, an exhibition space, and ultimately renovated. I cannot recall the details of who allegedly wrote Kol Haolam Kulo in Krakow allegedly. The words are based on a quote from Reb Nachman of Breslov. I believe the composer of the tune we sung was Shlomo Carlebach.

Untitled-21 Untitled-22 Untitled-23 Untitled-24 Untitled-25 Untitled-26 Untitled-27Untitled-28 Untitled-29 Untitled-30 Untitled-31 Untitled-32

March of the Living Part 1: The Flight and Setup

This narrative is exactly as written in 1999. No corrections have been made to any grammatical mistakes I may have made in 1999. Any items in italics are editor’s notes, circa 2016. The journal includes a film log and the pictures are captioned as per my notes in the log.

Saturday, April 10, 1999 – JFK Airport

Airplane
Shot of people around me on airplane

I arrived at the airport bearing a giant bag on wheels and a bookbag the size of a duffel. We went through El Al procedure and was eventually ushered into a waiting room where I ran into Ilana Shreck. Eventually, Solomon showed up. We were all talking and continued to do so until we went to the gate and sat with the blue people of which I’d formerly been. Plane departed 11PM.

A Paper Ticket...ah the nostalgia
A Paper Ticket…ah the nostalgia

Sunday, April 11, 1999 – Montreal, Canada

We stopped here to pick up more people and didn’t take off again until 2:30AM EST.

They fed us several times on the flight. A snack, a dinner, a breakfast…

Editor’s note: I have the clear recollection of them refusing to give us drinks on the flight, and a few of us conspiring to distract the flight attendants so I could grab a bunch of drinks from the galley and distribute them to the individuals around me.

We should be arriving soon in Crakow. I am unsure of what to expect, this being my first trip to Europe and the disturbing nature of this trip.


The setup for this trip actually started months earlier. I began the journal in question with entries at Queensborough Community College where we had classes to prepare for what we were going to see.At the time of this trip, I was a student at the Bronx High School of Science. The only other student from my school was Solomon Schatten. I still hear from him once in a while to this day. He would be the only person from the trip I have contact with. The other people I became friendly with on the trip, for example, Ilana Schreck, I have lost track of. According to Facebook though, she has a family now and still lives in New York. We still have mutual friends.

I found this scribbled on one of the pages. It still seems like good advice.

Laver’s Travel Laws for March of the Living

  1. Prepare.
  2. When you see a bathroom, use it
  3. Be there for others, reach out
  4. Be flexible and patient
  5. You pack it, you schlep it

Untitled-67