There is something that I feel is not right with today’s web structure. We, as the population of the web, create so much content that ends up on servers of large companies. We could own our data.
Therefore, I’d like to help reduce everyone’s dependency on third party platforms for their online activity.
You use your own server for publishing and interact with other people’s content on their server.
Since everybody follows this method, your content only reaches the people it is meant for, without involving a third party in the distribution.
You interact using the same means of today: web UI, mobile apps; the difference is that they don’t talk to a third-party server, neither for publishing nor getting and interacting with others’ content.
I am trying to create a solution for this with WordPress and the Friends plugin.
Note: in the following text I use the word “server” somewhat synonymous for the WordPress+Friends setup but it there could be alternative implementations. Also, server doesn’t mean “a dedicated machine somewhere,” you just need web space where you can install WordPress, which doesn’t mean it has to be expensive. For example, wpfriends.at is hosted for €1,90/month incl. domain.
Separation of Content
Today, separate social networks exist for different types of content; for example short content has its home on Twitter, Instagram is for photos. Facebook is a mix of this but allows for private content. Instant messengers like WhatsApp (or Facebook groups) are very clear about who the content or conversation is for.
So, separating content makes for a more homogeneous experience when consuming the content, also you have a good grasp of where (and for whom) you want to publish your content.
On your own server, you can separate out different types of content as well (in WordPress this is called “post formats”). You can also post something privately, only giving access to authenticated users.
The key is to connect the different types appropriately. By fetching the content from your friends and placing them in such “buckets,” you now have the option to view everyone’s content from multiple perspectives: everything from a single friend (or a group) across content types, or everything across friends of just one content type.
By continuing to use specialized apps for different types of content, you keep the benefits but exclude the third-party having full access to the content since they now talk to your own server.
The possibility to publish on the Internet by using your own server (most of the time: rented web space) is well-established since blogging was invented. It can become clunky when you interact with others: how do I respond?
That’s why there are several reasons why platforms are appealing:
- It’s easy to connect with others on the same platform.
- Leveraging network effects is easier since the platform knows who is connected to whom.
- Spam is usually under control.
Thinking back to the era of blogging, we had lots of interactions with others using comments and pingbacks. What mainly led to its demise was automated spam which reduced everybody’s willingness to be open for interaction. Commenting meant moderating spam.
So one of the core features of the Friends plugin is to solve the authentication problem between people you know and trust.
When you decide “to become friends” with someone, it means that you both get (low privilege) accounts on each other’s servers.
You can give them permission to see your privately published content, or not. When you want to respond to their post, you are automatically authenticated on their side.
This means that you could close comments for unauthenticated users (thus eliminating spam) but keep the discussion open for your friends.
Using your own server still has a learning curve. Getting started with a self-hosted WordPress and installing the Friends plugin is not as trivial as creating an account on a social network.
While it has become considerably easier to register a domain, get webspace connected, and a WordPress installed, there are still many further steps until you really can get started.
So, reality is that your friends likely won’t be migrating off third-party networks. Possibly never.
To still allow yourself to disconnect, the Friends plugin allows you to follow your friends across different (possibly third-party) channels including popular social networks like Twitter.
You can subscribe to someone on Twitter and their messages will be aggregated on your server under their user, in the respective post format.
This means that you can either view all the content (that you follow) for a single friend, or you can view the aggregate type of content, e.g. all the short messages your friends posted across services.
Not only for “real” Friends
Many use social networks to not only follow people they know and trust, but also to follow the news or celebrities. Despite the name of the Friends plugin, it can also do that.
You can subscribe any supported content (some out of the box, for others you can extend it with plugins) but not go into the friendship realm.
Your server takes care of fetching the content from various third-party sources and you can then consume the content in the way you see fit:
- The local “Friends UI” on your own server,
- an RSS reader,
- or more specialized clients like mobile apps.
One side-effect of this could possibly be that this removes our content from being wrapped in ads and websites trying to have us spend as much time as possible on their site.
We’d all spend a little money for domain and server every month or year for our own gain. We don’t need to put ads to our content.
For journalistic content it is already not uncommon for tech publications to provide an ad-free RSS feed as part of their paid subscription.
You can use your server to store more things, for example:
Your personal bookmark collection and todo lists (I have a work-in-progress for transitioning my previous project called thinkery.me to a WordPress plugin thinkery to host this yourself and use the Android app as a client).
Leverage your aggregated content as your own browser start page (my WordPress plugin called Startpage).
Right now, this is only implemented for WordPress, and the authentication is only leveraged for consuming private content and posting comments. But it doesn’t need to end there.
The authentication could be used for further actions, for example you could give posting permissions to your friends to create a (private) forum, hosted by you or a friend.
The Friendship protocol is a REST API that can be implemented in other software as well.
The Friends plugin is open source and GPL.
Work in Progress
How far along the way is the Friends plugin? It’s already well usuable for your own purposes. Like I said above, you can establish friendships between servers and consume your friends’ content, even from third-party social networks.
There is still a lot to do, especially around commenting and notifications. Better tools are needed for leveraging network effects, like search your friends+ posts and explore their friends (if they allow you to do so).