Home Mastodon Featured Profiles
Post
Cancel

Mastodon Featured Profiles

A streamlined tool for easier management of your featured profiles. Syndication

Once upon a time, Mastodon had a design element on profile pages that displayed a user’s selection of “Featured Profiles”. It was configured very similarly to “Featured Hashtags”, allowing you to choose accounts you want to feature on your profile page.

After making your selections, a random set of 4 of them would appear on your public profile page. Unforunately, this UI component was lost in the 4.0 release and hasn’t made it back yet.

This was initially announced all the way back in 2018.

Screenshot of the Mastodon Web UI, showing Users's Choices section on a profile page.

Get to the good stuff

This blog entry is my collections of notes as I researched this feature, developed the app, and inspired ideas for how it should be presented when it makes a return.

If you just want to try out the app, you can find it at https://featured-profiles.box464.com, and if you want to learn more about the app first, check out the About page. Finally, the code is opensourced and available on GitHub.

I’d love to see what you find when you visit - any surprising accounts? Have your social media interests changed since you last saw them? Take a screenshot and share with me, I’d love to know!

Featured Profiles are in a zombie state

While the design element has been removed from the account page, you can still select accounts to feature through the account profile’s action menu in the official Mastodon web UI, but not the apps. It’s zombified - not quite alive, not quite dead. 🧟

It’s not well supported in third-party apps, either. The single non-official app is, unsurpisingly, Toot!, one of the most fantastical clients to date.

It’s currently on the official roadmap under the “Exploring” section, see lucky number MAS-13. It’s pretty far down the list, but it exists, so there’s hope it will be returned to it’s full glory.

Want to see the feature return in Mastodon? Add a like or comment to the official GitHub issue to show your interest.

You say endorsements, I say featured profiles

The is where things get a bit confusing. The concept has several different names even within Mastodon itself.

  • “{User}’s Choices (BOX464’S CHOICES)”
  • “Featured Profiles”
  • “Endorsements”
  • “Pinned Profiles”

So, which is it? Well, the official UI listed it as “Choices” on the public account page back when it was displayed, but currently noted as “Feature on profile” in the sub-menus on the same page. I even dug up the initial discussion on discord about why it’s shown in the UI as ‘Choices’. (Sidenote - I had no idea Discord discussions were stored long term like that, or even searchable)

When you review Mastodon’s documentation, even the names of the endpoints like “Endorsements”, “Pin” and “Unpin” all pop up, making it a bit confusing to understand how to affect this feature without some digging.

To keep things consistent, I’ll be calling it “Featured Profiles” throughout. Be alert for references to the other terms within sample code, and know it all ends up being the same thing.

Management of featured profiles

Even when the random 4 featured profiles start appearing in our profiles again, there’s not a great way to manage your selections. Currently, you have to go to each account profile you want to feature and choose an option from the action menu to add or remove them.

Screenshot of the Mastodon Web UI, showing a profile page with the action sub-menu open. The action 'Feature this profile' is highlighted.

How do you remember which profiles you endorsed? There’s currently no visible indication at all. You’d have to go through each of your followed profiles and check the action menu on each one. Or, I suppose refreshing your profile page over and over again to get a new random set of 4 (when that existed).

Mastodon would have to build out a page similar to the Followed and Followers GUIs in order to have similar functionality. That’s a lot of work for the developers just for the display of four items on the bottom right of your profile page. I can see why it’s not a priority for them. I’d rather see Groups and Passkeys!

So why not help out? The app I created can be used to view and manage your featured profiles all in one place, at least until Mastodon proper comes out with a better solution. The only thing missing is adding back in the “display random four”.

Introducing: Featured Profile Manager

This sounded like a great area to tinker with, so I dove right in to create a management tool. At the very least, it brings light to this concept for further discussion.

I’m not going to go deep into the specifics of how to use the app here, but there’s plenty of info on the About page of the app itself.

Try it out @ https://featured-profiles.box464.com

Screenshot of the Featured Profiles UI, showing the account banner and two featured profiles displayed

Ready for some fedi geek talk? Let’s get into the design and research I had to do in order to build it.

Design considerations

A bit of disappointment is that I can’t return someone else’s featured profile selections other than my own via the API. It would have been fun to include the option to view other people’s currently invisible selections, too!

I believe the UI component that showed the top 4 random featured profiles was not an API call, and isn’t exposed anywhere right now. My assumption is that it worked similar to how featured hashtags do right now, giving the instance administrator some say over how many featured hashtags can appear on the profile page.

One suprising find is that there seems to be either no limit or a very high cap on the number of profiles you can feature! While the front end UI limited the display to 4, those 4 will rotate between all your selections. In reality, it appears you could feature every person you follow. Not a big deal for most users, but for those that have 1,000s or more followed accounts it can get unwieldy.

Once I realized this was the case, I had to reconsider how I built that section of the management tool. Imagine a bot doing something crazy like following back every follower, then adding each one as a featured profile. Yikes!

Screenshot of the Featured Profiles UI, showing a ridiculous amount of featured profiles, about 21.

Searching

Searching your followed and featured profile accounts was also a challenge. Initially, I made the assumption that all users were similar to me - around 500 or less accounts followed. That was a bad assumption.

I went through several iterations, especially with how to retrieve your list of followed accounts. At first, I was just iterating through a search with only followers set. This got the job done, but I soon realized I was only taking my own number of users into consideration. What if I had thousands of followed accounts?

I ran a couple of unofficial polls to see how many followed accounts people have on average. 85% of respondents had fewer than 1,000 followed account. Of those 85%, 73% had fewer than 500 followed accounts, tho the participation was much lower for the second poll. I chose 500 as a break point because that’s about where I saw performance being affected.

I settled on a compromise - if you have less than 550 followed accounts, they get loaded upfront. If you have more than that (551+) then we actually use the search endpoint.

This meant making a more complicated workflow, but I was determined to make it happen. I think it works nicely.

Screenshot of the Featured Profiles UI, showing a search of followed accounts with the term hachyderm found in them.

Suggestions and ideas

I think there needs to be a limit on the number of accounts you can feature, even if it’s a admin configurable limit with a sane default - say 10 accounts.

You can pull back your OWN featured profiles, but there’s currently no way for someone else to pull your featured profiles from the API. This is disappointing, as no one can see more than the top 4 random featured profiles on your account page (when it comes back).

Any or all of these ideas could work. One issue to consider is that currently there isn’t a real limit on how many people you can feature so paging is required.

It could be in a similar spot as the featured tag endpoint.

Note that you CAN pull relationships to other accounts and that includes the endorsed flag!

But this would require quite a bit of back and forth to make you way through someone’s entire followed list.

Saved the best for last - the account search endpoint. There’s already a following query parameter. An “endorsed” parameter could be added fairly easily, I’d think.

Wouldn’t it be odd if your account is showing up on some random user’s account page and you have no idea about it? I think there needs to be a notification delivered each time someone features your account, similar to a follow.

We should be able to review accounts that have endorsed our OWN profile. And maybe even remove ourselves from them.

Relationship tags

It would be fun and useful to identify the relationship between featured accounts. This could be displayed simiarly to the Admin, Automated, and Group flags or perhaps a different display of the account card, etc.

This terminology doesn’t sound very Fediversy, but you get the drift.

  • Fan: You feature a profile, but they don’t feature you back, or follow you
  • Friend: You feature a profile, they don’t feature you, but they do follow you.
  • Best Buds: You both follow and feature each other.

What’s the fun of setting this all up if you can’t share your selections? It’s like curating a record collection without being able to show it off.

Obviously I’d like for Mastodon to add the feature back in. But in the meantime, I’ve considered adding a way to share a nicely formatted “card” to Mastodon that shows your featured accounts. It would mean sharing your preferences back to a server that then generates a stored HTML static page. Right now, everything is just living on the client and no data is stored in any way.

Or, perhaps it generates an image that you can share? Thoughts! Ideas!

Much ado about nothing

You could say I wasted my time on a feature that may never see the light of day. But I was able to learn lots of new things and have fun doing so.

  • My Vue.JS knowledge expanded
  • Got a commit pushed to the official Mastodon API Documentation
  • Learned about the history of Mastodon
  • Gained new knowledge from current fediverse app developers
  • Had fun!

That’s worth the effort in my book.

And, now it’s open sourced, so I hope you enjoy it as well.

References

This article

Official Mastodon docs

If you’re looking through GitHub at the code, search for “endorse”.

Historical references

This post is licensed under CC BY 4.0 by the author.

Deep Dive - Firefish Groups

One year in the fediverse

Comments

Total Interactions: 8
1 Likes 1 Links 0 Posts 1 Re-posts 0 Bookmarks 5 Replies

Likes


Posts, Re-Posts and Bookmarks


Replies

  1. @box464 that's neat! I definitely saw that in the API, but I hadn't seen it surfaced anywhere.

    You don't mind if I build support for this into trunks, do you?

  2. @Decad3nce Well..the problem is you can only view your own selections. There no API endpoint for “get another user’s featured profiles” which was a total bummer when I realized that.

  3. @box464 ahhhhhh, that's a real bummer, yeah. :-/

    Is this just a half finished feature, or was this supposed to be like a bookmark of profiles?

  4. @Decad3nce It actually existed in mastodon prior to version 4, then it got dropped from the UI. It used to appear where your featured hashtags appear now. But the api endpoints got left in! There’s talk of adding it back, but it’s not in the 4.3 roadmap right now.

  5. @box464 TIL, thanks for the reference to all of this.