Mastodon Enhanced People Search

People discovery is a hard problem to solve – and not necessarily for technical reasons. Over the past few months as people have migrated from Twitter to Mastodon, we’ve depended on twitter APIs and Twitter services to discover each other by posting our mastodon names in our twitter bios.

This worked great for a brief period, but for Mastodon to be a healthy network we need to make it possible to discover people by their profile pages in Mastodon. There is a constant threat of Twitter shutting down or charging money for APIs necessary to do this and quite frankly, we shouldn’t depend on Twitter or any other network for discovery here.

Mastodon already federates people and within this federated activity, there is an option to enable or disable being discovered. With this built-in support, we can implement searches to help people be discovered when they opt-in.

The old way to find people on Mastodon

In the old way, you had to know an idea of what people’s names were and hope they used that same name when you typed a search for them.

To be discovered beyond knowing about them already, you had to hope they put an #introduction post out and you had to hope that they used the #right #hashtags on this introduction post so they could be discovered if you knew what you were looking for.

This means a lot of people saying they couldn’t find each other and a lot of dependency on tools that depended on other networks for people to be found or discover each other.

This isn’t a great user experience (UX).

Going through 100s of #introduction posts during the initial waves was fun but broke down and became too much work and showed it wasn’t very efficient at scale. Not only that, but you couldn’t combine terms to say #introduction #scientist #space to find that combination. We’re getting much closer to that now with enhanced search!

Advanced Search – Finding people on Mastodon

Mastodon federates profiles and within this federated profile is an option where the user can be discoverable through “suggesting this account to others”. This suggestion to others can be through multiple venues – in the # discover section of web apps, in the recommendations for new people to follow during user registration and in profile search if people knew what your username could be to find you.

With this option enabled, instances who run elastic search can apply the people search patch (linked at bottom of post) and now discover users by what they have in their profile page.

Take my profile for example – I’ve circled a quote from a podcast I love “all hail the mighty glow cloud”. If someone goes to search for this saying from the awesome Welcome to Night Vale podcast, they will find my profile.

Before enhanced search, it would have been impossible to find me unless I had “#nightvale” hashtag and maybe “#glowcloud” hashtag – and having the combination of two is impossible to query/discovery to be honest.

But here I am showing up, looking for a quote in my profile. Search even discovered someone referencing my bio quote as a post :)

Show me More

I wanted to show my profile as the first use case because I am public, I want to be found and I wanted to show a way in which something entirely “niche” could be used to discover someone. To be honest, I think it would be great if some Night Vale fans showed up on Mastodon and found me.

All hail the mighty glow cloud!

So, what other people can we discover?

Did you know that much of mastodon is written in Ruby and there is a large Ruby Developer presence on here? The creator of the Ruby Programming Language is here, but if you didn’t have advanced search – you would have to know his handle to find him.

Now, with enhanced search by searching for “Ruby Developer” – he shows up in the top of the list (and will rank higher if more people discover/interact with him).

If you click through these profiles, many of the people are ruby developers whereas before if you searched for “ruby” or “ruby developer” you would find only a list of names that began with Ruby. People had to hope they weren’t named ruby or stuff their profile name with their topic.

Note:

We still have some optimizations to do here, it’s not perfect – but at least it’s usable for finding what you don’t know based on generic terms/questions of items in people’s federated profiles. Sometimes the person with the name “Ruby” still ranks – we’ll continue to optimize as maybe someone is just looking for someone named “Ruby” :)

Discover more people on Mastodon

Interested in independent newsletters? Some people have this in their profile and to me, that would signal something someone would want to look for or be known/found for.

Let’s try searching for “independent newsletter” and see if it matches people on a non-enhanced search instance:

Nothing found.

People are putting words in their profiles that I’d expect they would want to be found, but mastodon doesn’t allow them to be found – even if they’re set to be found by means of discovery.

Enhanced Mastodon Search

Head on over to universeodon.com, login and type “independent newsletter” in your search and look at the results.

All these people or profiles, offer a newsletter. You can refine your search to find specific topics such as programming, news or whatever.

Now, you will have to experiment. I chose “Independent newsletter” because I wanted to see that Judd Legum @[email protected] (maybe this will wake him up if he’s pinged by being able to be found) could be found by a “nearby phrase” in his profile. Independent newsletter with quotes would mean exact phrase and I don’t think that would match much of anything – so you also see nearby results for “newsletter” – but at least it isn’t just “accounts with independent and newsletter” in them.

Again, some tweaking to do, but huge improvements.

Let’s go search for some more.

Blacksmith on regular search

Not really what I was looking for. I can go click through the hashtag and find people – but those people just happen to have the name in their profile.

Enhanced search “blacksmith”

Here we find people with intentional profiles, and we find posts with topics that match – even if they’re fun sexy blacksmiths behind a CW.

Feedback welcome

As always, follow me on the fediverse and let me know what you think! @[email protected].

A special thank you for the excellent work from @[email protected]

The patch available here: https://github.com/VyrCossont/mastodon/pull/5 – still work in progress and I hope to see mainline mastodon pick these up! (Wink wink nudge nudge @[email protected])