How Mastodon Could Use Labels to Improve Discoverability
My day began as it often does this week: I posted something to Mastodon tangentially critical of Mastodon, and people got grumpy with me. It's fine, I get it's just gonna happen, but as I often say, I prefer not to just complain, but to suggest how things might be better. That's what I'm doing today.
The Problem
Mastodon relies heavily on people using hashtags to allow other people to find their posts. If you post something without any hashtags, you have made it effectively impossible for anyone outside your followers to find it. Maybe you don't want your posts to be easily found, and that's fine, but it means that if you want to reach more people, you need to #write with #hashtags to allow other people to #discover your post.
As I said in my post, I don't like hashtags in other people's posts, and I don't like injecting them into my posts either. I find them to make reading harder as it feels like I'm parsing light markdown as I read what could be plain text.
Oh, and if you're using a screen reader or VoiceOver, it can get really disorienting.
Let's say for the sake of argument that general search for posts should not be allowed and that tagging posts is a better way to do things, then let's explore another option here.
The Proposal
What I would suggest is that Mastodon add support for tags or labels on posts. Adi Robertson actually wrote about this idea last month, which I agree with.
Basically, just like when I'm writing a post on this blog, the composer could show me a button for adding tags. Ideally, that composer would remember what tags I'd used previously, and show my most common ones near the top. Hell, maybe a third party app could integrate GPT and suggest tags based on what I've written in the post.
For a very direct comparison, this blog has tags that can be optionally added to each post. This one is tagged "concept" and you can see it at the top of the page. Clicking on it takes you to all posts I've done with that tag. Pretty convenient!
This is the same mock up as at the top of this post, but here's a quick mock up of what people could see in their feeds (this is riffing on Ivory's excellent layout).
I think this is a usability win in a few specific ways:
- It's easier for people to write like humans, not as SEO machines.
- Legibility of posts goes up since it becomes plain text without any inline markup.
- Accessibility features like VoiceOver would work better since they would not need to read out the word "hashtag" in the middle of sentences.
That last one is for real, too. Think about how the first sentence in that post in the screenshot sounds to someone using VoiceOver:
Hashtag Google now lets you sign into your account with a hashtag passkey.
When what they really should hear is:
Google now lets you sign into your account with a passkey.
Oh, and a couple disclaimers I really should spell out in case people take this the wrong way:
- This proposal would not take anything away from people who like hashtags and want to keep using them as they always have.
- When a user clicks on one of the tags above the post, it would take them to a feed of people on the fediverse using that tag (including posts from people who are still using hashtags).
- The position of those tags is negotiable and every app could choose where to put them. Maybe they're better below the post content, that's fine! Maybe users could flip a switch to hide them entirely.
The Workaround
The obvious workaround here is to write your post like a human and then add your hashtags for discoverability at the bottom. This is honestly a pretty decent solution, and Instagram influencers the world over have made it work there. Maybe this is just fine the way it is 🤷♂️
For me, tags just feel more intentional and would make the experience a little better.
I'm not sure if tags are supported in the ActivityPub standard, but I'd hope they could be so that when blogging platforms like WordPress and Tumblr get up and running with their ActivityPub integrations, Mastodon will be ready to properly display tags/labels from those blogs in the Mastodon UI seamlessly.