What is Mastodon, the software behind truthsocial?

In January 2021, President Trump was banned from Twitter and other social media sites.  Shortly after that time, Trump announced that he had plans to create his own social media site.  The most current version of this is supposed to be released by the end of the first quarter in 2022, and it is called TruthSocial.com.

Some people think it is a waste of time, because nobody is going to use it.  Others think that it should not be allowed, because Trump is too dangerous to be heard.

My personal view is that I believe in self censorship.  I want the tools to block stuff from the internet that I do not want to enter my home, but I do not want some tech company CEO trying to impose their values onto me.  If I want to visit Sloto Cash online casino, I should be able to visit that website or read an article about it or write about it in any way I want, positive or negative.

But if I do not want to visit that website and I want to prevent it even from being able to be accessed from my home, I should have the power (technology tools) to do that.  Just because person A is against online gambling, does not mean that they should be allowed to impose their personal values on me.  The same is true in the opposite direction.  Just because I may like to visit an online gambling site, it does not mean that if others do not want to, that they should be forced to have access to those sites from their home.

I do not know what exact feature’s Trump’s new website will have.  I just know that the software behind the TruthSocial.com website is Mastodon.  So I am going to take the next couple of hours to do some preliminary research on Mastodon and share what I find out with you, the reader.

What is Mastodon?  What is special about it compared to other open source CMS products?

Mastodon is a CMS system (content management system).  That means that the data is stored in a database, and the specific web pages are auto generated using software code.

The source code for Mastodon is available at https://github.com/mastodon/mastodon.  Any project that uses the Mastodon software has to include a link to the original Mastodon source code. This is not a requirement of other CMS systems like WordPress, Mediawiki, etc.  Trump actually got in trouble with the developers of Mastodon over this, because during the testing phase of the TruthSocial website, this link back to the source code was missing.

According the readme file on github, Mastodon is an open-source social network service based on ActivePub where users can follow friends and discover new ones.  Mastodon users can publish links, pictures, text, video, and audio.  All Mastodon servers are interoperable as a federated network (users from one Mastodon site can easily integrate with any other Mastodon site).  It can also integrate with any ActivePub site.

The technology that runs the Mastodon site is Ruby on Rails, React.js, Node.js, and PostgreSQL.  JS is Javascript and Node.js is the backend of Javascript.  A lot of projects are switching from using PHP on the backend to use node.js, so that they do not have to maintain Javascript on the front end and PHP on the backend.  Javascript is essentially run on both the front and back ends.

Feature: Sharing with others on other servers — good feature

One of the major advantages of Mastodon servers compared to others is that people can share with users of other servers.  For example, Christians may choose to run a server that is based on their values and beliefs.  The GOP runs their own server that is political.  Although there is supposed to be a separation of Church and State, there are times when the two intersect.  Something that is going on in the Christian community is of value to the GOP and/or something that is going on in the GOP community is of value to the Christian community.  So they share.

In other words, it takes away that whole “Only being on Facebook” or “Only being on Twitter”.  The servers  become more like channels on a Cable TV network.  One channel might be the Christian channel.  Another channel might be the cooking channel.  A third one might be the animal channel.  Then within each channel there can be series, “I love Dogs”, “Backyard Animals” on the Animal Channel while the Christian channel can have “Animals from the Bible”, and the freedom to share between the two servers still exists.

“Please mind that providing a public internet service involves moderation work and community management, and that such work becomes more complicated the larger your server grows.”

That statement is true.  So instead of having one mega server, for example Twitter or Facebook, there becomes a whole bunch of smaller servers where smaller entities can manage those servers without the isolation from other servers that currently exists today.

Mastodon API

As with most websites like Mastodon, Mastodon has an API.  This is run using REST technology.

What is ActivePub?

ActivePub is an open, decentralized social networking protocol based on Pump.IO’s ActivityPump protocol.  It provides a client-sever API for creating, updating, and deleting content, as well as federated server-to-server API for delivering notifications and content.

That is why Mastodon can communicate with any sever that uses ActivePub technology.  Because Mastodon also uses ActivePub technology.

ActivePub is a standard that was developed by the World Wide Web Consortium (W3C).  This is the same group that created the HTML, CSS, SVG, and other internet standards.  The ActivePub standard was published as a recommendation in January 2018.  But I would not worry too much about it being a recommendation.  That it is at the point where they feel that the standard is good enough for backbone technology to be implemented.  For example, with HTML and CSS, the browsers need to implement the standard (and work out any problems) before its starts becoming truly useable by website developers.

What is ActivityPump Protocol?

When you try to look up ActivityPump on Wikipedia, you are directed to the article Pump.IO.

Pump.IO is a general purpose activity stream engine that can be used as a federated social networking protocol which does what most people really want to do with a social network.  Pump.IO is written in Node.js and uses Activity Streams as the format for commands and to transfer data via a simple REST API.

What is “local” when talking about Mastodon timelines?

When people hear the words timeline and social media, they get a vision in their head of Facebook feeds or Twitter feeds.  But a Twitter Feed cannot interact or find a Facebook feed and a Facebook Feed cannot interact or find a Twitter feed.

But Mastodon is different.  Mastodon provides a way to discover all public posts.  But there is no global shared state between all Mastodon servers.  There is a way to filter the federated timeline to view only public posts created on your own server.  This is called the local timeline.  So local, in this context, means the Mastodon server, not your physical geographical location.

Can I follow people who are on another Mastodon server?

Yes, you can.  As long as you encounter a person within your app’s user interface, e.g. the web interface on your home server, or your mobile app, you can just click “follow” and you won’t notice a difference if that person is on your server or not.

No dogpile allowed!

Admins may optionally install full-text search. Mastodon’s full-text search allows logged-in users to find results from their own toots, their favourites, their bookmarks and their mentions. It deliberately does not allow searching for arbitrary strings in the entire database, in order to reduce the risk of abuse by people searching for controversial terms to find people to dogpile.

What are Mastodon List Timelines?

The List Timeline feature is something that is not found on Twitter and Facebook.  It allows you create multiple timelines.  Instead of just having one master timeline, you have the ability to create subtimelines.  For example, you can create one time called “friends and family”, another one called “politics”, another called “local community”, “Hobbies”, “Sports”, “religion”.  Oh, and of course, “work stuff”.  So you can log onto your Mastodon account to view information related to work without worrying about getting distracted with posts about other stuff that is not related to work.

Can I filter posts on Mastodon?

Yes.  This is another great feature of Mastodon.  You enter the keyword and then enter which timeline you want that keyword to be applied to.  So if you are dealing with you work timeline, you can filter out religion and politics discussions.  A good way to keep religion and politics out of work when your job has nothing to do with p0litics or religion.  You can even create a expire date for the filter.  Not sure why you would want it to expire, but it is nice to at least have that option.

There is also the ability to “drop” instead of “hide”, so the posts will not be seen even if the filter is later removed.  And, of course, the standard partial word vs. whole word option.

Expired filters are not deleted, so they can be reactivated at any time.  Maybe you want to filter non-work stuff during work hours or filter work stuff during your vacation.

At the user level, you can indicate if a user should be “muted” (can’t see their posts on your home feed), “blocked” (no communication), or “report” (to the site admins).  You can even hide everything from another Mastodon server.

What are some common features on Mastodon?

Mastodon has the well known hash tags, pinned posts, and profile directory.

In the settings you can choose your theme and you can choose the layout.  There are also confirmation settings.

For “sensative content”, it is hidden through a click through overlay.  You choose to always show or always hide media behind an overlay image.

Notifications by email or just on the server, as well as what notifications will be sent.

You can also indicate if you do or do not want your public profile to be indexed by search engines.

Default post options.

Filtering posts based on one or more languages.

Where are the Mastodon Plugins?

They do not exist.  That is a major disadvantage of the Mastodon system, because the main developers of the code base cannot think of everything.

What features are missing from Mastodon?

The main feature that I think is missing is to combine the filter option with the sensative content option.  I would like to be able to setup a filter where I can indicate that if certain conditions are met, the the post is considered sensative and the overlay image is placed.  Or the opposite.  Under certain conditions, the overlay image is not placed.  The feature should also include the standard whitelist and blacklist based on user and/or server.

Summary

I can definitely see why Trump chose to use this software for this social media site.  It is similar to Facebook and Twitter in terms of it being a microblogging style.  But I think that the ability to do filters is very important for a politcal website in 2021.  Yes, people want to not see certain posts, but giving the power back to the user instead of having some anonymous person in a large corporation making those decision is great improvement to social media.

I do not know if or what Trump’s development team will add to the standard Mastodon code base.  Not having plugins is a big deal, because it does allow third parties to create filtering algorithms that a user can use as a starting point.

But overall, I think that Trump choosing to use Mastodon was a good choice.

About Ambika Taylor

Myself Ambika Taylor. I am admin of https://hammburg.com/. For any business query, you can contact me at [email protected]