A History:
Fringe Mastodev
Part
II: Enter Allie Hart
This post is the second in a series of posts chronicling my personal history of involvement with the fringe development scene on Mastodon, detailing the origins of the movement, and touching on a number of larger cultural developments and trends taking place in the Mastodon communit{y|ies} more broadly. Fringe development is my term for the development work (research; design; coding) taking place on forks and individual instances of Mastodon, without the intention of sending that work upstream, and without mainstream acknowledgment or recognition. Increasingly, as Mastodon as a project grows, I believe that it is this development work that happens on the fringes that will shape the future of the software.
If you haven't already read the first part of this story, you can do so here:
A History:
Fringe Mastodev – Part I: The BeginningsLaboratory/Labcoat
When we started work on Ardipithecus, there were no illusions about the fact that a fork of Mastodon was unlikely to be an overnight success. Unlike the fediverse today, the fear wasn't lack of instance adoption—our single flagship instance would have been more than enough to compete with Mastodon's single flagship instance in that respect—but of lack of users. For both cultural and technical reasons, Mastodon users were unlikely to move away from mastodon.social in favour of an independent instance—be it luci.city or anywhere else. We needed a breakout feature that would encourage folks to make the switch.
The feature we decided on was a custom frontend, with enhanced customization features and a more user‐friendly interface. Mastodon's existing frontend was sorely lacking in customization facilities and had the look and feel of a somewhat‐less‐capable TweetDeck clone. For Ardipithecus, we wanted a clearer, more distinctive design which could be easily adapted by instance administrators to fit their site's overall theme and character.
I named this frontend Labcoat, built on top of a Mastodon API framework that I'd created, called Laboratory. Mastodon's frontend was messy, difficult to remix, and had a steep learning curve. My hope with Laboratory/Labcoat was to make Mastodon development easier and more accessible to newcomers. Both technologies were written in Literate CoffeeScript.
While Mastodon provides consistent appearances and branding
across all of its instances, our hope with
Ardipithecus was to place interface styling in
the hands of local administrators and, to the
extent feasable at the time, users.
Labcoat was a serverless
web application, which meant that hosting your
own was as simple as
forking the code and publishing to
GitHub Pages.
I opened a Pull
Request (which was merged) for a minimal
API for conveying
instance information—this is
now /api/v1/instances
—which was used by Labcoat to set the
site title and links.
I also opened a larger
Issue for conveying more in‐depth
information—which did not find support.
Upstream MastoDev
Assuming we were successful with our fork of Mastodon, we knew that we would never wholly capture the Fediverse ecosystem as‐a‐whole. We saw this as a good thing: Mastodon was (and is) the Internet Explorer of—at the time—OStatus implementations, developing with little regard for interoperability due to its dominance of the ecosystem, and we had no interest in securing this position for ourselves. But it left open an ethical dilemma: If we were to develop a feature which greatly improved the lives of our users, was it right for us to hoard it for ourselves, rather than send it upstream, where a greater number of users could benefit?
Because we were naïve, we decided that it would probably be best if our improvements were made available to everyone. I worked implementing a number of features to the TootSuite codebase in late February, with the hope that, once they made it into master, we could merge them into Ardipithecus proper as part of our regular updates. The Pull Requests I opened during that time included:
- Splitting Mastodon's frontend from its backend [PR #652; ; not merged].
- Adding site metadata (see above) [PR #654; ; merged on ].
- Character count fixes [PR #655; ; merged on ].
- Pasting images from the clipboard [PR #657; ; merged on ].
- Collapsing long toots [PR #658; ; not merged].
- Adding colour palette SCSS variables to make it easier for admins to customize their themes [PR #659; ; not merged].
- Back button improvements [PR #660; ; merged on ].
Mastodon development at this time was still largely a one‐man affair with very little oversight, which meant that interpersonal poltics were very very important. Although I was upset with how the Mastodon Project had responded to conflict in the past—as well as its organization, development practices, treatment of contributors, approach to branding, lack of mission statement, habit of firing from the hip when it came to new features, and tendency not to listen to the concerns of its most marginalized until after it was too late—and even though I was in fact secretly building a fork of the software in response to these concerns, I needed to publicly maintain an agreeable image so long as I had outstanding Pull Requests that I was waiting to get merged. This was especially true in the period from –, when I was waiting for the Instances API that Labcoat needed to function. (NB: There was a reason I swore off upstream MastoDev after this.)
Introducing: Allie Hart
Nevertheless, I am not the
type to keep quiet when something is
bothering me.
If I couldn't be publicly
critical of upstream on main, then
the only solution was to
create an alt—an pseudonymous
account which wouldn't
easily be connected to my development
work or GitHub account.
Thus, @u2764
(NB: In retrospect, not telling anyone was not the greatest move for me to make. Friends, if you are going to start switching all of your spicy and controversial takes onto a secret pseudonymous alt account and virtually disappear from main for days at a time—please at least tell your significant other that that's where you are, okay? Thanks. —KIBI Gô)
Allie Hart was not a new persona for me (it actually
predates my literal actual name)— it
was the name I went by on the anonymous public forum
Whitman Encounters (now defunct)
at my alma mater, where I, alongside a number
of other feminist‐leaning
individuals, did my best to keep the
whole place from degenerating into a
racist, misogynist shithole.
We mostly failed.
For this round, I played a no‐nonsense,
goes‐for‐the‐throat
wolfgirl‐in‐Hart's‐clothing, still recovering from a past toxic
relationship (NB:
Not the
actual relationship I was in at the
time), who loved
the 😘 emoji and cheekily reäppropriated Metroid: Other
M with her avatar and
catchphrase, any
objections, Adam?
.
This was—for the record—an
accurate
self‐portrayal, but it was in
stark contrast with the
typical gay softposting I was doing
on my mastodon.social account, and so nobody ever connected the
dots on their own.
For about the first month of my beïng there, I was the most frequent poster on icosahedron.website, and being there was, frankly, incredibly liberating. I know I am not the only trans friend who owes significant parts of her life and wellbeing to Mastodon—but once I got outside of its main bubble, I came to see how insular and toxic much of the culture had become. I was tired of the small‐community drama and not knowing which of my friends were racists, friends of racists, or cool. It was good to be able to retreat to my own, very political, safe space, where I didn't follow anyone and said what I wanted straight to the Public Timeline and it didn't matter anyway.
People who weren't around in those early days often don't understand it, but I don't think I'm the only Mastodon veteran who is now very conscious about keeping her circles small.
April 2017
Then, arrived, and everything changed. Mastodon went from three‐plus‐change instances to over a thousand, relatively overnight. Eugen covers the basics in his April post-mortem, so I'll just quote the relevant passages here:
Mastodon caught on on Infosec Twitter, which is both huge and influential, and (somehow, I do not quite understand how) also French Twitter. […] Think explosion of users from 20,000 to 42,000 in the span of two days.
[…]
At the time of writing, the Mastodon network includes more than 486,767 users spread out among more than a 1,212 instances. That’s how far we’ve come.
This resulted in two major changes in my life.
Thing one. The Ardipithecus project was obsoleted overnight, as thousands of instances and admins across the globe, all combining their efforts, did a much better job of removing social moderation power from mastodon.social's hands than we ever could. Of course, the problems of development governance were yet to be solved, but the game had now changed—fork success would be measured by instance count as much as it was in users for the forseeable future. With the April influx came a number of new developers sensitive to user issues and willing to work on features for them—developers who had probably been working in React and Redux for longer than two months. I was more than happy to let them take the reins.
This wasn't to say I stopped developing Mastodon projects completely, but my focus had shifted away from big codebases for everyone and towards personal projects and niche interests.
Thing two. My social life got a lot better. Whereäs Allie Hart was a little bit at‐odds with traditional Mastodon culture, her lengthy political posts, cultivated #brand, and sassy demeanour fit right in with the new crowd. I went from being a prolific nobody to being a prolific somebody with hundreds of followers in under a week. Consequently, I mostly stopped logging into mastodon.social at all.
Mourning Mastodon
Well. Although the influx of new users was good for me personally, its impact on others still involved with Mastodon development—and who I maintained connections to via close friends—was less‐than‐grand.
Since the beginning, Mastodon development had been driven by its queer communities and users, many of whom didn't feel safe on other platforms and were wedded to the site. It was, at first, a happy marriage—Mastodon got a userbase and Masto queers got a space to call their own—but after the April influx this balance had been upset. Queer voices were, or were in danger of, being replaced by cis white techbros from the sizeäble infosec demographic which had initiated the surge. There was, and still is, a real fear of Mastodon turning the way of every other social media platform now that there was a suitable straight white base to sustain it into the future.
Lots of people saw this happening, and were worried about it, but at the time most of the folks close enough to be aware were themselves knees‐deep in Mastodon development politics and couldn't really afford to throw stones—the same situation I had been in before switching accounts. I, on the other hand, had already positioned myself as an outsider, and had the chops and—as of recently—the audience to apply appropriate pressure. The goal was to get queer oversight into the Mastodon development process through the hiring of a non‐cishet Project Manager. (Ideally, we would have aimed for a non‐white Project Manager as well, but it seemed like the chances of that happening were already slim‐to‐none.)
The resulting piece was titled Mourning Mastodon. I wrote it over the course of a couple of days, leveraging all of my Gender Studies–major skills and pulling an all‐nighter to finish it off before sending it to a friend for proofreading. I got the go‐ahead to publish—and it immediately made waves (new users went wild over community drama like this), was raised in the the Mastodon developer Discord channel, and, quite surprisingly, honestly, to me, had the desired effect. There was public admission that Mastodon's development practices were not the greatest, and we got our Project Manager. For my part, I mostly celebrated by getting some sleep.
Mourning Mastodon by ALLIE ❤ HART |Realizing the death which preceded the Universe
Most of the responses to the piece were things I had anticipated ahead of
time:
Queer users, generally, said yes this rings true;
white
techbros, more or less, said this is overblown
or if you're so upset
by this, why don't you write a fork?
(LOL.
As a matter of fact, there was another
fork attempt around this time—Mastodon CE.
I contributed my frontend‐splitting code,
but the fork attempt appears only to have
lasted all of three days.)
There was another response which I received which I didn't expect—from people of colour reading the piece, all of whom (who @‐mentioned me) seemed to be new to the site, who were curious about the instances of racism I mentioned but largely left unexplained, and wondered why I was placing so much emphasis on queer problems and queer empowerment when white queer users were arguäbly the source (well, one of the sources) of the racism problem in the first place.
Mourning What Now?!?! by ALLIE ❤ HART |A response to “Mourning Mastodon,” by the author
The answer to this question, which I attempted to make clear in my own response to the piece, was that Mourning Mastodon was a political essay with a particular goal, and calling out Masto queers for their racism wasn't going to stop Masto development from going the way of the techbro. And, in all honesty, I was a little miffed at the time, because the whole reason I had switched accounts and made this entire alternate persona and devoted countless hours to learning Ruby and React and how to do Mastodon development and cut off contact with most of my friends was because of Mastodon's racism problem, and so having people arriving fresh from Twitter, not bothering to learn any of that history, but throwing stones at me for not doing it justice felt a tad unfair (especially when I could just have easily have not brought it up in the first place and erased the whole thing—not that that would have helped anyone).
The truth, of course, was that I hadn't done the issue justice; it would remain completely unchronicled for the following 16‐plus months until the publishing of the first post in this series. Furthermore, although the (mostly temporary—at least for those friends who weren't lowkey racist) loss of friendships and social networks resulting from switching accounts, and the (very much not‐recoverable) time sunk into learning Mastodon technologies were real sacrifices made on my part, the reason why I had been able to stick around and see this work through had a good deal to do with my being white, trans, and relatively inconspicuous (despite, sometimes, my best intentions). So, such responses were reasonable—although I lacked the means to do much better at the time.
(NB:
Of course, literally every other white Mastodon
user was also to blame for not owning up to
this history or, geez, writing it down.
People been asking for over a year
now—and I know because
Mourning Mastodon, my propoganda
piece with clear and glaring flaws when it
comes to actually providing a historical
record, is still what gets shared
around and linked to every time someone brings
the question up.
Hey, I heard that Mastodon has had something of
a troubled history when it comes to issues of
race—are there any resources or
histories where I can read up on that?
Oh sure, here's this piece by Allie Hart, it
literally only mentions it in passing and is
mostly about development drama which hasn't
been relevant for over a year, but hey, it's
the best we've got.
…Sorry, I'm venting now 😜.
—KIBI Gô)
Vague and Patreon
Doing MastoDev with little in the way of support, results, or recognition had taken a lot out of me. Publishing Mourning Mastodon, dealing with the waves of responses, and trying to somehow coërce upstream development to act in a responsible manner had taken out a lot more. The landscape of Mastodon had changed significantly, and I wasn't sure that pursuïng Mastodon development was the best use of my time when it came to making a difference anymore.
As a trans woman on the internet, my work with Mastodon has always been about more than just social media—it's been about keeping people alive. But when it came to keeping people alive, was building this or that new feature really the most effective thing to do? I'm a believer that people are better at staying alive when they have something to look forward to—and so I set my sights on earnestly trying to create things that people would look forward to, much moreso than this or that minor bugfix to their social networking site. (NB: God, I miss the days of publishing works and honing my craft out of the pure and earnest hope that it might help someone through a difficult time. What has happened to my life.)
This manifested itself as the first chapter to a serialized novel, Vague, which I spent most of and the beginning of working on. It was a formalistic, experimental romance novel built upon equal parts comparative literature and shoujo anime. It was, admittedly, probably pretty niche.
ALLIE HART presents: VagueBefore entering college, Violet Oliver only cared about one thing: her schoolwork. Then she met Jordan Ruskin, an argumentative, confrontational boy who refused to show up to class. Suddenly, Violet finds herself developing attachments that extend beyond her schoolwork—but will she be able to attend to relationships that won't result in a grade?
Once it was out—now that I actually had a published something in my portfolio that I could point to as a product of my time, and now that I was starting to pay back my student loans, and needed some manner of revenue stream—I launched my Patreon… and really only attracted a handful of dollars per month in those early days, but it was at least something for my effort, anyway.
It was more than MastoDev had garnered me, in any case.
To be continued.