Plural Liberation in Accessibility Tooling
The spiritual successor to a piece of writing called ‘Chat Accessibility’ available on A System’s Guide.
I spend our free time working in the field of plural accessibility tooling. Think of things like PluralKit. However, my tooling is baked into existant open source user applications. The pioneering example here is the instant messaging application Sable, where I have been the driving force for features so good that I have been thanked personally by basically every system that has used it.
Interfaces
The main one is the picker. The picker allows you to graphically select which profile you are going to use. This is really important from a user experience standpoint, as tools like PluralKit are invisible. This means that in PK you need to remember which profile is selected. (And given our track record for memory this is probably not a safe assumption that most systems can reliably do this.)

The important thing here is that this is the type of interface that can only be created when you are designing an interface not adversarial to the platform it is in. PK is adversarial, because it is using a feature in a way not designed by Discord, and is essentially overriding an existing interface (sending messages via the chat input) through its bot.
The other important thing to add was editing profiles through a user interface. This is another thing that is a real hurdle to using plural interfaces like PK, as there’s nothing to ‘learn’ here that the user of the interface does not already know. Learning things like pk;m new and pk;m displayname Delta foobar is annoying, and might be prohibitively unusable to some.

Politics
I wasn’t really perceptive about this until we were described as a revolutionary by a fellow system. I guess I am? I’m trying to come into spaces and enforce a new way of working. As a goal. Being plural, as a political identity under the umbrella of disabilities (and/or neurodiversities), is a highly marginalized identity, too. The coincidence with things like being queer, being abused, being autistic, etc is high, too.
I want people to care about plural systems, and uplift them to the level of singlets. We do this in all parts of life (offline, we announce ourselves as plural whenever it is safe to, we announce switches. this is very important to normalizing it, so others can feel safe to if they want; online, we always talk through proxy tools and are as visibly plural as possible even if it is of disadvantage to us.)
In the field of User Interface slash User eXperience design (UI/UX if you are in a rush), this means a few things:
-
Don’t display a profile in a way that would cause an unexperienced user to see it as visibly different.
-
Pluralkit fails this through
[APP]labels, unviewable profile popouts, message ‘jitter’. -
/plu/ral userproxies fail this through
[APP]labels, having the slash command visible above the message, not compacting repeated messages from the same profile - Sable, in its current form, mostly succeeds at this, with the only indication being a small ‘via System’ tag next to the display name
-
Pluralkit fails this through

-
Don’t make profiles hard to use in the basic action of sending a profile-attached message.
- Pluralkit fails this through the entire proxy tag system, which is serviceable but hard to use. The autoproxy system is also opaque, which makes this problem even worse in UX.
- /plu/ral userproxies fail this through the frustrating Discord slash command feature, which have numerous issues for this use case but primarily: do not allow multi line messages, more than one attachment, gifs or stickers, replies, and require network access to use which makes them near-unusable on a slow connection (e.g. on a phone outside, where you are perhaps most likely to be using them.)
- Sable, in its current form, is quite usable with the picker.

There are other things to consider, but largely these are the most important in this stage of development.
Why I Am Winding Down My Sable Contributions And Making My Own Client
I am making my own Matrix instant messaging application. Why?
- Plural systems deserve a client that was designed for them, by them, with guarantees that their interfaces will not break.
- Sable is currently rewriting their entire client at an unsustainably fast pace, which I will not be putting an equally unsustainable amount of work into.
- Trust in Sable among my system friends is somewhat low. They may rebuild this, but I will not be the face of a project that cannot make these guarantees.
- Sable has two large papercuts in language that make using it as a system a bit iffy. The first is calling a profile a ‘Persona’, which makes it feel a bit fake. The second is using ‘via’ as a tag for a system, which is more in line with the original use case of PMPs as chat bridges. These have been changed in the rewrite.
Addendum on Wafrn, and Pluraldawn
One of my plural-liberation dreams is to have a plural-first Fediverse frontend. Wafrn has been my personal target for this, as the lead maintainer has been very receptive to this. Then why haven’t I done so? The issue is that I don’t know the codebase, and my ability to work on these features is dependant on me either taking the time to learn a codebase (something which I do not currently have the time to do) or having someone help me with that. And so far, nobody has done that. So I am currently waiting around for that (or for someone to just do it all for me…)
Pluraldawn is very workable as long as you are not using Wafrn. On Wafrn specifically it just breaks immediately due to Wafrn’s… uniqueness.
Last updated: Aug 27, 2026 ()