paritybit.ca

Mastodon Is Dead, Long Live Misskey šŸ®

Author: Jake Bauer | Published: 2021-08-05

This article is pretty old and the landscape of Fedi has changed a bit. There is now a fork of Pleroma called Akkoma and forks of Misskey called FoundKey and CalcKey which all seek to solve various technical and social shortcomings with their respective projects. The server I am on right now uses Hometown, a fork of Mastodon.

Okay, so, Mastodon isn’t actually dead, but some recent happenings and a long-standing trend of the lead developer ignoring features beneficial to smaller instances have led many to start looking at other options, be it forks of Mastodon, or other software entirely. Recently, I and many others have taken a look at Misskey, an alternative Fediverse software that also uses ActivityPub and can communicate with both Pleroma and Mastodon instances.

What’s Going On With Mastodon (and Pleroma)

Recently, Eugen, the lead developer of Mastodon (also known as Gargron) released an official Mastodon iOS app which lacks basic features which many users deem important, especially for smaller communities. As of the time of writing, the app seems to intentionally be missing the ability to view the Local timeline (the timeline consisting of posts only from users of the instance you are on), and the Federated timeline (posts from all other instances which have federated with the one you are on). [Source]

This, plus the tendency for Gargron to deny useful patches such as Local-only posting and configurable character limits, has led to forks, such as glitch-soc, and the usage of other software, such as Pleroma.

For the time being, things seems to still be… okay. Mastodon is well-funded and nothing has yet changed for the desktop site or the software as a whole, but this could change at any moment depending on where Gargron wishes to take his software. This isn’t necessarily a bad thing depending on his goals for the software, but for those of us who want the Fediverse to be made up of a bunch of smaller, more community-focused instances as opposed to a set of large Twitter-like structures, the future doesn’t look hopeful.

Furthermore, Pleroma’s development funding has recently been cut, stagnating development and disappointing many users who were looking forward to exciting new features such as groups. There are… other issues with Pleroma, but I will not talk about them here.

Okay, So What Even Is Misskey?

To summarize, Misskey is another bit of Fediverse software, similar to Mastodon and Pleroma, but with far more features, and a far nicer and more polished-feeling UI. It is currently developed by one person, syuilo and is supported by a small amount of corporate funding, combined with some Patreon contributions.

At a glance, here are some of the features it has:

You may have heard of some trouble with Syuilo facing burnout and funding being cut. This is not untrue, but since Syuilo announced this, they have received some more funding, and have re-structured the way they develop the project. The project is far from dead, and with the recent boost in popularity, it could see development pick up againā€”hopefully in a healthier way this time.

How Is It From an Admin Perspective?

Having administrated Mastodon, Pleroma, and now Misskey for single-user instances, I can confidently say that Mastodon is the heaviest and Pleroma and Misskey are much lighter. Misskey is heavier than Pleroma, but not by terribly much; both are far lighter than Mastodon. There are also murmurings that Misskey scales better than Pleroma (which already scaled far better than Mastodon), though more insight is probably needed from the admins experienced with Pleroma.

Resource Usage

As far as my own servers: at this moment, the Pleroma server (Debian Buster) is using 685MB of RAM with a load average of 0.01 0.04 0.07 whereas the Misskey server (Debian Bullseye) is using 848MB of RAM with a load average of 0.35 0.18 0.15. Both are running on Vultr VPS instances.

Misskey tends to have more big bursts of CPU usage, so, in my experience, it is helpful to have more than one CPU core for your Misskey server. You also need to configure swap or have a minimum of 2GB of RAM to compile Misskey because it is a Nodejs project. You can probably get away with a $10/mo VPS from Vultr, DigitalOcean, or Linode for servers with a handful of people, but you will probably want to opt for the $20/mo VPSes for between 15 and 50 people. For example, @razzlom\@quietplace.xyz runs a Misskey instance with 50 users (approximately 10 active users) without ElasticSearch and they report that this uses 50-60% of 8GB of RAM and 1-10% of 4 AMD EPYC cores.

Admin Features

From what I and others have seen so far, the admin features of Misskey are amazing and the admin UI is much better than any other Fediverse software so far.

For example, you can see the size of various database tables, the server logs, the server resource usage, ALL media that has been uploaded to your server, and more from within the UI. Take a look:

The Admin Overview - Showing an overview of server resource usage and activity
The Federation Panel - Showing stats about which servers might be down
The Admin Overview
The Database Panel - Showing stats about various table sizes

Some other excellent features which are either missing from Mastodon, Pleroma, or both are:

How Is It From a User Perspective?

In short, it’s unlike any other Fediverse software that currently exists. It is packed full of useful features and, even though some stuff can definitely be improved, it is exciting to see just what Fedi can be.

Timelines

With Misskey, you have the same sorts of timelines you expect from other Fediverse software. The table below summarizes which posts each timeline displays (note that “Home” post visibility is equivalent to “Unlisted” in other Fediverse software):

Source Timeline
User Post Visibility Home Local Social Global
Local (Following) Public X X X X
Home X   X  
Followers-only X X X X
Remote (Following) Public X   X X
Home X   X  
Followers-only X   X X
Local (Not Following) Public   X X X
Home        
Followers-only        
Remote (Not Following) Public       X
Home        
Followers-only        

This behaviour is, in practice, slightly different than Mastodon, and quite different from Pleroma.

Health

Overall, Misskey seems to encourage more genuine social interaction compared to other Fediverse software and traditional social media. For example, there are no favourites on Misskey. You may see the “Favourite” option in the menu underneath a post, but this is simply a bookmark function. It is truly saving a post that you really like as opposed to behaving, in practice, as a meaningless “Like” button or read-receipt.

Instead, Misskey features emoji reactions to posts as the main way (aside from boosting) of interacting with posts. You can react to a post with a regular Unicode emoji (which other Fediverse software that supports this can see) or with custom emoji (which only Misskey users can see). This generally results in much more thought put into how you wish to react to a post, with “Favourites” from users of other software simply showing up as the thumbs up emoji.

Furthermore, the style of timeline that Misskey and Mastodon have tend to encourage more healthy interaction and consumption than Pleroma’s. Even though all social media is unhealthy to the degree that many of us use it, Pleroma’s timeline encouraged doomscrolling and negative interaction in a way that neither Mastodon’s nor Misskey’s do because it shows you absolutely everything that people you follow post which tends to drag you into threads that you really don’t involve you or need to involve you. I can personally attest to this, since I have been hosting and using Pleroma for over a year now.

Groups, Channels, Pages, Clips, Galleries, and Antennasā€”Oh My

This Misskey’s bread and butter in my eyes and what makes it stand out so strongly from the other ActivityPub-based software. There is a lot of fun to have with these features, though not all of them are federated just yet.

Groups are (currently) local-only collections of users to which you can send messages. Think of it like a group chat in applications like Telegram, Matrix, or channels like in IRC.

Channels are local-only posting groups to which you can post notes to only the specific people who are subscribed to that channel.

Pages are static pages on which you can put almost anything you want, including writing AiScript (a Misskey-specific scripting language) to add functionality to the page. Think of it a bit like GitHub Pages or something similar. You can then link these pages, and others can view them on your instance. Here is an example of a page.

Clips are like bookmarks but they can be organized and made public. Think of them a bit like Twitch or YouTube livestream clips, though text-focused instead.

Galleries are collections of public photos that others can see when they look at your gallery on your instance. The galleries themselves are not yet federated, so you do have to go to the person’s instance to see their gallery, but it provides an Instagram-like look at the media they’ve publicly uploaded and chosen to make available.

Antennas are possibly one of the coolest features. They are effectively custom timelines. You can make an antenna that just shows posts from specific users and notifies you when they post something new, you can make an antenna that collects posts containing or excluding certain key words, or you can make an antenna that collects only posts with files attached. If you want to emulate Pleroma’s timeline behaviour, you can even make an antenna consisting of “Notes from following users” with “Show replies” checked.

Your Drive

Your drive is possibly one of the single most useful features on Misskey. You are allocated a (configurable by the server admins) amount of storage space you can use for files uploaded to your drive and you can store whatever you’d like in there. If you want to upload a bunch of memes to have them easily on hand whenever you want to react to someone or if you want to simply re-share a file you shared before without having to re-upload it to the server or dig through your old posts, you can do that easily with the drive.

My Drive with an emoji folder and several other images.

Apps

App support is a little limited at the moment. Since Misskey is not compatible with the Mastodon API, one can’t use apps like Tusky or Tootle with it. There are, however, a few apps available. Namely SocialHub for iOS and Milktea for Android.

One can also use Misskey in the browser, and it provides a reasonably snappy experience, but will most likely use more data than a dedicated app.

Other Various User Features

Some other excellent user-facing features which are either missing from Mastodon, Pleroma, or both are:

A threaded conversation in Misskey.
A post with MFM showing off LaTeX.
.tabs ~ * div[tabindex="-1"] {
    overflow: visible;
    contain: none;
}

.tabs ~ * div[tabindex="-1"] .reply-to {
    position: absolute;
    left: 2%;
    bottom: calc(100% - 1em);
    max-width: 85%;
    box-sizing: border-box;
    background: var(--panelHighlight);
    z-index: 1000;
    padding: 20px 24px;
    box-shadow: 0 .5em 2em rgba(0, 0, 0, .5);
    opacity: 0;
    visibility: hidden;
    transition: opacity .2s, visibility 0s ease .2s;
}

.tabs ~ * div[tabindex="-1"]:hover .reply-to {
    opacity: 1;
    visibility: visible;
    transition: opacity .2s ease .5s, visibility 0s ease .5s;
}
My sidebar with some widgets.

The Rough Parts

On The Admin Side

Of course, not everything is without its caveats. For those used to Pleroma’s MRF system, Misskey doesn’t have anything like that. Admins can defederate from a domain and can silence and suspend individual users, but there are no options for a user to silence a whole instance themselves or for an admin to only strip media from an instance, for example.

On one hand, this does limit what moderators can do for their instance, but, on the other hand, if an instance really is causing enough trouble to bother your users and their moderators aren’t responding, just blocking them is probably what you’ll want in the end given that, more often than not, those kinds of instances just keep causing more and more trouble. It also keeps your options clear and simple.

One of the other downsides to administrating a Misskey instance at the moment is the lack of bulk emoji import support. Although it’s trivially easy to add, tag, and categorize emojiā€”even from remote instancesā€”it is currently impossible to import a large amount at once. What you will probably want to do instead is go to your Drive, create some folders to organize your emoji, upload them all from your PC into the folders (you can upload more than one at a time), and then go to the Custom Emoji settings, choose import from Drive, and click on all of the emoji you wish to import.

This isn’t such a big deal if you only have maybe a couple hundred emoji at the most, but is more tedious than it could be. The same goes for categorizing and tagging those emoji.

Finally, there is currently an issue where Misskey has trouble federating with profiles that have bios which are too long. This has been fixed.

On The User Side

Currently, there are a few things which could be improved. For one, there is no option to limit streaming of new posts when you are scrolled to the top of your timeline. Unlike in Pleroma, where you can choose to have posts stream in as long as you are scrolled up or click a button when you are ready to see new posts, in Misskey this is not an option which can be frustrating as posts move down as you were reading them.

Another minor issue is that Antennas don’t show your own posts, unlike the other timelines. Although this isn’t a huge deal, many people like to see their posts as part of the conversation so it’s a bit weird to type a response and not see it appear in the custom timelines.

Also, mutes can be a little bit leaky. If you have a user muted, you can still see conversations involving them since it seems to only check post authors and doesn’t include mentions. A boost of a reply to a post of a user you have muted can also make it through the filter.

Finally, there are a few minor other UI issues such as notification dots getting stuck on (though you can hide them with custom CSS or mark all notifications read in the settings), some modals not being dismissable with the Esc shortcut key, and there is no option to play gifs or other media only when you hover over them.

Overall, these issues haven’t bothered me much and I consider them pretty minor compared to the benefits of Misskey, though your experience might differ.

In Conclusion

Although there are things yet unfinished with Misskey (as there is for all the other Fediverse software), it is already miles ahead of the rest of the Fediverse software I’ve tried. Yes, there are some rough edges and there might be UI elements or UX aspects that some don’t like or prefer, but at least for me, and for many others who have tried it over the past couple days, Misskey really seems like the future of the Fediverse; other software feels like it’s stuck in an old paradigm, trying to copy too much what Twitter or 4chan are.

Plus, since the seemingly overnight switch of so many users (at least in my circle) to Misskey, there has been a lot of work to figure out features, document things more thoroughly, and provide things like the aforementioned patch which fixes federation for people with long bios. Many of the issues I have with Misskey are minor and can be readily fixed.

If you check out Misskey and like it, please consider donating to Syuilo to keep development going. The future is bright for Misskey.