Some thoughts on Mastodon search
The latest version of Mastodon includes search functionality. It's early days, but seems to work pretty well. Here are some of the interesting things I found when using it.
Search is complex - expectations
I don't mean the act of searching a database - that's routine - but I mean it is socially complex.
Lots of people left Twitter because it was too easy to search for them. For example, if you really hate people who support the wrong football team, it's trivial to search Twitter for people posting about that team. Then you can send them abuse. Or you can drag up old arguments. Or you can find something said years ago which sounds silly today.
So Mastodon was a haven. A place where it wasn't easy for twunts to pick a fight with you. Naturally, that means there has been some resistance to the idea of search - and that has informed its design decisions. By default, accounts cannot be searched. You have to make the positive choice to opt-in to search. And you can opt-out at any time.
That strikes me as a reasonable position. It adds a new feature for those that want it and keeps people safe if they'd rather not be bothered.
Search is complex - federation
The Fediverse is a collection of servers which share information with each other. You can only search the posts which your server knows about.
Here's what I mean. I post on mastodon.social
and you post on whatever.int
- because I subscribe to you, all your posts are sent to mastodon.social
. That means anyone on my server can search for your posts. No one from fursuits.example
follows me, so my posts aren't searchable by their members. But let's say @jeff@whatever.int
is followed by @sue@fursuits.example
- if Jeff reposts me, then that specific post is syndicated to the fursuits
instance and that specific post can then be found in search results.
A bit confusing - but necessary. This isn't a monolithic service like Twitter with a single database. It is a loose collection of distributed entities which share data. You cannot search the entire Fediverse.
Search is complex - images
Six years ago, I noted that you couldn't search Twitter for Alt-Text. But, I am pleased to say, Mastodon allows for that! Search results include the description of images.
This can be a little confusing. You might search for a phrase and see dozens of posts which don't contain it in their body. It's only when you hover over the image that you'll find what you're looking for.
I don't know if this is something which could be improved with a better UI? Perhaps some way of highlighting that it is the image which is the result?
Search is complex - domains
Searching text is complicated. Should a search for "mastodon" find posts with the words "mastodons"? Probably. Should a search for the word "the" find "there", "their", or "them"? Probably not.
Should a search for "example.com" find "example.com/blog"? Maybe. At the moment, it doesn't. So you can't use search to find who shared your website. Nor can you find people who are talking about a specific page on the web.
Update! This works! A search for shkspr.mobi -from:edent
finds all mentions of my website by people other than me.
Search is complex - operator discovery
As well as searching for words and phrases, you can also search metadata. For example, adding has:video
to your query will find posts with an attached video. Using is:reply
will find replies. And after:2023-08-27
will find posts after a specific date.
At the moment, there's no way to know what those options are. There's a discussion on GitHub which enumerates them but nothing for the casual user. Perhaps there needs to be an "Advanced Search" page? That's how most social networks do things.
Update! There's now a drop-down on the search box which shows you all the options.
Search is complex - what's missing?
Twitter let users search by number of likes & retweet - which was helpful for finding your most popular Tweets. That's not (yet) available on Mastodon.
Similarly, there's no way to search by geography. Twitter let users tag posts with their geolocation which could then be queried. Neither of those features are on Mastodon's roadmap.
I don't think it is possible to search previous edits of a post. That's probably a sensible decision.
Search is complex - unknown unknowns
One valid criticism of the Fediverse is that it is hard to search for interesting people, discussions, or posts. Hopefully this opt-in search makes it easier for people to meet new friends and form new ideas.
And, hopefully, the controls around it are strict enough that it will prevent abuse from running rampant.
I think searching is going to be primarily a good thing for the Fediverse. But what second and third order effects will this bring?
Alex says:
I think expectation of public posts not being found is misplaced. If people want safe closed communities they should go find some closed spaces and not post publicly with expectation that those posts won't be found. The fact that there's no full text search doesn't mean a bad actor can not scan a public instance in search of a victim.
I understand why people on Twitter might not want to get found. It's a single space, it doesn't provide an option to create a closed community. But that's not the case in the Fediverse. There's an option for closed communities. So post stuff you don't want found privately and let public stuff get found. Search for meta-info like retoots and likes might be useful but probably is not essential.
Discoverability of content is the main reason I personally am not on Fediverse. Back in the day I had a personal instance but neglected it because I couldn't find enough interesting content. Following people is nice but that's not what I'm looking for in Social Media.
Of all other points only federation seem like a hard problem. I'm sure there's some research on the topic that can be useful. Other's seem like easy problems. Images: we can add those to search. Domains: seems like a solved problem, let's ignore/downgrade importance of all too common words like articles. Operator discovery is basically UI/docs issue, a "good first PR"-level task.
Michael Stanclift said on vmst.io:
@Edent "Search is complex - operator discovery" this has been fixed but not deployed on all instances who are running it yet.
Jeff says:
One concern I have is a scenario where a user opts into public search, the changes their mind 6 months later. A normal user would expect that instantly, or after a re-index, their notes are no longer searchable.
But as you noted there is no guarantee that any other instance, like lazyadmin.social would respect those wishes or even have a way to identify that desire and implement it.
So to a non techie, unless all your posts are marked as local only, or you have some way of ONLY allowing your posts to be submitted to servers that respect your search options…this doesn’t really work.
Pippa says:
I was under the impression that your posts will be unsearchable again (after changing your mind) after about a week? I’m not sure where I read that or if the source was valid, so would also like more information on that one…
Kudra :maybe_verified: mentioned this.
Normal for '23 😷🇪🇺🍸 said on mastodon.social:
@Edent Badly need some modifiers
- Posted by specified person
- Date range
- Sort, reverse date order
- "word sequence" as well as contains Word And Sequence
More comments on Mastodon.