Mastodon Clients Could Do So Much More
Much of the appeal of Twitter in its early days was what the community made of it. @mentions, #hashtags, and even a bird as the avatar of Twitter—all came from community members and outside developers. Third-party clients reached much deeper than Twitter’s own Web app and basic platform apps. Software makers offered alternative interfaces, cleverly constructed bots tweeted information from automated systems, researchers extracted insights from trawling the data, and more.
But as Twitter focused on increasing engagement in the service of making money—and as the company flails wildly in the insanity era of Elon Musk—many of the unusual uses of Twitter have fallen away. (The most recent Twitter implosion entry: users posting just one or two tweets being told erroneously, “You are over the daily limit for sending Tweets,” an error previously reserved for posting what seems like a thoroughly excessive 2400 tweets per day.)
The rise of Mastodon, with its open-source, federated nature, has gotten me thinking (see “Mastodon: A New Hope for Social Networking,” 27 January 2023). If developers can break free from thinking of Twitter as the apex of microblogging, we could see tools that would radically change and improve our ways of interacting. Here are a few ideas that have occurred to me; share yours in the comments below and on Mastodon, where we can hope they’ll catch the eye of developers.
Interact with Mastodon More Like Slack or Discord
I can’t take credit for this one. I saw the basic idea roll through from a developer when I was first playing with Mastodon, but now I can’t seem to construct a search that finds that post. (Search is effectively local and unfederated.) My version of the idea is that, instead of a firehose timeline where every post appears in chronological order, a Mastodon client would present posts in a hierarchical, columnar fashion, much like messages appear in Slack or Discord channels. (Columnar Mastodon clients already exist, but they merely devote a different column to different timelines: your feed, notifications, messages, and profile, say.)
The first column would contain a list of people you follow, sorted alphabetically, with an option to pin favorites at the top and another option to show only those people who had new posts. The second column would naturally show posts from the selected person, and the third column would contain replies to the selected post. Below those three columns, an optional content pane would show the first linked Web page from the selected post; if it had multiple URLs, clicking another one would replace the previous page. (Bonus points for anyone who wants to create a mockup of this app interface.)
The big win of this technique would be that you could more easily pick and choose who you wanted to read at any given time, just as you can focus on particular people or channels in Slack, Discord, and other chat environments. Providing a Web view of linked content could also speed up reading by eliminating the need for a trip out to your browser for every link.
Limit Reading Time
Social media is an endless scroll. That’s one of my main complaints about it. There’s no way to “finish” reading unless you follow only a handful of people who post sparingly. Even TidBITS Talk is finite, despite its roughly 1400 posts per month. I read every post there, and if I skip a day or two, I can catch up easily. I can devote significant time to TidBITS Talk because it’s a key part of the overall TidBITS publishing model and thus is part of my work day. But I don’t have time or attention to spare for random content from social media, even if some of it comes from friends or other fascinating people. (Family doesn’t intersect with social media for me because we’ve successfully centralized all family communications in Slack, which is also finite; see “Fed Up with Facebook? Move Your Family to Slack,” 12 February 2019.)
I’d like to see a Mastodon client designed with “finishability” in mind. You could set a certain amount of time per day that you wanted to read Mastodon, and the app would manage that. It might prioritize what you see by preferring posts from certain people or that are connected to messages you replied to, favorited, or boosted. Then you would move on with your day without feeling like you were missing out because the next post might be life-changing (hint: it never is). Screen Time might seem like a solution, but I find it frustrating because it’s an arbitrary cut-off after X minutes, and I know more posts are waiting.
Instead, my hypothetical Mastodon client could estimate how long it would take to read a post, make some assumptions about whether you’d also read replies, build in some time for clicking out to external pages, and then display a selection of posts. The technology for this shouldn’t be difficult. Many blogs and publications now display a reading time estimate so you can get a sense of whether you would be committing to 4 minutes or 25 minutes before you start. It could also observe your reading speed and adjust accordingly. The trick is that when you say that you want to read 10 minutes of Mastodon, the client would have to make it seem like you had actually finished at the end. A nice “You’re done!” animation would be welcome.
In the meantime, you can simulate a finite Mastodon by tuning lists or using hashtags. In both cases, filtering by a set of people or a topic dramatically reduces what appears. These stop-gap measures for “finishing” work for now because fewer people post on Mastodon and tend to post less frequently.
Could Local Content-Selection Algorithms Serve Users?
Unlike Facebook and Twitter, which employ algorithms that choose which posts you see based on what they think will cause you to keep reading and replying, Mastodon apps generally present posts solely in chronological order, with the newest first. It’s sad that a simple chronological list is a refreshing change from the manipulation of social media algorithms, but algorithms don’t have to be evil. The desire to bring the best and most interesting posts to the fore isn’t problematic on its own; the concern is that these black box algorithms are designed to serve the needs of their corporate masters, not users.
Without a profit-driven company at the heart of Mastodon, I’d suggest that the time is right for Mastodon clients to revisit content-selection algorithms, but with two key differences.
- The algorithm should be designed to serve the user, and only the user, in ways specified explicitly or implicitly by the user. (The lack of a corporate overlord also means there’s finally room to revisit the discussions surrounding Asimov’s Three Laws of Robotics in the context of software agents.)
- The algorithm’s rules should be at least visible to the user, and preferably actively editable. It shouldn’t be difficult to specify people or topics that interest you more than others.
Tasking a client-based algorithm with what posts to show would also increase the utility of a feature that limited reading time because the algorithm could select only those posts most likely to be of interest. Mastodon servers are unlikely ever to adopt an API-accessible algorithmic feed, so we’re reliant on app developers experimenting in this area.
Add Categorization to the Mix
Adding categories to posts would let you see discussions that are topically related, something that’s not possible with social media now. Let’s face it: Twitter and Mastodon both suffer from an extremely short attention span when you look solely at the timeline. Posts jump from topic to topic haphazardly.
Chronological ordering works well on a service like Strava, where every post is a friend’s workout, but it’s just schizophrenic with quickly updating microblogs. Your feed might include someone linking to a long read about an important but depressing topic, others heatedly discussing last night’s sportsball game, a comedian trying out new material, and extreme weather warnings from a bot. They’re all interspersed with one another, forcing you to make mental context jumps every 20 seconds. That can’t be good for our brains.
The popularity of hashtags and trending topics on Twitter shows the extent to which people like to stay on one subject for a while before moving to another. I’ll admit that whenever I do end up loading the Twitter page, I can’t avoid looking at the What’s Happening box. I’m very seldom interested in anything there, but on the rare occasions I click through, I appreciate that all the tweets are inherently related.
We’re treading into the world of AI here, but if an algorithm could automatically categorize Mastodon posts, it would enable users to focus on specific topics in the Mastodon content stream. With a Slack-like Mastodon client, categories could appear alongside people, much like Slack channels mix with direct messages. You could pin favorite categories, but others would come and go as associated content ebbs and flows. Because machine learning benefits from training, an app that started with loose categories and let you provide feedback could rapidly produce worthwhile results.
It’s still early days, and most Mastodon clients I’ve seen are nearly identical. I get that developers are still polishing their interfaces and figuring out how to handle Mastodon’s hypergrowth spurt. But I hope that, once developers have nailed the basics of this bigger ecosystem, they can turn their attention to taking advantage of the openness of Mastodon to innovate rather than merely copying Twitter clients.
What radically new approaches would you like to see in a Mastodon app?
There’s already some degree of manual categorization possible. You can follow a hashtag and view just that hashtag. You can organize your contacts into lists and view just one list. On the iPad, Toot! shows all of these options in the sidebar, I think.
I do think there’s a strong case for client-side algorithmic sorting or highlighting of certain posts.
I think that what will be more interesting is not Mastodon per se but the fediverse as a whole. Right now there are various fediverse projects that mimic Youtube, Instagram, Goodreads, etc. And just yesterday, it occurred to me that rather than setting up separate accounts to use each of the services that interest you, you should be able to have a home account on one instance that provides utility services (user authentication, contact management), and hook in those other services as something like plugins.
I would like to schedule sending posts akin to how Buffer.com works.
This different enough for you? GitHub - quadrismegistus/mastotron: Different interface to mastodon
Some clients can do that, e.g. Tusky for Android.
What about groups/communities, like they have in FaceBook, or Reddit, or in my community software (remember WebCrossing?).
That provides a community feel, and and easy way to leaf through old discussions, and store and find resources.
Not consistent with fleeting social network like Mastodon?
Some sources say users are declining from a peak of 2.5 million to 1.4 million.
Thanks for the article! You brought a few things into focus for me. I almost stopped using Twitter a few years ago because of the problems you discussed. That was long before Musk entered the picture.
I will add Mastodon to my tool set and give it a try.
I think you have made the Fediverse very small by wanting to take apart Mastodon and put it back together differently. Mastodon is way different (and imo better) than Twitter under the hood. Its ok to want to make Mastodon better, but recognize it as a singular expression and approach to the vastness of what can be built on the activitypub protocol. There are literally a hundred different projects right now, all capable of interacting with other fediverse apps, including Mastodon: Forums, book clubs, photo sites, video sites, booking marking, events, blogging, long form writing, pod casting, contact pages, and so much more. Unlike Twitter, anyone is allowed to build on this platform. But to free your full creativity, stop thinking of it as merely Mastodon.
fediverse.info | The bespoke fediverse guide.
The issue for me is time suck. All social media tends to do just that, unfortunately.
Limiting your time is OK, but ultimately you can spend 10 mins reading unimportant stuff or the same time reading something of interest/use – the problem is finding it amongst the plethora of fluff, regardless of which social media network you’re using.
Good point, and I guess you could make a list for each individual to simulate what I was suggesting.
Oh, that’s interesting. I’ll have to ponder that.
Whoa! That’s very cool. Just diving in now. I’m not sure it’s useful, but it’s fun to watch.
I think that’s a fine idea, though I don’t have a sense of how to accomplish it with what I know about Mastodon right now, and it feels like it might need more than client-level capabilities.
That’s a fair point, and I’ll admit near-complete ignorance of what’s possible in the Fediverse. However, what sets Mastodon apart, I’d suggest, is the network effect. Features are important, which is why I was focusing on them, but there has to be a compelling group of people for any Fediverse service to survive.
There are a couple of implementations of groups on top of Mastodon. The general idea is someone sets up a group account, people follow the group account, and the group account broadcasts anything sent to it back to all the group members.
FWIW, I just tried this and hated it because posts that contain the followed hashtag show up in my Home feed, which is patently not what I want. That just increases the clutter, rather than letting me see what’s being talked about with #ChatGPT, for instance. (This is in the Mastodon Web client; I don’t know if other clients handle following hashtags differently.)
Yeah, following a hashtag is just like following a person, and that’s happening at the back end—if you follow a tag, it’ll be in your timeline regardless of client.
Near as I can tell, there’s not a canonical way to set up a hashtag as a “saved search” so that you’ve got quick access to it but it’s not in your timeline.
I’m looking forward to what Mona or Ivory may do with this going forward. One thing that both allow (and is not standard Mastodon behavior) is adding a user to a list and then removing that person from your home timeline, replicating what Twitter allows (i.e., add a Twitter account to a list without following the account.)
I have the TestFlight Ivory client for Mac, as well as the Mona beta for Mac. Both are already great IMO. (The Mona beta for MacOS is here.)
As for the topic of the thread - frankly, what I want from Mastodon is to do what I used to do in Twitter in a third-party client. That’s the way that I see the service right now. The one thing that I am missing so far is federation-wide search of posts. Hashtag search is fine, but I’m looking for all posts or, I guess, (toots ) that mention my town, for example, as a way to see what’s going on in my town.
Several folks have figured out which developer had the idea about treating Mastodon more like Slack and connected me. And, his Ebou app is now available in TestFlight. It’s very early days, but it’s an interesting approach.
The Mastodon developers made an intentional decision not to allow full-text search out of concern that it would be used to target marginalized people. I know of one opt-in search engine.
And don’t forget Apple Music and iPod, which were developed by Steve Jobs specifically to kill free peer to peer piracy. There’s also Spotify, which hasn’t come close to posting anything resembling a profit in its years of existence.
Join the discussion in the TidBITS Discourse forum