Tutorial – Mastodon
Tutorial – Mastodon
The open and simple Mastodon API makes it easy to create applications to interact with this federated microblogging platform. Here are some of the clients that the community has come up with and how you can use them.
Last issue [1], I introduced the Fediverse [2] and, in particular, what is becoming the rising star in the federated universe: Mastodon [3]. Mastodon, a microblogging platform á la Twitter, is succeeding because it is simple to use, while at the same time packed with features. It comes with none of the shady shenanigans proprietary platforms inflict upon their users, and it looks slick, cool, and attractive.
Thanks to Mastodon's open and simple API, you can easily write scripts to interact with your account. This has led to a whole gaggle of web clients, desktop and mobile apps, and command-line tools for Mastodon.
Web Clients
To begin with, there is Mastodon's own default web interface. Your first interaction with Mastodon is probably going to be through this. It comes with a lot of features, so many that I dedicated a large chunk of last month's article to explaining all of Mastodon's ins and outs. That said, there are more web clients out there.
Halcyon [4] is one of them. Halcyon is good if you want to enjoy the simplicity of the good, old Twitter look and feel (Figure 1) – from back when Twitter actually looked good.
![](/var/linux_magazin/storage/images/issues/2019/228/mastodon-clients-post-line/figure-1/755724-1-eng-US/Figure-1_large.png)
Then there is Mastodon Scheduler [5]. More than a web client for Mastodon, Mastodon Scheduler is a web application, one that lets you schedule toots to be posted at a later date. A word of warning, you cannot add attachments to posts submitted with Mastodon Scheduler.
For Mastodon Scheduler to work, you need to register a new application with your account. Log in to your Mastodon account, go to Settings | Development and click the New application button. Fill in the Application name text box with, say, Scheduler (although the name does not seem to matter all that much), and click SUBMIT at the bottom of the page. This will log your application with the federated network.
Now, if you click on your application's name, it will show a list of three keys at the top of the page. The key labeled Your access token is what you need to input in the Access token text box on the Mastodon Scheduler form.
Finally, Pinafore [6] is another web-based front end, which may not seem to add anything new until you try it on a mobile device (Figure 2). Then it makes sense: On a tall, narrow screen, it makes Mastodon much less intimidating than using the default web interface.
![](/var/linux_magazin/storage/images/issues/2019/228/mastodon-clients-post-line/figure-2/755727-1-eng-US/Figure-2_large.png)
Mobile Apps
Then again, there are a lot of mobile apps that you can use to toot on Mastodon. Tusky [7], for example, is a good-looking, entry-level app. It allows you to manage several accounts simultaneously and post, boost, and draft toots. When you are browsing your timelines, you can swipe right or left and see another timeline, so you can swipe from your home, to notifications, to local, to the federated timeline, and then back again.
If you want something with more features, check out SubwayTooter [8]. Apart from allowing you to manage several accounts like Tusky, the array of options is impressive – tap the hamburger menu icon in the lower left-hand corner of the app to see them all. In addition to being able to swipe through multiple columns like in Tusky, you can display two columns at the same time when you hold your phone horizontally (Figure 3) and add new columns to the list.
![](/var/linux_magazin/storage/images/issues/2019/228/mastodon-clients-post-line/figure-3/755730-1-eng-US/Figure-3_large.png)
To do this, say you want to add a column that shows all posts that contain the #linux hashtag. Tap the hamburger menu (bottom left), tap the search icon (a magnifying glass), and type in your search term. That in itself already creates a new column with all the search results. However, if you tap the first result containing the hashtagged term, it will create a new column with all the toots containing the hashtag.
At the bottom of the screen, you have a kind of map that shows you where you are in the list of columns and what columns you have on the right and left. Your home timeline is represented by a house icon, notifications are a speech bubble with an exclamation mark, the local timeline is an icon of a running man for some reason, and the federated timeline is a man on a bike.
You also have a column for liked toots (represented by a star icon) and a column for conversations with other users (two overlapping speech bubbles). A hashtag column is represented by a #, and a search is represented by a magnifying glass.
If you want to get rid of a column, just tap the X in the upper right-hand corner. You can reorder columns by tapping on the hamburger menu and selecting Columns list.
SubwayTooter's other interesting feature is the possibility to schedule your toots directly from within the app. This is something that is built into Mastodon's protocol (supposedly). Some servers do not support scheduled toots, and others seem a bit flaky. Either way, it's a great idea that I am looking forward to seeing implemented more universally in the Fediverse.
Precisely to avoid the kinks, Fedilab [9], an app I started talking about last issue [1], adds one more feature: scheduling from the device itself. When you write your toot, you can choose to schedule and then decide whether you'd prefer to schedule it on the server (which, as mentioned, may not work) or let the app take charge. In my experience, the latter is more reliable. Fedilab also allows you to swipe through columns and add new ones, just like SubwayTooter.
Desktop Applications
While there are plenty Mastodon clients for mobile phones, desktop clients are pretty thin on the ground. The only one that seems to work is Whalebird [10], an Electron-based application. In other words, it is basically a thinly veiled web app wrapped in a desktop interface (Figure 4).
![](/var/linux_magazin/storage/images/issues/2019/228/mastodon-clients-post-line/figure-4/755733-1-eng-US/Figure-4_large.png)
The first time you run Whalebird, you give it your instance and your login details, and it will open your Mastodon instance in a web browser and ask you to authorize the application. Once you do that, it will give you an authorization code that you copy and paste into Whalebird.
Whalebird is pretty basic. Although it supports managing several accounts, it can only show one column at a time, and there are no scheduling features. It is quite pretty to look at, though.
The other tested clients did not run, did not compile, or did not contain the boasted hooks to Mastodon.
Buy this article as PDF
(incl. VAT)
Buy Linux Magazine
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters
Support Our Work
Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.
![Learn More](https://www.linux-magazine.com/var/linux_magazin/storage/images/media/linux-magazine-eng-us/images/misc/learn-more/834592-1-eng-US/Learn-More_medium.png)
News
-
NVIDIA Released Driver for Upcoming NVIDIA 560 GPU for Linux
Not only has NVIDIA released the driver for its upcoming CPU series, it's the first release that defaults to using open-source GPU kernel modules.
-
OpenMandriva Lx 24.07 Released
If you’re into rolling release Linux distributions, OpenMandriva ROME has a new snapshot with a new kernel.
-
Kernel 6.10 Available for General Usage
Linus Torvalds has released the 6.10 kernel and it includes significant performance increases for Intel Core hybrid systems and more.
-
TUXEDO Computers Releases InfinityBook Pro 14 Gen9 Laptop
Sporting either AMD or Intel CPUs, the TUXEDO InfinityBook Pro 14 is an extremely compact, lightweight, sturdy powerhouse.
-
Google Extends Support for Linux Kernels Used for Android
Because the LTS Linux kernel releases are so important to Android, Google has decided to extend the support period beyond that offered by the kernel development team.
-
Linux Mint 22 Stable Delayed
If you're anxious about getting your hands on the stable release of Linux Mint 22, it looks as if you're going to have to wait a bit longer.
-
Nitrux 3.5.1 Available for Install
The latest version of the immutable, systemd-free distribution includes an updated kernel and NVIDIA driver.
-
Debian 12.6 Released with Plenty of Bug Fixes and Updates
The sixth update to Debian "Bookworm" is all about security mitigations and making adjustments for some "serious problems."
-
Canonical Offers 12-Year LTS for Open Source Docker Images
Canonical is expanding its LTS offering to reach beyond the DEB packages with a new distro-less Docker image.
-
Plasma Desktop 6.1 Released with Several Enhancements
If you're a fan of Plasma Desktop, you should be excited about this new point release.