Featured Technology Web Development

Adoption by Stealth

Colin Walker mentioned my earlier piece on the Open Web and tied back to an earlier piece on “Adoption by Stealth“.

In the end, I think technology adoption by stealth is the only way to make an idea dominant. With the open web (I use that term intentionally since “Indie Web” is much more of a community I don’t know well), people weren’t excited to adopt http. They were excited about websites. Older open web technologies, like trackbacks and pingbacks, weren’t successful because of the technology, per se, but instead of the ease in which regular end users could use it to their end.

In adoption in WordPress Core or Jetpack, the technology would need to not seem like technology, but only a feature. “Automatically notify sites you’re linking to about your post” is the feature, which exists in WordPress already through now-antiquated tech, so for webmentions to have a life in Core, they would need to augment that feature. “WordPress now features rich notifications”, for example.

I do fear that the dependence on microformats will be a detriment to widescale adoption, at least via the WordPress vector. For better or worse, markup is theme territory. Genesis already adopted, mainly due to the SEO benefits given is Google-backed. _s has been hesitant to pick sides. If either method is going to get traction, building it into a default theme and, possibly, a theme_support declaration would be the way it happens. If that happened, then other theme authors may opt to build support and the snowball would begin to roll.

I don’t know the webmention spec at all so ignore me if this is ignorant. Instead of webmentions relying so much on microformats and scraping, what if it could use either microformats or a reference to an API. WordPress now has a REST API, so what if the webmention allowed an alternative data location for structured data? When available, if the receiving site could verify the mention and then pull from the API, then it would likely be more reliable and not markup dependent, thus more likely that Jetpack or WordPress core, etc could add support for it.

In short and to the point, for something like this to gain traction, it would need to just work in a way that reduces fragility and developer error.

Featured Technology Web Development WordPress

The Open Web

The most powerful aspect of the Internet is the open web. From the very beginning, there has been a conflict with on one side walled gardens and closed networks with open standards and interoperability on the other.

My first experience with an online world was dial-up into AOL and exploring their internal experiences. Only rarely did I click the button to go into the unknown and wild internet. AOL controlled everything within their experiences.

For awhile, we had a golden age of blogging. People would comment on each other’s blogs. If you wanted to write a novel in response to someone, you did–on your site. When you did, a trackback or, later on, a pingback would automatically alert the original post and a little ad-hoc social network between two sites was created.

Feed readers provided a place for people to aggregate their blogging experience. From there, easy publishing and content aggregation fell in love and gave birth to social networks. This path wasn’t intended or necessarily in mind when Facebook or Twitter started, but nevertheless.


In all of this, having your home belong to you is important. A business whose online presence is their social media page is placing all of their eggs in one basket hoping that it isn’t in the platform’s business interests to change the system to your detriment. Even on site-builder platforms, which do give you your own website, do not give you any means to take that content with you whenever their platform or your needs change.

Having a home that you control is important, but now you have to maintain your main online presence and your Facebook page and your Instagram account and your Twitter feed and maybe blog on Medium too and so on and so on. The open web is being lost.

I want to see the WordPress ecosystem do more toward building up the new open web. Whether it is directly in Core or experimented with via Jetpack, there is a large user base who would benefit by modern and advanced open web technologies. There is a solid group of folks who believe in an open and independent web who have helped create standards and systems to interoperate, but it’s hard to gain adoption without the baking of something with the heft of Facebook or Twitter. is what turned me on to the modern standards. aims to be, more or less, an open Twitter. You can pay them to run your microblog or it’ll pull in your WordPress site (a special site just for your microblog or, in my case, just a category). Reading more about the tech behind it, such as webmentions–which I had heard of before but never took the time to read up on it–gave me a new excitement for the future of the web that I haven’t had in awhile.

What can we do to help continue this excitement? WordPress has considerable pull. When it supports something, it gets noticed. If we can figure out how many make webmentions work well, would Facebook or Twitter begin to support them in some way?

To this end, I would like to dedicate some of my free time toward exploring this more. Specifically:

  1. Update the PuSHPress plugin. It is currently on and available for self-hosted sites using an older version of the now-called WebSub W3C candidate recommendation. Automattic already has that much and it gives me a good place to start.
  2. Find small places in Jetpack that we can work toward supporting these efforts in a frictionless way. One example is storing Publicize URLs locally so plugins like Syndicated Links can use that information. In this case, with a Facebook or Twitter link stored in Syndicated Links, a service like can better get webmentions sent to your site. It isn’t required, since they’ll likely have links back to your site already, but again, small things to close the gap.
  3. Determine what could webmentions support in WordPress naively look like. What makes sense to be added to Core and how to make it expandable in a way that doesn’t tie our hands down the road. (Post formats, anyone? Pretty soon after they launched, the issue of not enough structure on how they worked ended up resulting in a pretty random experience. 3.6 tried to fix it, but, in many respects, it was too late.)
  4. More broadly, think through how else we can positively include ripe standards. Like a recent Jetpack fix to make our recipe shortcode compatible with

The hard part is keeping the end user in mind. I’ve recently setup a few pieces of indieweb concepts on my site, but it isn’t something that I would expect my wife or a random end user to do. It isn’t obvious why one would do this, it is a bit clunky, the workflows aren’t straight-forward yet. I think they can get there.

The dream isn’t to return to the past before social media, but help make social media part of the web in an organic way. For this post, you can like it or comment it on via this site,, Twitter, or Facebook, but all of the comments will appear here using Webmentions. The closed gardens will still exist, but it’ll make it easier for people to reach out between them.

I know I’m very late to the party after a tiny bit of research I’ve done so far. I’ve seen the same names pop up all over the place. These folks have worked very hard to get where it is now and I’m sure they know of dozens of roadblocks I couldn’t imagine today. But, I hope that, even if I’m late, there’s still room at the table.

How about you? What would you like to see move forward in the evolving open web?

Microblog Technology Web Development

I have an itch to get a number of people in the same virtual room and make a strong modern indieweb standards push into either Jetpack or Core.
Technology Web Development

Stats in the Open

John James Jacoby had the idea for an open stats platform. A Google Analytics that was open for anyone to see any site’s stats.

Experimenting with opening things up and transparency is interesting to me, so after he floated the idea and then tweeted this:

What the hell, let’s give it a go. I don’t have a ton of traffic (and most of it is still about the Genesis eNews Extended plugin I wrote four years ago), so it might not be the most interesting data to anyone else.

That said, browse around the site some, then check out my stats via Flox common stats dashboard.

Initially, the tracker also counted admin page views, but I’m uneasy about that so I restricted it to front-end and login page tracking. I might change my opinion or include only content editing admin pages (while leaving true administrative pages hidden).

What do y’all think of this type of transparency?

Site Info Technology Web Development

Let’s Encrypt!

Traditionally, getting an SSL certificate isn’t easy or cheap. SSL, or more accurately, SSL’s successor, TLS, is the underlying technology that encrypts web traffic. You’ve seen this as the https scheme on a URL and the padlock in your browser to let you know you’re securely browsing a website.

To set this up for your website, you used to (and still do on some hosts) need a dedicated IP address for the website, a fair amount of money, and jump through of hoops with the certificate authority (CA) issuing the certificate. There was, also, a lot of back and forth needing a certificate signing request (CSR) to send to the CA, then installing the real certificate when it was issued.

Let’s Encrypt aims to change that. The goal is a fully automated process where someone could type in a command on a server, wait a few seconds, and have a certificate issued and installed on their system.

It’s been in development for a while now and I’m proud to say that my employer, Automattic, is a Silver sponsor of the project. Yesterday, the opened for a public beta period. So, of course, I gave it a spin.

This site has had a certificate for some time, but I never pulled the trigger on enabling HTTPS on any of my other domains. I opted to try this on, perhaps, my greatest domain—

Let’s jump in and get some HTTPS going.

Site Info Web Development WordPress

Failed WordPress Update

I wasn’t being very smart.

I run far too many WordPress sites. For me, for friends, for my old college fraternity’s 25th anniversary site. Far too many.

They never break on me. The plugins I use are pretty solid and I’ve become a bit lazy. I don’t always follow best practices of backing up everything before updating (though it is all automated anyhow), checking the changelog first, being at a real computer and not just at my phone.

That happened to me the other night. As I was waiting for a train to pass while driving home, I checked a site for an event this weekend on my phone and saw that it had an update. I knew the plugin and knew it would be fine.

I started the update.

But then, a horrible, horrible thing happened. Nothing. Maintenance mode started. The plugin’s update had started, which typically just takes a few seconds. Minutes passed. Nothing.

I opened a new tab. The dreaded scheduled maintenance message.

On a computer, this is no big deal. I’d login via FTP, delete the .maintenance file, and live to fight another day.

But I’m on my phone. Waiting for a train. Why do I do this to myself?

To make matters worse, by the time I got home, I forgot all about it.

The next morning, I turn on the computer and see an unrelated e-mail about the event, again that is coming up this weekend. OH NO I LEFT THE SITE BROKEN OVER NIGHT.

I hit the home page. It worked…

I logged into the site.

This is amazing!
This is amazing!

I’ve honestly never had an update fail like this that I didn’t immediately, as soon as I realized was taking too long, resolve manually.

What’s happening?

When WordPress loads, early on it loads /wp-includes/load.php which fires wp_maintenance() which checks to see if we’re in maintenance mode, which is determined by the presence of a .maintenance file in the root that is created when entering maintenance mode.

Then, it either loads the drop-in wp-content/maintenance.php plugin (for a custom maintenance page) or the default maintenance page unless we’ve been in maintenance mode for more than 10 minutes. In that case, it simply keeps loading WordPress.

I’m not sure why the update failed in the first place, but WordPress handled the failure smarter than I thought it would. Smarter than I was upgrading sites from my phone.