On the Importance of UX in Decentralized Applications

July 29th, 2018

Have you heard of Mastodon? It’s a decentralized and open source twitter-like platform using open standards such as ActivityPub to function. Among many other features, it has no ads and a chronological order feed. In short, it’s awesome.

I’ve tried to explain to my wife the concept of Mastodon. “It’s like Twitter, but you can install it on your own machine. And you are not isolated, if somebody installs their own Twitter, my Twitter can communicate with their Twitter”. Her reaction was like:

Image result for huh? meme

Admittedly, looking at current implementations, this whole federation thing is confusing for the average user. I can tell someone I’m on Mastodon. The next question I have to answer is “which one?“. I can tell them that I’m on mastodon.social, but that gets confusing.

– “That’s the Mastodon right”? The one with lots of users.”
– “No, that’s just one that I’ve picked, there’s no main Mastodon”.
– “Wat?”
– “You can be on your own Mastodon, like piero.social and I can be on anotherplatform.com. But we can all communicate together, like Gmail and Yahoo for e-mail”.
– “I thought this was a Twitter-like platform. Why is it like e-mail?”
*sigh*

There are benefits to decentralization. But as long as the user experience is inferior (and it is) to that of centralized designs, adoption will lack. This is not a negative critique, it’s an observation about what needs to be improved. I feel as a lot of work has been placed on developing the backend and the UI of these beautiful systems. Not as much time has been spent on UX.

Design with users in mind, be forgiving and acknowledge their preconceptions about how computer systems work. Don’t disrupt, gently lead.

Here’s a few more concrete suggestions, specifically in regard for the current design of the Mastodon experience:

  • If I’m a new user and I sign-up to https://joinmastodon.org/#getting-started the first thing I get asked is to choose a server. It’s great to have that choice, but honestly I don’t think the average user would even understand what they are supposed to be choosing. As a developer I also found myself confused as well. Which server do I join? Should I choose by language? Or by topic? If there are two servers for a single topic do I choose the one with the prettier icon or the one with more users? I don’t really care, just pick one up for me. I will change later when (if ever) I will have a better grasp of the platform.
  • After joining, I’m presented with the following:

  1. Why am I following a stranger named Eugen? Well, he happens to be the administrator on that particular server, so by default you always follow the administrator of the server you join. But remember, your average user will not understand that!
  2. Why are there strangers in my local timeline? Well, these are the people in the server that I joined. But I don’t really care to follow random people (even if they speak my same language). I get it, this is not Twitter, each server is a community on its own. Good luck explaining this to grandpa.
  3. There’s another timeline, the federated timeline. This is the timeline of all strangers, which is worse than my local timeline, because now I don’t even share any interest or language with them.
  4. In the bottom right corner I find the most important link of all. But it’s buried along with the legal stuff and GitHub links (grandma in the meanwhile asks me “what’s GitHub?”). Find Friends from Twitter! YES! I press the link, connect to Twitter and find three of my friends. Sadly, all three of them haven’t posted anything in over a year. Bummer. As I scroll the homepage of joinmastodon.org I notice that the button is in a better place (toward the bottom of the page, nonetheless), along with a message saying that “These servers are operated by independent organizations and may have different moderation policies. If you are unsure what to pick, you can try this button.”, which I could translate as “We’re not sure who these people are or how they operate, but if you don’t know what to do, you could try your luck and click here?”.
  • I visited some profiles and noticed that the websites hosting those profiles differed significantly. That’s another advantage of decentralization. In the spirit of open source if you don’t like something, just change it. But the average user on their first log-in into a new platform cannot appreciate such freedom. A lot of them will never care. But they will get confused when they see that aunt Ann’s profile page has a different background color (and animated cat emojis, which for some reason I can’t seem to have on my profile, because Ann’s profile runs on a modded fork of the project). Users should be “sandboxed” until they are ready to handle freedom.

    (Screen from Google Chrome’s settings. Only those that are ready to handle the “Advanced” stuff are shown the “Advanced” stuff)

  • I like both art and software development. I can’t seem to be able to join two servers, unless I create profiles on both of them? Then where do I post?

I love the project and will continue to follow it closely (heck, I might create some pull requests to fix some of these points). But until my wife can sign-up easily and understand the platform, I’m not sure I will put the effort to actively post content on it. I also get that decentralization is playing with “new ways” of designing social media, so existing patterns that have worked in centralized design might not directly apply. But remember that new often disrupts, and that holding your users by the hand, slowly helping them to understand new patterns is going to be key to successfully transition to a new exciting decentralized web.

Don’t disrupt, gently lead.


Follow me @pierotofy and don't forget to