ActivityPub, the secret weapon of the Fediverse

If you’re new to the Fediverse you should know about ActivityPub and why it gives the Fediverse an edge over other social networks.

The Fediverse is the name for a number of interconnected (federated) social networks running on free and open software on hundreds or even thousands of servers all over the globe. These servers and networks are owned and maintained by a community of people and, contrary to networks like Facebook or Twitter, are not owned by a single corporation or organisation. Therefore all data and control of that data is distributed over individuals and (mostly) small organisations. That all users of these servers are able to socially interact with each other is because of the protocol behind most of the Fediverse, ActivityPub.

The Fediverse logo
Fediverse logo, 5 nodes in pentagon shape with all diagonals, multicoloured Creative Commons CC0 1.0 Universal Public Domain Dedication. Created by Eukombos

Now the boring stuff (which is actually very exciting). ActivityPub is a social networking protocol that enables the user (that’s you) to create, update and delete content over the network. In other words when you type a message, like a video or share a photo, the protocol ensures that these messages are exchanged properly. But that’s not what makes ActivityPub special. Other social networking protocols do the same thing, right? However ActivityPub is both open source software and it’s decentralized. This means that any developer can use the protocol to create an application for social media be it a micro-blog, a photo sharing app or a video sharing platform. Others (in fact anyone) can download the application, install it on a server and join an existing network (federate). Now this server becomes publicly available and you as a user can create an account and automatically join the Fediverse. Popular applications are Mastodon (microblogging), Pleroma (microblogging), PeerTube (video-streaming) and Pixelfed (image sharing)

Silos in Acatlán, Hidalgo, Mexico. (Photo by Diego Delso, License CC BY-SA, Source: Wikimedia Commons)

ActivityPub prevents that a social media platform becomes a silo (see photo) that can’t communicate with other platforms. Not only can a Mastodon user communicate with users on different servers on Mastodon, perhaps more importantly this user can also communicate e.g with a Friendica (macroblogging) user or a Pleroma user. These are totally different networks that all support ActivityPub. But this is even taken a step further where that same Mastodon user can follow his favourite PeerTube channel or someone that shares great photos on Pixelfed. This is like you were able to follow someone with your Twitter account on YouTube or Instagram. This also means that this Mastodon user can comment or like the PeerTube video from his/her Mastodon user interface. This is the true power of ActivityPub!

I already mentioned a few but there are dozens of applications that support ActivityPub. All have their different purposes and one has more ActivityPub integration than the other. One that I would like to highlight is Funkwhale. Funkwhale is a music streaming application. Like all applications mentioned above anyone can create a Funkwhale server and federate with other Funkwhale servers. The user is able to stream music from a different server, but also create favourites, make a playlist etc. Currently Funkwhale isn’t integrated with the rest of the Fediverse. Now recently the Funkwhale head developer, Eliot Berriot, started integration and made it possible to share music on Mastodon (perhaps also in Pleroma and Friendica but I haven’t tried that). This all works seamlessly thanks to ActivityPub.

The Funkwhale example demonstrates the power of ActivityPub. Applications with different purposes can work hand in hand. It avoids that Mastodon, which is by far the largest party in the Fediverse, becomes de-facto a silo. The Fediverse is supposed to be diverse and Funkwhale and other apps are enforcing that. In January 2018, the World Wide Web Consortium (W3C) published the ActivityPub standard as a Recommendation. This is an important step for the acceptance of ActivityPub by developers and leads to more applications supporting ActivityPub therefore creating even greater diversity in the Fediverse.

With the support of W3C the future of ActivityPub and the Fediverse looks bright. Chances are that more networks will start supporting ActivityPub and will join the Fediverse. And that both developers and (wannabe) admins adopt ActivityPub either for their app or their own server. I’m convinced that this is the only viable way out of the mess created of Big Tech companies like Facebook or Google.

Further listening about the Federation and ActivityPub:

Welcome to the new decade

In the coming decade we need to take back control of the internet. The Fediverse will help us do that.

During last decade Big Tech with companies like FaceBook and Google increased their stranglehold on the internet. They turned internet-users to mouse-clicking or index-finger pointing consumers that are robbed of their data in order to create detailed profiles that can be sold to the highest bidder.

In this decade we take the internet back and the Fediverse enables us to do that. The Fediverse offers us a place where Big Tech is powerless and the user can take control again. Where we can create, communicate, upload videos and listen to music without the interference of FaceBook and Google. It’s important to understand that the Fediverse is more than the Mastodon micro-blog. Don’t get me wrong, Mastodon is awesome but the Fediverse is so much more than micro-blogging.

The website Fediverse.party shows that their are lots of other Fediverse apps. These apps excel in e.g streaming video (PeerTube) to replace Google’s YouTube, image sharing (PixelFed) to replace FaceBook’s Instagram, streaming music (Funkwhale) to replace Spotify or Google Play Music or a full blown blog (WriteFreely) to replace Blogger or Medium.

To escape from Big Tech and take matters in our own hands all these apps are every bit as important as Mastodon. So let’s use them and with that turn our back to FaceBook and Google.

YouTube or PeerTube, which will it be.

YouTube has a monopoly on video and this is bad news. Read what’s so bad about it and why PeerTube is a good alternative.

What’s wrong with YouTube

If you want to watch a video chances are you’ll end up on YT. Sure there are alternatives such as Vimeo or Dailymotion but they are tiny compared to YT. Therefore YT has a near-monopoly As you know monopolies are bad. YT can do whatever they want and users will have to accept it no matter what. Frequently I’ve seen YouTubers ranting in on their YT channel about YT because of some wrongdoing from YT but they have no where else to go (or at least that’s what they think).

YouTube collects our data and sells it. You may think that YT is free but it’s not. Users pay by providing YT with data about their behaviour on YT. This data is turned into profiles about the users and sold to third parties. These third parties can then target you for their ads.

YouTube advertisements are getting increasingly annoying. Alphabet, the holding company, wants to make YT as profitable as possible to satisfy the shareholders. This can either by offering paid premium services or (targeted) ads. Lately I noticed a sharp increase in ads and I’m confident that this will only increase further in the future.

YouTube algorithm wants to keep me on YouTube. Why? So that they sell more ads. The secret of YT is the algorithm that recommends new videos. These recommendations are based on my profile, increasing the chances that I lazily click on another video and another one. This often leaves me with a feeling of pointlessly watching videos while I should have done more productive things.

YouTube algorithm encourages controversy. Controversial videos ensures ensure views and interaction such as likes, dislikes and comments. This in turn means again the opportunity to show more ads which means more income for YT.

What are the alternatives

Vimeo is the only sizeable competitor of YT. It’s business model differs because it doesn’t show ads, instead users can pay for more premium services. Vimeo does track the users however in order to show you ads elsewhere on the web. Also with the users consent Vimeo will sell your data to third parties. Lastly Vimeo is neither open source nor is it a distributed service.

Luckily more ethical alternatives are emerging. PeerTube is one of these alternatives. PeerTube is free and open source software and it’s a decentralized video platform that uses peer to peer technology. Instead of one single organisation that controls all the PeerTube servers, all servers are controlled by different owners. Nevertheless PeerTube operates as one where videos on one server can be searched for and watched on another, thus creating a network of interconnected nodes.

Everyone can install PeerTube on a server (instance) and join the network (this is called federation). Already hundreds of instances exist. Every owner or administrator of an instance can determine which other instances it follows.

Everyone can watch videos on PeerTube but if you want to comment or like or upload your own content you must join PeerTube. To join PeerTube it’s important to understand that there is no centralized portal to login. Instead you’ll choose an instance that you want to join, you login and enter the PeerTube network from that server. This means that choosing the right instance is important. Each server provides useful information about itself but an overall list can be found here.

PeerTube has another great feature. The PeerTube instances do not only federate with other PeerTube instances, they also federate with a larger network that’s called the Fediverse. Mastodon, a social network, is one of these members of the Fediverse and it has a huge number of users. Videos can easily be shared on Mastodon and Mastodon users can comment on videos with their Mastodon account.

Having read this it’s probably not a surprise to you that I’m currently transferring my content from YouTube to PeerTube and remaster the old videos in the process. I also intend to create original content and share it solely on PeerTube. It’s a drop in the ocean and no one at YouTube will loose any sleep over it but that doesn’t matter. PeerTube is still young (2015) and the developer Framasoft is working hard to improve PeerTube. Already some free and open source companies such as Krita, OpenStreetMap and KDE have a channel on PeerTube.

I do hope that people, that love their privacy and want to control their content, will follow me and start uploading great content to PeerTube for this is the only way to get out of the YouTube stranglehold. To get you started I’ve made a list of some useful links. See you on PeerTube.

Create animated GIFs from MP4 with FFmpeg

Learn how to create an animated GIF that’s small enough to upload but with a decent quality.

Animated GIFs are after all these years still pretty popular. FFmpeg is a good FLOSS tool to create these animated GIFs. FFmpeg is available for Windows, Linux and OSX. A word of warning FFmpeg is a command line tool that’s very versatile but it’s not for everybody. In fact suppose this post is more for users that like to tinker a lot with their animated GIFs. Below I will explain not only how to create a animated GIF from an mpeg4 movie but I also provide instructions to improve the quality.

The basic command to create an animated GIF from a mpeg4 is:

ffmpeg -i input.mp4 output.gif

where the name of the input file is input.mp4 and output.gif is the name of the output file. Unfortunately gif images are large due to their lossless data compression. So you’ll end up with a file that’s much bigger than the original mpeg4 and probably something that exceeds the upload limit of Diaspora*, Friendica or Mastodon.

In order to reduce the size of the file we can reduce the size of the images or we can reduce the number of frames per second. To achieve this we need the following command:

ffmpeg -i input.mp4 -r 12 -s 320x180 output.gif

This command reduces the framerate to 12 per second and resizes to 320×180 pixels. For the size of the GIF make sure that the aspect ratio remains the same or the resulting GIF will be distorted.

When we look closely at the resulting GIF we clearly notice some shortcomings in the animation. This is due to the default GIF encoding in FFmpeg. Because GIFs only uses 256 colors the number of colors from the mpeg4 needs to be reduced. FFmpeg by default uses a generic palette of 256 colors that covers the widest range of content. This is in general not optimal for the specific video that you want to convert. Luckily FFmpeg allows us to create a custom palette for our specific video. To create this palette type:

ffmpeg -i input.mp4 -filter_complex "[0:v] palettegen" palette.png

When we look in the folder of our mpeg file well noice that a file ‘palette.png’ has been added. This is our newly created 256 color palette for our specific video which is generated by the palettegen filter. To use the new palette with our mpeg video type:

ffmpeg -i input.mp4 -i palette.png -r 12 -s 320x180 -filter_complex "[0:v][1:v] paletteuse" prettyOutput.gif

FFmpeg needs two input files (streams) in this case test.mp4 and our newly created palette.png. The paletteuse filter takes the two streams as input specified by [0:v] and [1:v] where v stands for video and the preceding number for the number of the stream. The output file is renamed to prettyOutput.gif to differentiate it from the earlier output.gif. The resulting video should be much … prettier. If your resulting video is still too large either reduce the frame rate or resize even further (or just reduce the length of the video of course).

Further reading:
http://blog.pkh.me/p/21-high-quality-gif-with-ffmpeg.html
https://engineering.giphy.com/how-to-make-gifs-with-ffmpeg/

EU Copyright Directive daydream

While Big Tech and Big IP holders are fighting the EU citizens are caught in the middle and are in danger of becoming the victim of this fight.

Article 13 and upload filters

In March or April the EU Parliament will vote for a new EU Copyright Directive. Recently France and Germany agreed on a proposal text for the Directive that according to the Electronic Frontier Foundation (EFF ) is the worst one yet. Earlier I wrote about the EU Copyright Directive and the threat it poses for average users like you and me. The reason is that Article 13 of the Directive will inevitably result in upload filters.

thanks for all this DRM

The EU Copyright Directive is actually a clash between Big Tech and Big IP holders and the EU citizens are caught in the middle. Worse they are manipulated by both sides for there own purposes. It reminds me of the Digital Rights Management (DRM) discussion where IP holders were trying to limit the access of software and multimedia content with technical means. Leaving the user with bad products and restricting their rights such a making a back-up. Instead of prohibiting DRM the legislators, influenced by the IP holders, tried to criminalize the circumvention of DRM, communication about such circumvention, and the creation and distribution of tools used for such circumvention.

history repeats

Now with Article 13 history repeats itself. On one hand there are wealthy technology companies such as Google and Facebook. They take the lion share of all the profits made on the internet. The winner takes all principle on the internet has denied other companies to enter the arena and gain a significant market share. Mean while Big Tech has gained access to user data and profited from this on an unprecedented scale.

On the other hand are the Big IP holders that exercise, in their eyes, unlimited and perpetual rights to all intelectual property and as we have seen with DRM enforce it with all means possible. In the middle is the internet user which in general is not a criminal and is not purposely trying to infringe copyright. Nevertheless this user has to pay in the same way as they did with DRM with access to the internet being subjected to upload filters that can reject any content that the user is trying to share.

let’s fight back

The solution to the DRM problem came from the community providing users with tools such as Handbrake enabling them to make that back-up copy. This time around the solution is likely to come from the community again and the tool is probably already available. For that we have to go back to 2010 and the origins of Diaspora. The initial inspiration for Diaspora came from a speech by Eben Moglen, Freedom in the Cloud, where he proposed a distributed system of pods, called Freedombox. The idea of Eben Moglen was for every user to have a server with his/her data in his/her home. This idea never came to fruition and currently Diaspora is a system of pods serving dozens or hundreds of users per pod. What if we were to go back to this original idea. It’s possible. Freedombox is still here and they’re similar solution like Freedombone and perhaps others that I’m not familiar with.

Freedombox has a planned feature to create a Diaspora pod running on top of Freedombox and Freedombone allows the user to install a Friendica instance on it. Surely these homepods and instances will be free of all the restrictions mentioned in Article 13 as long as they are not-for profit. Your pod in your home therefore doesn’t need an upload filter and you can share all the information that you like as long as you’re respecting copyrighted material. It will create an iron clad distributed network where you determine what you want to share without passing any third party upload filter. It is also a message to both Big Tech and Big IP holders that no matter what they think of the community will always come back with a solution to be able to share data in a way they want to.

Movim, FLOSS Alternative for Hangouts

News is spreading that Google will replace classic Hangouts with Hangouts Chat and Hangouts Meet. Since Google had already decided to close G+ forcing me to look for an alternative this was a good moment replace Hangouts with a FLOSS alternative. I’m pretty happy with the Fediverse social networks as a replacement for G+ but I haven’t been able to find a chat service in the Fediverse. Luckily the’re other FLOSS options. Two of those are Matrix and Movim. I briefly checked the Riot client of Matrix as a guest so I can’t tell much about it. Maybe later more on that. I’ve spend a considerable amount of time with Movim which is actually more than just a webbased chat service. Movim is a distributed social network built on top of XMPP.

Movim logo
Logo of Movim

XMPP

XMPP is a communication protocol. It is, unlike for instance ActivityPub, a real-time protocol and therefore suitable for message oriented services like chat or IM. It’s an open protocol so any developer willing can use it in his/her application. There’s a sizeable list of application that support XMPP ranging from apps for the mobile phone to web oriented services.

Movim

Being build on top of XMPP, Movim has a good chat capability. You can create a public chatroom that anyone can join or have a private chat with another person. It also enables the user to create a community (or more) and a news stream. An advantage of Movim using the XMPP protocol is that with an Movim account you’re able to communicate with anyone with an XMPP account not just with Movim. To give an example I’ve been exchanging messages with someone that uses a Friendica server with a XMPP addon.

Movim is completely federated due to the underlying XMPP protocol which means that even when a server goes down the network keeps functioning and you’re still able to chat with your friends, as long as they were not logged into that specific server of course. The federated structure also provides privacy for the user. Your information is kept only on your XMPP server and information is being shared with other servers only if you decided to share it.

In the current version of Movim (0.14) end-to-end encryption is not implemented but it is planned for the next version. This means that currently Movim is not suitable if you need secure communication.

If you want more in-depth explanation about Movim and the technical choices that were being made check out this blog post from the developer of Movim: https://fr.movim.eu/?blog/edhelas@movim.eu/how-s-made-movim-part-i-the-architecture-CCA7If

You can check it out here: https://movim.eu/?lang=fr&hl=fr

Guide for GPlus refugees to choose a new social network in the Fediverse

If you’re still looking for an alternative social network to replace G+ here is a guide to the Fediverse that helps you choose.

Time is running out for GPlus refugees. G+ will close on April 2nd. So to help people that haven’t decided yet where to go in the Fediverse I made some pointers.

I divided this guide in a number of sections. Each section describes a certain use of social networks and which networks are most suitable for this specific use. Combine this with your preferred use of a social network and you should be able make a decision.

The Fediverse logo
Fediverse logo

Micro- or macroblog

In general a macroblogger writes longer posts with longer intermittent periods while a microblogger writes short bursts on a daily basis. Microblog networks typically have a maximum post length of hundreds of characters. The macroblogger can choose between Diaspora*, Socialhome, Friendicaand Hubzilla. The microblogger can choose between Mastodon, Pleroma, Misskey or GNU Social.

user interface

Arguably the most important part of a social network is the interface. Lot’s of G+ users like the smooth interface with the grid layout, the stream with updates on people, collections and communities that you follow and the lack of ads. G+ has an algorithm but unlike FB my stream felt mostly relevant with interesting posts (ok, lets forget about discover which I never used because it mostly served me rubbish).

First, none of the social networks of the Fediverse show ads or have some kind of algorithm to influence the stream of posts. All macroblog social networks (see above) have a stream only with updates on people and topics (tags in Diaspora*) that you! follow. The interface of Mastodon is very different from G+ and has more similarities with Twitter. It allows you the follow users but not topics (although the user can search for tags). Nevertheless the interface of Mastodon works very well and might be an important reason that this social network is currently by far the most popular of the Fediverse.

If the grid-like layout of G+ is important to you, Socialhome features a similar grid-like layout.

ease of use

The different social networks in the Fediverse have a widely different user experience. Now it’s up for debate which is easy to use and which is not but I’ll give my opinion on this. The most easy to use social networks are in my opinion Mastodon and Diaspora* and I recommend them for beginners in the Fediverse. Both have a relatively simple interface with easy access to the functions and concentrate on social interaction. On the other end of the spectrum are Hubzilla and Friendica. Both these social networks are packed with functionality and Hubzilla is even more than a social network (e.g it allows the user to create a website). The interface for both can be difficult to master with lots of options, menus and submenus. It took me a considerable time to find all the functionality in Friendica and after half a year I still find new options.

Mobile

If mobile is important it’s good to know that some social network are supported by multiple mobile apps while others (mostly the newer social network) current don’t have a mobile app. I believe that Mastodon is best supported with multiple mobile apps. Diaspora*, Friendica, Hubzilla, GNU Social and Pleroma have at least one mobile app. As far as I know Socialhome lacks a mobile app.

Support for Diaspora* protocol

If it’s important to connect with friends on Diaspora* it’s good to know that currently not all social networks in the Fediverse enable you to do that. Socialhome is based on the Diaspora* protocol while Friendica and Hubzilla support it. Friendica and Hubzilla are the only social networks that’s able to connect with (I believe) all social networks of the Fediverse.

Photo/Video

If photo’s are very important to you (think Instagram) Pixelfed is designed with photo sharing in mind. The same can be said about PeerTube for video.

Sharing/castinG

If your interested in sharing more than discussing or having a conversation you either need to choose for a social network with the largest number of users or a social network that can connect with all other networks. The best choice for that is either Mastodon or for the latter Friendica or perhaps Pleroma or Hubzilla.

Discover/be inspired

If you want to discover what’s going on in the Fediverse you’ll either want to choose Mastodon because of its size or a network that connects with most other social networks. I believe that in the latter case Friendica is the best choice but if you’re less interested in the Diaspora* side of things you can also choose Hubzilla or Pleroma.

Shared interest

G+ was the shared interest network and that gap is hard to fill. Nevertheless there are options. Mastodon has servers that are for people interested in specific topics like art (mastodon.art), open source (Fosstodon), Linux (linuxrocks.online), technology (mastodon.technology)) or science (scholar.social). Diaspora* takes a different approach where contacts can be ordered in aspects. By default the aspects are Family, Friends, Acquaintances and Work (social circles) but special interests aspects such as Science op OpenSource can very well be added. The groups in Friendica have a similar working.

Private message

Social networks such as Mastodon, Diaspora, Friendica and Hubzilla can be used for private messages but keep in mind that if you’re on Diaspora you can’t send a private message to someone on Mastodon vice versa.

Connect with G+ friends

G+ users went everywhere but the’re some likely places where you can meet old G+ friends. The most prominent is likely the Diaspora* instance (=server) Pluspora. As the name indicates Pluspora is especially created for G+ refugees so there’s a good chance you’ll find friends over there. It may be good to point out that Pluspora is part of the Diaspora* network. I’ve also seen some of my old G+ friends surfacing on either Mastodon or on Diaspora*.

There is no denying that G+ filled a gap in the market of social media networks. G+ was a shared interest network where the user could follow multiple persons on collections or I could join a community around a specific interest. This gap isn’t easy to fill by any social media network. Now my last tip is this. Take your time to look around in your new network, don’t expect it to be like G+ but keep an open mind and judge it on its own merits. After some time you’ll discover that this new social network has its own qualities that you start to care about and love.

Link to my blog post about FLOSS tools to create a community or forum: http://homehack.nl/floss-tools-to-create-a-forum-or-community/

Link to a blog post about distributed social networks: http://homehack.nl/distributed-social-networks/

EDIT 25 February 2019: I removed the Osada social network because the developers decided to abandon it. Instead they are concentrating their efforts on the Zap social network which is similar to Osada with one huge difference that Zap doesn’t support the ActivityPub protocol.

When to use Friendica over Diaspora*

This post contains some use cases where Friendica could be a better choice than Diaspora*

Lately I’ve came across discussions and questions about the difference between Diaspora* and Friendica. So, after an earlier reply today describing when it’s worthwile to use Friendica instead of Diaspora, I decided to expand on that post. On the surface both social networks look similar, they’re allow for blogging with a markup language to structure text, the interface shows similarities and they share most of the functionality. Although they were both released in 2010 Diaspora is much better known and has more users. So why use Friendica at all?

I therefore defined some typical use cases where Friendica could be beneficial:

  1. Being able to connect and communicate with contacts from various social networks of the Fediverse. Friendica supports different social networking protocols and federates with Mastodon, Diaspora* and Pleroma and others.
  2. Being able to automatically post from Friendica to several social networks (even non-federated and even to your WordPress blog) e.g. important for people that cast on multiple social networks at once. This service alone is one that some people are willing to pay for.
  3. Being able to follow and discuss certain hashtags over multiple social networks. See 1). Important if you don’t want to miss anything 😉
  4. To setup a forum for a certain purpose for multiple people to join.
  5. Being able to fine tune the Stream (/network in Friendica) in great detail e.g following a person but not on every topic, collapse all the images or collapse all reshares. I wrote an earlier blog post about this: http://homehack.nl/filtering-options-in-the-friendica-social-network/

There also features that Friendica is missing.

  1. A link to a website doesn’t show a preview on my current Friendica server squeet.me. This is for some people a very important feature that’s missing.
  2. The upload limit for a photo can be lower depending on the server. On the popular server squeet.me it is 781.25Kb this is way lower than the 4.2 Mb of Diaspora*. I guess the message is to carefully choose a server for your account.

All additional features of Friendica come at a price, complexity of the UI. This is I think the reason that Friendica is harder to master than Diaspora. Diaspora fulfils the needs of most people and the simplicity of the interface is in fact one of the strong suits of this social network. Friendica on the other hand is more for power users or people that absolutely need one of the use cases mentioned above.

Full disclosure I used both Friendica and Diaspora* and currently I don’t prefer one over the other.

EDIT 01-02-2020: Unfortunately the Diaspora* pod that I was on has seized to exist and I didn’t create an account on another pod since there is to much overlap with Friendica for me.

FLOSS tools to create a forum or community

With G+ closing in a couple of months community owners are searching for alternatives. I provide a number of FLOSS options.

Introduction

With the demise of G+ a lot of community owners are suddenly looking for a new home. Since a lot of G+ users despise FaceBook (and rightfully so) other social networks are mentioned. The problem with a lot of these networks is that they are centralized and proprietary making the users depending on the whims of the owner of the network. Below I summerize the FLOSS options for people interested in setting up a community. This is not an exhaustive list. I encountered these options after discussions often on G+ and I experimented with some of these options during the last couple of months.

Self-hosted or not

An important decisions is whether or not to host the forum or community yourself. If you want to host it yourself you’ll keep full control of the server however the maintenance is considerably more labor-intensive than with a non-selfhosted solution. You also need to install the software on a server and configure it.

Friendica (self-hosting possible)

Both are macroblogging social media networks that offer the possibility to create a forum. The UI of Friendica doesn’t look very modern but the functionality needed to use and maintain a forum is all there. Click this link to see an example of what a Friendica forum looks like. If you want to create a forum on a existing server please note that the administrator of this server can place limits to the forum e.g the number of participant or the number of forums that can be created by one account. Be aware that you’re a guest on someone else’s server.

A practical example. In the German town of Zwenkau the citizens are provided with a community platform, the Zwenkauer Flaschenpost, for online communication and discussion between citizens. This is all done with a standard Friendica install on a server. If you want to read more here is a link.

Movim (self-hosting possible)

Movim is social platform that let you share and chat. Movim is build on top of the XMPP communication protocol. A strength of Movim is that is federates and that everyone with a XMPP account (e.g Jabber) can connect. Once you’ve created an account it’s very easy to create a community. The UI looks modern but some community admin features are missing (or I couldn’t find them). As an example as an owner I couldn’t ban someone from the community. On the other hand I found Movim community the easiest to set up (in a non-selfhosted environment). This is a link to my Movim community. Also a word of warning if you create a forum on an existing server be aware that you’re a guest of that server and that restriction may be applicable.

I recently wrote a more lengthy post about the chat capabilities of Movim.

Mastodon (self-hosting possible)

Mastodon is a microblog social network that has a TweetDeck like interface. I was hesitant to add it to this list because the UI and the dynamic experience differ from a classical forum where the same post remains in the viewport for days or weeks. However when joining the right instance (=server) or create one yourself it may very well become a great dedicated community. Here is a link to mastodon.art an instance where artists can show their artwork.

Flarum (only self-hosting)

Open source forum software that is currently in beta. Nice, modern UI. I’ve read some concerns about the beta status and the stability of Flarum. If you want to see what the interface looks like here is a link. Here is a link to a guide how to install Flarum.

NodeBB (self-hosting possible)

Open source forum software with a modern UI. You can either self host for free or use a NodeBB hosting plan that comes with a price tag. Here is a link to the source of NodeBB. You can check the interface yourself on this website.

phpBB (self-hosting possible)

Forum software based on the PHP programming language. I know phpBB mainly because it’s used on the FreeCAD forum, a place that I visit sometimes. phpBB is feature rich and from a user perspective it’s a joy to use. The documentation about this forum software can be found here. Here is a link to the source code.

Discourse (self-hosting possible)

Discourse discussion management software with a modern UI. It can either be self-hosted or Discourse can host for you. The latter which is clearly the business model of Discourse comes at price tag. If you want to see what Discourse looks like take a look at the discussion forum of Diaspora*or Tom’s 3D community. Here is a link to the source code and another to the install guide.

EDIT: I removed the Osada social network because the developers decided to abandon it.

Last updated: 03 februari 2020

Filtering options in the Friendica social network

Friendica is a good alternative to the Diaspora* social network. One of the features that makes Friendica shine are various filtering options. This article describes them.

Diaspora* vs Friendica

About two months ago I created a Friendica account to make a comparison with Diaspora*.  I wanted to know if Friendica is a good alternative to Diaspora*. A problem that I have with Diaspora*, at least on my pod, is the lack of control of the stream. The stream contains all the posts from the hashtags and people that I follow. Although this is an excellent way to create a stream it also results in much unwanted posts. An example, if I follow someone on Diaspora* I get every post. If for instance I find another person interesting for his/her ideas about the Fediverse I also get all the kitty pictures. In this case I often end up ignoring the person entirely which is a pity.

Filtering in Friendica

Friendica provides much better control over the posts in /network (this is the equivalent of the Diaspora* stream). This is achieved with several filter options. Under /settings/addon these filtering options can be found. Here is a summary:

  • Collapse (=partially hide) posts from specified users with Blockem
  • Allow only specified languages. Other languages are collapsed (Language Filter)
  • Collapse posts with specified hashtags e.g nsfw (Content Filter)
  • Block specified users (Superblock)
  • Advanced Content Filter, a very versatile filter that allows to collapse posts on about every property found in a post, such as body text, title, author boolean combinations of properties. This is done in so called rules. The Advanced Content Filter uses Symfony’s Expression Language. The following link provides some examples https://github.com/friendica/friendica/wiki/Advanced-Content-Filter-addon. Advanced Content Filter enables the user for instance to collapse every post that has an image (and saves me a lot of scrolling) or has certain text in the body. A simple example, the rule body matches "/politics/" collapses every post that contains the word ‘politics’.

Furthermore Friendica displays at the top of a post when a filter is used. This way it’s easy to determine if the filtering works as intended.

All in all the filtering options of Friendica are a good way to control the posts in the stream improving the experience of the social network. The image filter and the language filter alone strongly reduce the amount of mouse scrolling for me.