Technical Musings: Why Mastodon Sucks, Part II
This is continuing on from our previous post, which sought to partially answer the question: Why does Mastodon suck? As I alluded to in the previous text, there are a multitude of reasons. Today, though, I would like to discuss one particular reason. That is…wait for it, full-text search. Now, please, before you wonder why I’m even bringing this one up… please, read, listen, whatever to me before you seek to judge. Because you might like what I have to say. You also might not, however, I’m not here to stroke or soothe people’s egos.
The Current State Of Full-Text Search
Currently, the concept of full text search on the Fediverse is right now in shambles. Mainly, no one can decide what to do about it, how to implement it, or how to ensure that everyone participating on the Fediverse remains happy and wanting to post more. to be honest, and I say this from a purely technical prospective, not from a prospective of being overopinionated, but full-text search is hard to begin with, and then is made infinitely more so, the more decentralized the technology is on which you’re trying to find a suitable implementation for it. The Fediverse has many software packages, and each package has a lot of it’s “rules” implemented differently depending on multiple factors such as the language the software is written in, the community the software sprung up to cater to, and the aspects of the activityPub protocol that the software itself supports. (Mastodon has a whole different API, but we’ll get there in another post.) For now, I want to talk about why this is a problem for the fediverse, and what we can do to possibly mitigate, and ideally, resolve the issue entirely. the following are what I propose to begin this process:
- Allow the poster to choose which of their posts are searchable either on a profile or individual or post level
- include profiles in search, with an op-in option for the user to choose whether their entire profile is visible (this is particularly important for search engines to heed)
- with my limited developer experience, not sure if this would theoretically become part of the server-to-server API, but enable a mechanism to ensure that servers can read the flags set on users' profiles
- if a user doesn’t make their entire profile searchable, allow them to set it on individual posts, sort of how content warnings and post visibility are set at the post level already today. this would be an extra check box or combo box.
I hope that the proceeding suggestions will assist the wider developer world in giving as many user options as can possibly be achieved without overwhelming them. Regarding that, though, the Fediverse is a different place than mainstream social media, so until users begin to understand that on a wider scale, all the harder will the proceeding suggestions be to implement in a way which makes everyone happy. I know that many people might not be happy at all that I’m even suggesting this, but then again, the ones who don’t want to be available in discovery algorithms, why not hide yourself with the full profile theoretical opt out setting? Or, why be on social media at all if you don’t want to be discovered? just a thought. To be totally honest, there are some things, some sensitive topics that I think should use a different discussion medium than social media of any kind; part of the problem why people don’t want their posts searched is due to the sensitivity of the topic at hand, and I understand that just as much as the next guy. My suggestion in that case would be a dedicated encrypted chat session, such as an encrypted Matrix room. second? Part of the issues surrounding this are produced by the assholes on the internet who would seek to use the Fediverse as a place to find victims based on their characteristics. So while we can fix the technical problems plaguing this discussion right now, the main issue is the one where humanity thinks that it’s okay to make others feel threatened due to their unique values and things they stand for. You’re probably wondering how this has anything to do with Mastodon? We’ll get to that next.
Mastodon’s Part In all Of This
While the majority of the Fediverse has found some sort of semblance of piece, the majority of the problems are coming specifically from Mastodon server admins, as well as from the Mastodon developers themselves; they do not want to implement full text search of all content (searching of one’s own posts and mentions notwithstanding). The following issue does a good job of explaining where I’m coming from in terms of the prospective of an administrator of a Mastodon server.
From GitHub user Unknownconstant:
Currently, searching on Mastodon in possible by linking an Elasticsearch instance. When enabled users are able to search the content of posts they have made, or have interacted with. Posts the user has no direct connection with are filtered out of the search results. From other issues discussing it, the potential for searching to be abused is stated as an important reason this should never be implemented. In my view this is disproportionate and likely counter-productive. For example, I am an admin on my server and I am unable to use built-in search functions to identify violating content so cannot be proactive in identifying abuse.
the post goes on, and there are lots of comments in response, all of them productive, so take a look to see where I’m coming from with this. Mastodon needs full-text search.
It’s simple. Mastodon is falling behind the rest of the Fediverse as a software, and if they do not heed the warnings of their developers, then, the actual software itself will cease to matter. if you ask my humble opinion, it already is; there are plenty of better alternatives out there such as Calckey, who’s developer is awesome, and who is staying with the Fediverse times. As I discover more, this series will be updated.