Title: Page 64 – Alex Kirk

---

 * 
   ## 󠀁[WordPress Meetup Presentation: Decentralized Social Networking with WordPress](https://alex.kirk.at/2018/11/08/wordpress-meetup-presentation-decentralized-social-networking-with-wordpress/)󠁿
   
 * November 8, 2018
 * [wpvie-friends](https://alex.kirk.at/wp-content/uploads/sites/2/2018/11/wpvie-friends.pdf)
   [Herunterladen](https://alex.kirk.at/wp-content/uploads/sites/2/2018/11/wpvie-friends.pdf)
 * This is the presentation I held yesterday, November 7, 2018, at the [WordPress Meetup Vienna](https://meetup.com/Vienna-WordPress-Meetup/events/246664212/)
   about the [Friends Plugin](https://wordpress.org/plugins/friends/).
 * I created this presentation with [Deckset](https://www.deckset.com/) which allows
   to generate the presentation from a [Markdown file](https://alex.kirk.at/wp-content/uploads/sites/2/2018/11/wpvie-friends.md).
 * [Web](https://alex.kirk.at/category/web/)
 * 
   ## 󠀁[Decentralized Social Networking with WordPress](https://alex.kirk.at/2018/11/03/decentralized-social-networking-with-wordpress/)󠁿
   
 * November 3, 2018
 * Over the past year, I’ve been working on the side on a WordPress plugin that 
   implements an idea that has been growing in me over the last couple of years.
   Decentralized Social Networking. The plugin that does it is called [Friends](https://wordpress.org/plugins/friends/).
 * Starting with the frustration that there are few alternatives for people who 
   use Facebook: if you don’t want them to own your data but still want to privately
   keep your friends and family up to date about your live and discuss what interests
   you, where do you go?
 * I realize that many people just switched to instant messaging (like WhatApp) 
   which does allow exchanging private messages (and photos) with your friends, 
   but overall I do like the idea of having a more structured publishing platform.
   I just don’t like a single entity to control it all.
 * > **So I realized: We actually had an alternative all along: blogging.**
 * Blogging is decentralized: you decide where you host, you decide which blogs 
   you read and nobody really knows which ones you have subscribed to.
 * What disqualifies it as an alternative to my wish to keep friends and family 
   up to date, is that it public by default. While there is the option to publish
   something as “private,” there is not a lot you can then do with a privately published
   post.
 * So what if you were easily able to give your friends access to your private posts?
 * Here comes the Friends plugin. And with it, the downside to the solution:
 * > **You need to have your own blog to become friends with each other.**
 * Right now, this is only implemented on WordPress, the technology is framework
   agnostic, though.
 * ![](https://alex.kirk.at/wp-content/uploads/sites/2/2018/11/friends-pending-request.png)
 * Your friends get their own user on your blog. Here my request is still pending.
 * When everyone involved has their own blogging platform and they’d decide where
   they want to host, we automatically get a decentralized platform.
 * The technological ingredients to this are actually pretty old:
    - RSS
    - REST API
    - Authentication via keys
 * After friendship has been established (this involves both parties accepting friendship
   and exchange private keys in the background), your server will use that key when
   requesting your friend’s RSS feed which will in turn (since you are friends) 
   contain private posts. And vice versa.
 * For commenting, you’ll go to your friend’s blog, it’s a one-click-authentication
   away. This can also eliminate spam if you only allow friends to comment on your
   posts.
 * All of this is highly compatible with standard WordPress: if you want to accept
   a friend request on your mobile phone, use the WordPress iOS or Android app and
   change that user’s role to “Friend.”
 * > Chicken-and-egg problem: I use a social network because all my friends are 
   > there.
 * So why use a social network that not all of your friends use (yet)? **Because
   the Friends plugin is actually a pretty decent way to consume RSS feeds.**
 * ![](https://alex.kirk.at/wp-content/uploads/sites/2/2018/11/friends-subscription-
   daring-fireball.png)
 * Since it is based on RSS, it means you can also subscribe any blog or website
   that offers this well-established way of distributing content.
 * As you are in control of the server, you can also decide what you’re interested
   in and tailor the feeds to your liking: you can define rules for incoming feed
   items and ignore posts you know you won’t be interested in.
 * ![](https://alex.kirk.at/wp-content/uploads/sites/2/2018/11/friends-rules-daring-
   fireball.png)
 * I personally like to consume notifications via e-mail as it provides read/unread
   functionality and I can sort and categorize e-mails to my needs. You can now 
   also read your friends’ posts (or subscriptions) via e-mail. But you don’t need
   to.
 * ![](https://alex.kirk.at/wp-content/uploads/sites/2/2018/11/friends-edit-daring-
   fireball.png)
 * Another method to view your friend posts and subscriptions is the “Friends Page,”
   a timeline of friend posts and subscriptions. You can therefore scroll down the
   list of your friend’s posts and subcriptions, just as you see it people doing
   it all the time on Facebook.
 * ![](https://alex.kirk.at/wp-content/uploads/sites/2/2018/11/friends-page.png)
 * Read your friends’ posts on the Friends Page
 * There is quite a bit more to this, you can Emoji react to a post, recommend it
   specifically to friends, have sections in your posts for friends/not-friends,
   and more.
    - ![](https://alex.kirk.at/wp-content/uploads/sites/2/2018/11/friends-shortcodes.png)
    - Show parts of posts to friends or non-friends
    - ![](https://alex.kirk.at/wp-content/uploads/sites/2/2018/11/friends-recommendations.png)
    - Recommend posts to specific friends
    - ![](https://alex.kirk.at/wp-content/uploads/sites/2/2018/11/friends-reactions.png)
    - Emoji react to posts
 * Overall, I see this as a way to take blogging to the next level: Choose your 
   private audience. Choose where you host. Publish publically if it’s meant to 
   be public.
 * It’s clear that setting up and having your own blog is not (yet) for everyone.
   It’s more work than just signing up for some social network. Often you’ll need
   to pay for hosting (and domain). But it also gives you the freedom to take your
   data somewhere else if you want to. Or delete it.
 * We’ll have to see who will use this. As of now, it’s for a technical audience
   but maybe someday there will be dedicated Friends-WordPress hosting?
 * The [Friends Plugin](https://wordpress.org/plugins/friends/) is [open source under GPL2](https://github.com/akirk/friends/blob/master/LICENSE).
   If you have a WordPress blog, [try it out](https://wordpress.org/plugins/friends/),
   and if you think this could be better, different, enhanced: [create an issue](https://github.com/akirk/friends/issues),
   or better: create a patch and [send a pull request](https://github.com/akirk/friends).
 * Probably it’s not ready for prime time yet, we’re at version 0.14. But it’s getting
   there, at least I am already using it daily :) There are [many ideas left to be implmented](https://github.com/akirk/friends/issues),
   and these are only mine so far.
 * Oh, if you happen to be in Vienna coming week, I’m going to talk about Decentralized
   Social Networking with WordPress at our WordPress meetup on November 7, 2018.
 *  https://www.meetup.com/Vienna-WordPress-Meetup/events/246664212/
 * [Web](https://alex.kirk.at/category/web/)

 [Previous Page](https://alex.kirk.at/page/63/?output_format=md&term_id=44049) [Next Page](https://alex.kirk.at/page/65/?output_format=md&term_id=44049)