Deprecating and Replacing Bridgy Publish for WordPress

I’ve decided to take a different direction for the Bridgy plugin for WordPress. I’ve never quite been able to explain to people it doesn’t actually do anything. It’s a user interface for the Bridgy service. I’ve decided that the best thing to do is to is to change the approach radically.

Bridgy is a service that integrates with various sites…Facebook, Flickr, Twitter, Github, and sends back comments, likes, etc to the original copies of the same posts on your site. There are a few similar services I’ve integrated with. It also has a feature called Publish where it allows you to syndicate your posts to those services.

This is something of an arms race, as APIs change all the time. Sometimes, there is no official established API. Ryan Barrett, the creator of Bridgy, announced in a blog post this week that due to Facebook API changes scheduled to take effect on August 1st, the Publish features of Bridgy for Facebook would be discontinued at the same time.

I’m writing this partly to lay out my plan in my mind as I’m working on writing this now. I’ve gone through a few different versions of this idea before settling on this.

The Bridgy plugin consists of two parts: The first part is a UI that is added to the post editor that consists of a series of checkboxes, and the corresponding code that triggers the same action from a post made over Micropub. The second part was added last summer, and is basically a registration page for registering for Bridgy.

I’ve opened an issue for discussion on whether I should move the second part into the main Indieweb plugin. Newcomers to the Indieweb could install the plugin, register for Bridgy inside it, and instantly start getting backfeed from other sites.

That brings us to the first part. The checkboxes. They will need to be rewritten, if I want them to continue, for the new post editor, Gutenberg, at some point. But, I don’t just want to syndicate via Bridgy. I want to syndicate to anywhere I can or choose to integrate in, both using the WordPress post editor and Micropub.

So, I’ve decided to integrate the top level of this, the logic that gets a request for syndication from the post editor or Micropub, inside Syndication Links.

Syndication Links displays icons which link to syndicated copies of posts. You’ll see them on this post. I keep adding in integrations to other plugins as people ask. I have Mastodon Auto Post, Keyring Social Importer, Medium, Social Network Auto Poster, and a few more. And I’ll likely continue to look at plugins that syndicate to other sites, figure out where they store their data, and display it as part of this plugin.

But now, this second part will expand the plugin into this territory of being a middleman for actually syndicating content. This is similar to what I did in Simple Location, where I have a series of providers for weather, location, maps, etc. and anyone could write a plugin(though only I have so far) that adds another provider.

To start, the first provider I’ll be including will be a rewritten version of Bridgy Publish, as well as my plan to add Indienews, as both are triggered by sending a webmention to a site.

At the point that I finish the alternative with feature parity to the existing code, I will discontinue development on the separate Bridgy plugin. It will mean one less plugin to maintain. Anyone who does not want to use the new features in Syndication Links…they will be off by default to start with.

It also means that, if I wanted to, I could add native publishing support for services in future. While there are certainly no end of Twitter/Facebook/etc plugins for WordPress, none of them quite understand syndicating a favorite to Twitter doesn’t mean a new tweet, it means something else. I can continue to write integrations for other plugins, or add new providers myself.

Not saying I’m going to do that. I’m only committing to what I’ve said above.

Finally, to all of you who liked the Bridgy Publish plugin…I’m curious to hear your comments on this. Bear in mind, I built the Bridgy Publish plugin to use it, and I still never migrated myself over to it. I would like to finally leave what I am using, and this would mean I could change providers without changing interfaces if I ever add something in future.

IndieAuth for WordPress

Part of my own project for this week, while taking off for the holiday, was to complete work on an Indieauth endpoint for WordPress.

IndieAuth is a layer on top of OAuth 2.0, a standard that grants websites or applications access to their information on other websites but without providing passwords.

OAuth is already being used by a variety of services…Login with Facebook or Login with Google options on sites are usually OAuth based. The difference is that for IndieAuth, users and clients are all represented by URLs.

Authorization Prompt for Indieauth for WordPress

So, why did I want to build one? A few reasons. The most popular use for a IndieAuth server as authentication for Micropub clients. Micropub is a standard for creating posts using third-party clients.

WordPress is moving toward deprecating their post interface in favor of a totally new one called ‘Gutenberg’. As a long time WordPress user, the focus on this concerns me as it does not necessarily represent my needs or desires as a user of the platform. So, I want to have options.

Currently, OAuth servers for WordPress of all types are limited. The REST API, which was heralded with much optimism, lacks an OAuth authentication method. In fact, it lacks any built-in authentication options other than the WordPress login for external authentication.

There is an incomplete project for an OAuth2 server for WordPress I did get some useful ideas from, however. I also have to thank Aaron Parecki, who wrote a book on OAuth2 and wrote the Indieauth specification, for reviewing my work and giving lots of feedback.

What I’ve built, with help, is a working IndieAuth authentication method that works for the REST API, among other things.

Since I wanted this to be widely adoptable, I needed to make sure of a secure implementation, and I think the results are a good initial version. There is an opportunity for further refinements and improvements, but it means that WordPress users are no longer dependent on Indieauth.com, the reference implementation of the spec which uses OAuth providers like Github and Twitter to authenticate.

This leads to my hopes for the future. There are people working on Micropub clients for Android. And if any of them pans out, or my own mobile options, I could easily post notes to my site from wherever I am using tools that are much more flexible to my needs than are available now, the culmination of nearly 4 years of moving toward this point, on and off.

The success for me will be able to read something on my phone, and quickly share that to my site. Or have a thought and quickly share it to my site, without having to spend so much time setting it up I think better of it.

There are still pieces that need work to achieve that, but this is a major piece knocked off.

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

Working on Integrations

Spending some time working on integrations. Specifically, integrating data from my home automation systems into my website. In previous iterations, I have added support for weather to posts…but not directly from my own weather station. Added support for location, but not directly from my own phone’s location.

I am trying to decide how far I want to go. For example, in addition to actual coordinates, I have a property for my location that allows for the following options: At Home, Just Left Home, At Work, Just Left Work, Just Arrived Home, Away, and Extended Away. do I want to actually identify where I am, either with granular or general location just because I can? Or do I just want to add context to a post when I’m saying something else.

There are lots of other integrations I’m looking to do, for various reasons. There is a lot of data I’d like to store in my site that you won’t be able to see, for historic and future purposes.

This is a problem people may have solved on other sites, but I’m trying to solve it for myself. Especially since anything I post on my site is syndicated elsewhere.

Replaced my front doorknob, changed the battery in my security camera, arranged a refund and warranty replacement for a malfunctioning component, made it so the recessed light over my TV turns off when the TV turns on, continued my redesign of a part of my website posting interface, went shopping and got some supplies for the next week or two, found some paperwork to try to renew my driver’s license for a second time and still got to get extra sleep…why can’t I be this productive during the week?
Liked https://choycedesign.com/2018/01/07/coaching/ (Mel Choyce)

At the urging of some colleagues, I’ve started working with a professional coach to help me work through some obstacles I encountered in this last year as a WordPress focus lead. I’m fortunate in that Automattic will pay for me to receive ten coaching sessions per year.

(Since I’m also taking a…

Showing someone how webmentions work by sending them some.
Replied to https://choycedesign.com/2018/01/07/coaching/ (Mel Choyce)

At the urging of some colleagues, I’ve started working with a professional coach to help me work through some obstacles I encountered in this last year as a WordPress focus lead. I’m fortunate in that Automattic will pay for me to receive ten coaching sessions per year.

(Since I’m also taking a…

I envy that. Sometimes I feel I could use some professional and personal development, but the closest I get is buying myself books on the subject.

Thinking of Homepage Mentions

Going to get a bit technical. This is your only warning.

One of the challenges I have been looking at has actually come because of others. Now, if you’ve been looking at my website, you might notice that, thanks to the efforts of myself, Matthias Pfefferle, and Ryan Barrett that there have been major improvements to the presentation of different types of responses on my site. I have a screenshot of the replies on a recent post.

Facepiles, the row of faces representing people who ‘liked’ or what have you, was actually the first project I tackled when I joined the Indieweb community back in 2014. I’ve learned a lot since then.

Either way, the current work not only builds on what I’ve learned, but the contributions by Ryan, who really wanted this feature available, really jumpstarted things. Now, all of these people below don’t know they commented on my site…as they commented elsewhere and I pulled it back to my site via webmention.

So, it brings me to a new problem I want to solve. Homepage mentions. What is that? So, in June, we implemented the ability to direct webmentions(which I’ve talked about before) that reference your homepage as opposed to a specific article to a designated page.

WordPress doesn’t allow the attachment of responses directly to the homepage, and david.shanske.com represents me, having a direct relationship to me on Twitter, Facebook, etc. So, any mention of my website or my username on one of those sites generates a mention that is sent to my site.

This is a problem in display. In recent weeks, I’ve had the following scenarios my website doesn’t yet deal with in a satisfactory way

  • Someone referencing my website as me, effectively tagging me in their post as having been somewhere. Example: With David(david.shanske.com)
  • Someone referencing my website as me in mentioning something I did. Example: David(david.shanske.com) kindly helped me.

Neither of this usages by others are displayed properly website, which is why they are not showing at all. I’m not sure how or where to display them.

Should someone mentioning me in this manner give me the option of generating a post, ala Facebook’s service of letting others post on your timeline, even if I moderate it somehow?

At the least, it should generate a message appropriate to the situation. And if it does, where should it go? Should I display recent mentions on the sidebar of my homepage? On a dedicated page?

The Indieweb declares a person tag as a tag on a post that refers to a specific person by URL and is done as a explicit action. Many of these mentions are explicit, but some are less so.

My goal is by mid January to figure out how I’m going to display these, one way or another, and write some code to do this. Perhaps as my project for Indiewebcamp Baltimore, coming up in late January.

 

I haven’t logged into Twitter in months, though I syndicate content there from my website.  Someone mentioned me, which got pulled back to my site. Turned out to be confusion with my cousin. But, I decided to clean up my Twitter account. I removed a bunch of inactive accounts accounts I didn’t think I needed. I considered starting from 0, but I’m not sure. I have a lot of social media accounts I send stuff to, but I’m never really on any of those services. So, I mostly respond to responses, with some rare exceptions. Maybe it is time to prune things down.
Replied to An update to read posts for physical books by Chris AldrichChris Aldrich (Chris Aldrich | BoffoSocko)

Inspired by gRegor Morrill’s IndieWebCamp Austin project, I went back and took a look at some of my read posts, and particularly for books.
For online material, I use the Post Kinds Plugin which does a good job of adding h-cite and p-read-of (experimental) microformats classes to the data for the…

This just gave me an idea…

https://github.com/dshanske/indieweb-post-kinds/issues/134

 

Meditations on my Grandfather

Unlike many of my posts, this one is not being syndicated to social media, as they automatically do. Some of you heard that Monday, December 4th, my grandfather passed away.

I flew to Florida on the first flight the following morning to be with my family. While it was not unexpected that my grandfather, turning 102 in April, would not live forever, there was a part of all of us who thought, due to the sort of person he was, he might just beat the odds on that.

I was set to come visit the following Monday, and it saddens me to know that I was only days away from seeing him, even if that had been the last time. I spoke to him, although he was not entirely responsive, from his hospital bed only the morning of his death.

But, that is about me. Let’s turn to my grandfather. There is a lot that people have said about him over the last few days, as not only did people fly down to Florida, family and otherwise, to call on my grandmother and provide comfort, but people in the halls, the local shops…everyone who knew him wanted to say that they had fond memories of him.

That is not uncommon after a death, but my grandfather had special skills in talking to people. I remember going into a store with him, many times in my childhood. He’d make quick friends with anyone…get their story, where they were from, make them smile a bit. And clearly, that paid off in dividends in the many people who remembered him.

I was touched by people, even those who had only heard me telling stories about him, sending me messages to say that I had painted such a vivid picture of the sort of person he was that they felt like they knew him.

It was always the skill of talking to people that I, often finding it difficult to start conversations with strangers, that I most tried to copy. He would often ask people what they did, or where they were from, or other similar questions to start a conversation.

His random question to one individual, asking them their maiden name, revealed a distant family relation with someone who had lived, unknown, in the same building as them for years.

So, one final time, I’m going to answer the question he loved to ask me. He asked so many times, I had my own unique way of responding in the Spring of 2016 when I took my current position.

I have been looking at this picture a lot in the last few days, and others. Even at over a century, and him having been in my life for longer than most have their grandparents around, no amount of time would have been enough.

My grandfather always asks me what I do for a living. When I changed jobs, I wanted him to know.