Watched IndieTrustWeb from IndieWebCamp Austin 2020 | Internet Archive

Some interesting ideas here, but I don’t feel like there are any that I could run with and want to build some concrete functionality out of. I suppose that more of my interest in this area relates to ideas about aggregation and discovery.

Reply to doesn’t link back by Khürt Williams

Replied to doesn’t link back by Khürt Williams (Island in the Net)
I ran my domain through IndieWebify.me. Almost all of the rel=“me” links either don’t link back or couldn’t be fetched. The following work perfectly and can be used with the IndieAuth authentication plug-in. GitHub Flickr Goodreads Twitter That’s 4 out of 43.
Khürt , The majority of them don’t link back because the silos (like Keybase, Instagram, and Medium which you mention) aren’t putting the rel=”me” microformat on the URLs in your profile like Twitter, Github, and Flicker do. If you view the page source for those silos, you’ll see that they list your URL, but don’t have rel-me’s pointing back at you. Sadly, you can’t control these, though you could file issues with the sites that don’t to encourage them to.

The indiewebify.me site has a parser that is looking at the two sites to see that they not only point at each other, but it requires that the two links have the rel=”me” microformat on them. Most don’t, but this doesn’t mean too much in practice. Whether or not they both have rel=”me”, the only way both sites could point at each other indicates that you “own” or control them both. Kevin marks has proposed/built an interesting decentralized verification service based on them. His version is certainly much better distributed than Twitter’s broken verification set up.

Other than having a stronger two-way ownership indicator, what do you get out of them? As you mention, some have the ability to be used with IndieAuth. Those that can be used with IndieAuth are relying on the service (like Twitter or Github) having a OAuth implementation for signing into their services. This allows an indie site to piggyback on another services’ OAuth implementation without having to go through the trouble to build one themselves, which can be a lot of work to do, much less do correctly (securely). Most of the services you see not linking back not only don’t add the rel=”me” tag, but they also don’t support OAuth, so you wouldn’t get too much more out of having the correct reciprocal link anyway.

Incidentally, one of the benefits the rel=”me” links do have is that they allow you to use your website to log into the IndieWeb wiki to participate directly in that part of the community. (Give it a try!)

Some services like Brid.gy get around services like Instagram or Facebook not having a physical rel=”me” microformat because they’re relying on looking at the appropriate data (usually via API) on your profile page to see if it links back (either in your website field or typically in your bio).

Don’t be overly concerned that the vast majority of sites appear not to link back even if you’ve got links on both pointing back. (And if you think your batting average is bad with only 4 of 43, just imagine how many of my 200+ sites do?!)

If you want to see an interesting tech-forward application of rel=”me” and the XFN friends network, take a peek at Ryan Barrett’s Indie Map which he unveiled over the summer:

Some of these building blocks will likely add a lot more value later on as more and more sites explicitly indicate their relationship to and from each other.

@Mentions from Twitter to My Website

You can tweet to my website.

One of my favorite things about the indieweb is how much less time I spend on silo sites like Facebook and Twitter. In particular, one of my favorite things is not only having the ability to receive comments from many of these sites back on the original post on my own site, but to have the ability for people to @mention me from Twitter to my own site.

Yes, you heard that right: if you @mention me in a tweet, I’ll receive it on my own website. And my site will also send me the notification, so I can turn off all the silly and distracting notifications Twitter had been sending me.

Below, I’ll detail how I set it up using WordPress, though the details below can certainly be done using other CMSes and platforms.

rel=“me”

The rel=“me” is put on the link that wraps this Twitter icon in my h-card on my homepage.

On my homepage, using a text widget, I’ve got an h-card with my photo, some basic information about me, and links to various other sites that relate to me and what I’m doing online.

One of these is a link to my Twitter account (see screenshot). On that link I’m using the XFN’s rel=“me” on the link to indicate that this particular link is a profile equivalence of my identity on the web. It essentially says, “this Twitter account is mine and also represents me on the web.”

Here’s a simplified version of what my code looks like:

<a href="https://twitter.com/chrisaldrich" rel=“me">@chrisaldrich</a>

If you prefer to have an invisible link on your site that does the same thing you could alternately use:

<link href="https://twitter.com/twitterhandle" rel=“me">

Similarly Twitter also supports rel=“me”, so all I need to do there is to edit my profile and enter my website www.boffosocko.com into the “website” field and save it. Now my Twitter profile page indicates, this website belongs to this Twitter account. If you look at the source of the page when it’s done, you’ll see the following:

<a class="u-textUserColor" title="http://www.boffosocko.com" href="https://t.co/AbnYvNUOcy" target="_blank" rel="me nofollow noopener">boffosocko.com</a>

Though it’s a bit more complicated than what’s on my site, it’s the rel=“me” that’s the important part for our purposes.

Now there are links on both sites that indicate reciprocally that each is related to the other as versions of me on the internet. The only way they could point at each other this way is because I have some degree of ownership of both pages. I own my own website outright, and I have access to my profile page on Twitter because I have an account there. (Incidentally, Kevin Marks has built a tool for distributed identity verification based on the reciprocal rel=“me” concept.)

Webmention Plugin

Next I downloaded and installed the Webmention plugin for WordPress. From the plugin interface, I just did a quick search, clicked install, then clicked “activate.” It’s really that easy.

It’s easy, but what does it do?

Webmention is an open internet protocol (recommended by the W3C) that allows any website to send and receive the equivalent of @mentions on the internet. Unlike sites like Twitter, Facebook, Medium, Google+, Instagram, etc. these mentions aren’t stuck within their own ecosystems, but actually work across website borders anywhere on the web that supports them.

I use the domain name BoffoSocko as my online identity.

The other small difference with webmention is instead of using one’s username (like @chrisaldrich in my case on Twitter) as a trigger, the trigger becomes the permalink URL you’re mentioning. In my case you can webmention either my domain name http://www.boffosocko.com or any other URL on my site. If you really wanted to, you could target even some of the smallest pieces of content on my website–including individual paragraphs, sentences, or even small sentence fragments–using fragmentions, but that’s something for another time.

Don’t use WordPress?

See if there’s webmention support for your CMS, or ask your CMS provider or community, system administrator, or favorite web developer to add it to your site based on the specification. While it’s nice to support both outgoing and incoming webmentions, for the use we’re outlining here, we only need to support incoming webmentions.

Connect Brid.gy

Sadly, I’ll report that Twitter does not support webmentions (yet?!) otherwise we could probably stop here and everything would work like magic. But they do have an open API right? “But wait a second now…” you say, “I don’t know code. I’m not a developer.”

Worry not, some brilliant engineers have created a bootstrap called Brid.gy that (among many other useful and brilliant things) forces silos like Twitter, Facebook, Google+, Instagram, and Flickr to send webmentions for you until they decide to support them natively. Better, it’s a free service, though you could donate to the ASPCA or EFF in their name to pay it forward.

So swing your way over to http://brid.gy and under “Get started” click on the Twitter logo. Use OAuth to log into Twitter and authorize the app. You’ll be redirected back to Brid.gy which will then ensure that your website and Twitter each have appropriate and requisite rel=“me”s on your links. You can then enable Brid.gy to “listen for responses.”

Now whenever anyone @mentions you (public tweets only) on Twitter, Brid.gy will be watching your account and will automatically format and send a webmention to your website on Twitter’s behalf.

On WordPress your site can send you simple email notifications by changing your settings in the Settings >> Discussion dashboard, typically at http://www.exampl.com/wp-admin/options-discussion.php. One can certainly use other plugins to arrange for different types of notifications as well.

Exotic Webmentions

A bonus step for those who want more control!

In the grand scheme of things webmentions are typically targeted at specific pages or posts on your site. General @mentions on Twitter not related to specific content on your site will usually be sent to your homepage. Over time, this may begin to get a bit overwhelming and may take your page longer to load as a result. An example of this is Kevin Marks’ site which has hundreds and hundreds of webmentions on it. What to do if this isn’t your preference?

In my case, I thought it would be wise to collect all these unspecific or general mentions on a special page on my site. I decided to call it “Mentions” and created a page at http://boffosocko.com/mentions/.

Update

While the code snippet just below should work, as of the 3.3.0 update of the Webmention Plugin, there is now an automatic setting at /wp-admin/options-discussion.php that will allow you to use a dropdown UI box to choose the page on your site to which homepage webmentions will be directed.

Then I inserted a small piece of custom code in the functions.php file of my site’s (child) theme like the following:

// For allowing exotic webmentions on homepages and archive pages

function handle_exotic_webmentions($id, $target) {
// If $id is homepage, reset to mentions page
if ($id == 55669927) {
return 55672667;
}

// do nothing if id is set
if ($id) {
return $id;
}

// return "default" id if plugin can't find a post/page
return 55672667;
}

add_filter("webmention_post_id", "handle_exotic_webmentions", 10, 2);

This simple filter for the WordPress Webmention plugin essentially looks at incoming webmentions and if they’re for a specific page/post, they get sent to that page/post. If they’re sent to either my homepage or aren’t directed to a particular page, then they get redirected to my /mentions/ page.

In my case above, my homepage has an id of 55669927 and my mentions page has an id of 55672667, you should change your numbers to the appropriate ids on your own site when using the code above. (Hint: these id numbers can usually be quickly found by hovering over the “edit” links typically found on such pages and posts and relying on the browser to show where they resolve.)

Tip of the Iceberg

Naturally this is only the tip of the indieweb iceberg. The indieweb movement is MUCH more than just this tiny, but useful, piece of functionality. There’s so much more you can do with not only Webmentions and even Brid.gy functionality. If you’ve come this far and are interested in more of how you can better own your online identity, connect to others, and own your data. Visit the Indieweb.org wiki homepage or try out their getting started page.

If you’re on WordPress, there’s some additional step-by-step instructions: Getting Started on WordPress.