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.

 

 

Comment Improvements in WordPress 4.4/4.5

The below notes are for myself, as much as anyone else. These are changes to WordPress recently related to proposals and tickets I opened. In order to take advantage of them, I do need to refer to literature…and there isn’t none.

Insert Comment with Meta

wp_insert_comment has a modification that allows comment meta to be added to a comment at the time it is created.


    // If metadata is provided, store it.
    if ( isset( $commentdata['comment_meta'] ) && is_array( $commentdata['comment_meta'] ) ) {
        foreach ( $commentdata['comment_meta'] as $meta_key => $meta_value ) {
            add_comment_meta( $comment->comment_ID, $meta_key, $meta_value, true );
        }
    }
 So, if there is an array in $commentdata called comment_meta, save those keys as comment_meta.
Changes due Pingback
In WordPress 4.5, a slight change will allow the retrieved source code of a site that has sent a pingback to WordPress to be accessible in $commentdata as ‘remote_source_original’. But more importantly, there is now a pathway to access this data in action ‘comment_post’
        do_action( 'comment_post', $comment_ID, $commentdata['comment_approved'], $commentdata );
Comment Notification Changes
A lot of this came out of a problem I had last June where updates to comments to make them more rich…in this case pingbacks/webmentions/etc were happening after the notification was sent out. So now, notifications also are triggered by ‘comment_post’.
What Do I Want to Build?
All of these little changes serve to enhance the work I’ve been trying to do with webmentions.

Figuring Out Music Genres

I’ve been trying to reorganize my music collection. A few years ago, I digitized all my CDs. However, I’ve acquired more physical and digital music since then, and the file system needs to be redone.

The hardest thing about digital music for me is metadata. Being able to play music of a specific genre, group, etc. is useful, as well as my interest on the year of the song released. Genre is a particular issue because poorly selected genres make it more difficult to find the type of music you are in the mood for.

In researching this issue now, I came across the advice of Dan Gravell, who maintains a commercial product named Bliss that he wrote to solve his own digital music collection problems and sells. In his article, MP3 genres: one size does not fit all, he comments that a problem for owners of large MP3 collections is out of control genres. The solution he suggests mirrors what I was thinking. Come up with the genres you will allow in your collection and make sure all your music complies with this list. Here’s his starting list, compiled from the common elements of four different online music databases.

The Fundamental Music Genre List

  • Blues
  • Classical
  • Country
  • Electronic
  • Folk
  • Jazz
  • New age
  • Reggae
  • Rock

If you try to apply a list like this to a collection, you end up with a lack of balance. I, for example, have no Electronic in my collection that I know of. This is when you need to split your genres. What some would call sub-genres get promoted to better divide your music. You can then merge categories. For example, in my collection, Blues and Jazz would have to merge as I don’t have a large collection of either.

In addition to loading genres into metadata, they are a part of my filesystem organization. I still organize music into a directory structure of Genre -> Artist -> Album. Now, the simplest thing to do would be to eliminate that and go to Artist -> Album, but estimates are I have several hundred albums and artists. And multi-artist compilations seem to confuse it more.

By organizing it, I am hoping to get into the areas of my collection I forget I have and listen to more diverse playlists. It’s going to be a while though. At least I’m not alone in my problem.

 

Replied to Hydrox Cookies Will Return to Stores This Month (Grub Street)

The “original Oreo” is coming back very soon.

A piece of my childhood returns. Hydrox, which predated Oreo, is finally making a comeback.

A few years ago, tech personality Leo Laporte referring to the Hydrox Cookie as an Oreo knockoff caused me to write off a letter regarding this.

I was most disappointed to hear disparaging remarks about the Hydrox cookie on your program. For your information, it is Oreo(1912) made by the National Biscuit Company(Nabisco) that ripped off Hydrox(1908) made by Sunshine Biscuit Company.The name Hydrox, which comes from Hydrogen and Oxygen…admittedly wasn’t the best name for a cookie, but in the latter years, till the product was discontinued, it was rebranded as Droxies. I remember, a few years ago, for the 100th anniversary, Keebler, who now owns the Sunshine brands, did a limited run of Hydrox cookies. You see, as a child, I couldn’t have Oreos on religious grounds. I am Jewish, and Oreos were originally made with lard, which for many years, meant that they were not kosher. It wasn’t until 1998 that Oreos were certified as kosher. So, Hydrox were the sandwich cookies of my childhood. Religious issues aside, I am not the only person for which such passion exists. A quick internet search shows much love for the now discontinued Hydrox cookie. Since I cannot get Hydrox, and at the moment I really am craving a cookie I haven’t had since 2008, I will have to go buy Sunshine’s 1947 bestseller, still in existence, the Vienna Finger. 
I did receive an on air apology from Leo Laporte, who proclaimed he actually had liked the Hydrox. I’m tempted, when the first ones become available, to ship him a package with another note.
Replied to Lessons from trying to help with Android/iOS transfer (tommorris.org)

This weekend, I have been helping an Android user I know switch over to iOS.

What a fucking mess. The tech industry really ought to feel collective shame for the horror movie that is trying to switch from one platform to another…

Few things here. As an Android enthusiast, I recognize people prefer Apple, even if I don’t. I do hate everyone looking at my devices and automatically assuming anything nice must be made by Apple. But good for them for building that rep.

It isn’t as if iOS hasn’t had its share of scandals recently, including their recent app usage of restricted functions…functions Apple thought they could restrict by scanning for them in the code. But, either way…

The MTP issue isn’t a Samsung one. It was thought a security issue to allow direct access to the filesystem of the device by USB cable. The old solution was partitioning, but it meant a hard limit on app installs. So, MTP allows a single filesystem, but the media coming out securely and easily(well, not in your case). The MTP experience on a computer is definitely a problem though.

WhatsApp no making it easy to work with their data is a symptom of the bigger data portability problem. I really think your problem isn’t Android and iOS and the bad transfer experience. The issue is that few companies makes it easy to take data out of their siloed systems. Most people will give up on the effort.

Post Kinds Improvements

For those who have been following my Indieweb activities, I have for a little over a year been developing a WordPress plugin called Post Kinds.  The plugin is based on the built-in Post Formats feature, but focuses on different types of specialized post types or kinds. I figured I would motivate myself by writing out some of the improvements under development.

Picking the right icons to represent the kinds has always been a challenge, because they were part of an icon font. Icon fonts are ‘fake’ fonts that are actually composed of symbols. The latest version of Post Kinds under development switches to SVG. SVG is a text format that defines a complex shape. As it is text, it can be embedded directly in the page. You can compare the two below.

 

newpostkinds
New Post Kind Icons
Old Post Kind Icon Font
Old Post Kind Icon Font

Version 2.3.0

  • Enable the Jam post type. A Jam is used to share a particularly meaningful song you are listening to. distinguished from the existing Listen type, which is a more passive type designed to store songs you have listened to.
  • Support for start and end date, which will be used to enhance activity kinds. This will prepare for support for events, travel, and exercise in a future version. I really want to build travel in soon, but I have a lot to put in before all the pieces come together.
  • Improvements in parsing to bring in better and more consistent data from URLs provided.
  • Help within the plugin. This will be the first version to add built-in help.

This version will not go out until the above, as well as improved presentation(which I’m currently building) are complete. I’ve been working on the presentation rewrite for over a week now, trying to make it a significant improvement over the previous incarnation.

Tim
Time

The 1986 Kennedy Space Center Mystery

I have had this tendency of late to produce trip reports. I visited the Kennedy Space Center for the first time since 1986. So, even though I’m away from home, and my archives are a bit disorganized, I figured I’d reflect on my first visit, for a moment.

p_v13ahgrq2q20505_g

Untitled-69

I was able to locate these images from that visit.

 

 

 

 

 

Untitled-62

I also apparently saw an IMAX movie. The dream is alive was released in June of 1985 and prominently featured the Challenger. I do not remember much of that trip clearly.

Attempts to narrow down when I was there exactly have intrigued me, because January of 1986 also marked the Challenger disaster. I wonder how close I was to one of the sad chapters in American Space Exploration.

The Challenger was scheduled to depart the 22nd of January, but it ultimately didn’t happen till the 28th due to a combination of factors including a prediction of inclimate weather for January 26th. In the pictures, I am carrying an umbrella.

Martin Luther King Day was observed nationally for the first time on Monday January 20th, 1986. From recollections of the other parties, we left Florida after that and were back in New York when the disaster occurred.

That would put the trip sometime in the range between Monday, January 6 and Friday, January 17th.  We know the previous mission, STS-61C, operated by the Columbia, had an aborted launch on the 6th, and was cancelled on the 7th due bad weather at the contingency landing sites in Senegal and Spain. There was a mechanical problem on the 9th, and  on the 10th there was heavy rainfall at the launch area at KSC. It finally launched on the 12th and it later didn’t land at Kennedy Space Center on January 18th due to inclimate weather, ultimately landing at Edwards Airforce Base.

If there had been a launch attempt any day we were there, it would be something that would likely stick in our minds. There is a vague recollection of the shuttle being on the launch pad. But it was most likely the Columbia, not the Challenger as suggested. But who knows?

The final clue is a trip to Disney, taken as part of the same trip, which shows a sunny day. So, we need two days together, one inclimate, one nice…not hard in Florida weather. But lacking concrete historical weather data for 1986(anyone have access to that information?), or more clues, it seems unlikely I can narrow is down further.

The Columbia, which operated STS-61C, disintegrated on February 1, 2003 on reentry. The two shuttle disasters claimed the lives of 14 dedicated men and women.

The search is ongoing for additional visuals from this trip. The mystery remains.

 

Liked Hanukkah – Lift Yourself Up – music video by Jewish a cappella group Shir Soul – Happy Hanukkah! (YouTube)

Happy Hanukkah from Shir Soul!

After mentioning Chanukah Music, at least one acapella group, and giving one plug to Scott Eckers, I’m sure someone in his family would comment if I didn’t link to Shir Soul’s Chanukah song, as Scott appears in it(he’s the guy in the red shirt).