Over on my Idno development fork, I’ve pushed some functionality that I think is rather neat (and I hope will be adopted by upstream Update: it was.).

In a nutshell, I’ve started fleshing out the ability to Friend/Follow other users (based on some stuff I’ve previously kicked about).

The ability to add friends (and create posts only visible to them) is what puts the social in social network, and was functionality previously missing to idno core. An added complexity is that, since Idno is designed to be a distributed network, this needs to work across multiple installations.

Idno references users by URL, so this much was fairly straightforward, however I absolutely didn’t want people to be typing URLs into boxes to add a friend…

MF2 to the rescue!

Since everything in Idno is marked up and parse-able by it’s built in Microformats parser, Idno can easily harvest the required information when parsed a page, so all I really needed to do was pass an endpoint a URL.

So, I created a simple bookmarklet:


Once dragged into your toolbar, you can click on any page and your Idno installation will find any users present and allow you to add them in a couple of button clicks.


Monocultures are considered harmful

What makes this approach especially cool is, so long as the page is marked up using simple Microformats, your friend does not need to be running Idno in order for you to add them.

Your friends could be running Elgg, WordPress, Fizzbuzz, whatever, and you can still follow them, and allow them to see private posts (using some form of authentication – more on that to come).

Have fun!

6 thoughts on “Distributed friends with Idno/Known

  1. Just a quick note to draw your attention to this plugin for Elgg.
    This plugin implements the Microformats powered remote friending support I’ve previously talked about, and implemented in Known, for Elgg.
    What is this?
    Like with Known, this plugin provides a handy bookmarklet that will allow you to add friends from other platforms (even non-Elgg ones) simply, providing that the platform marks out their users using Microformats (for this reason, I suggest you also take a look at my Elgg microformats plugin).
    Once found, a remote user can be added as a friend.
    At the moment the plugin doesn’t do much else, but once you’ve got a user stub to hook things on to, other plugins could provide other features – browse their feeds, for example, or provide PGP login support (which I’ll build if I get time) that’ll allow for cross platform private posts.
    Have fun!
    » Visit the project on Github…

    Thanks for visiting! If you’re new here you might like to read a bit about me. You may also like to follow me on Twitter!

    (Psst… I am also available to hire! Find out more…)
    Share this:EmailLinkedInTwitterGoogleFacebookReddit

  2. I think Ben did some changes to the friending stuff and it looks like he removed/broke this. I’ve not had a chance to get into fixing it yet, but I’ll try and do it soon!

  3. I realise I should have probably also asked what errors, if any, you’re getting. However, I’ve just submitted a pull request with some fixes to better handle cases where the site in question isn’t marked up with MF2, which is what I’m guessing you’re seeing. Plus, it integrates with the new subscription code that’ll come on stream soon(ish).

    You can check it out on my branch: https://github.com/mapkyca/idno/tree/fixing-friends

Leave a Reply