(no subject)
Mar. 10th, 2026 01:07 pm[Phosphor] The more I interact with software, the more I'm convinced that app making is a kind of trap.
In the wake of Simply Plural being sunsetted, I'm seeing a lot of people announcing that they're going to make a new plural app. And don't get me wrong - I think it's good to have options. I don't want to dissuade people from trying new things. But I genuinely don't think many of these people know what they're getting into, especially the people who say that their future app is also going to have online functionality and social features.
See, a lot of non-devs and novice devs think that making an app is a one-and-done kind of deal. You have to write a bunch of code and get it working and that's a lot of work, but once you're done, you're done, right? WRONG.
For one thing, scope creep is a thing. It's so easy to get overambitious with your featureset, and even if you rein yourself in, your users will inevitably want more. Some of their requests will be unreasonable, some will be reasonable, and either way, you'll be stuck developing until the end of time if you try to fulfill them all.
Let's say you're good at saying no, though. Let's say you succeed at implementing every feature you want and you won't add any more. Now you're done, right? NOPE. Because software doesn't exist in isolation. Your apps run on a phone or on a browser or on a desktop, and all of these change, and more often and more significantly than you'd think. Phones especially are vicious about change - I can't begin to count the number of times I've gone to install an app only to find that it won't work on newer versions of Android, or the times I've installed a phone update only to find that suddenly parts of an app's UI are now broken because they got shoved off the screen or whatever. (And it's not just an Android problem - this happens on iOS, too!) Browsers and desktops tend to be less dramatic, but they also still change. Either way, you will have to continue updating your app to make sure it works on every platform you've developed it for, with no end in sight. Are you ready for that commitment? Are you especially ready for that commitment when it involves making your app work for over a dozen different models of phone that you don't own, where your only way of knowing what's going on is incredibly vague bug reports from your very non-technical users?
And if your app has any kind of server and database, the load only increases, because that's something else that you have to maintain. People are always finding novel ways to break shit, or break into shit. Are you prepared to deal with your servers suddenly going down at 3 in the morning? How about while you're across the country? Do you have a game plan for if someone hacks into your database and steals all of your users' data? Because I promise there will be jerks who will do all that for a laugh, especially if you're hosting a service for a group as stigmatized as the plural community. Can you tolerate always being on edge, always being vigilant for some new disaster, especially as your userbase grows from a few dozen to hundreds to thousands to more?
And if you plan to have any way for your users to interact with each other, are you prepared for the inevitable moderation nightmares? Do you have a way for users to report issues to you and a way to verify their claims? Do you have a plan to prevent problem users from just reregistering after they're banned? Can you tolerate witnessing some of the most vile shit in the world, up to and including literal CSAM? Are you prepared to make agonizing calls on gray-and-gray situations where no one is wrong and no one is right and everyone is hurt? Are you prepared for people to take every decision you make with the worst possible faith, to outright lie about you and to uncritically believe those lies?
And in addition to the maintenance work, servers cost money. Hosting images especially costs so much money. Do you have a plan for funding them that isn't just "keep paying for them out of the goodness of your own heart?" (Because shit happens, and all it takes is one career loss, one accident, one medical emergency to wipe out your savings.) If you're providing the service for free with an optional subscription, are you sure people will choose to pay you? Are you prepared to wrangle payment processor bullshit? Reports (both truthful and not) from users of their subscriptions malfunctioning? Are you ready for people to make bullshit claims about how you're an evil capitalist profiting off a marginalized community when you're not even fucking making enough to cover operational costs, let alone to live off of?
You might say, "well, that is a lot of work, but I won't be doing it alone. I'll bring on other people to help." Cool! Can you trust those people? Like, can you trust these people as coworkers and not just as friends? Can you trust them to not abuse their position? To keep their professional cool when users get impatient? To not gossip about sensitive information and to not accidentally let slip important development credentials? Do you have a plan for if a user comes to you with reports that one of your staff has been abusive? Do you have a plan for handling conflict between team members, including conflict that involves you? Do you have a plan for if a key team member gets hit by a bus? Do you have a plan for if you get hit by a bus?
(Also, don't even think of using generative AI. All the environmental and labor issues aside, genAI is not anywhere near enough to replace a skilled developer. It's more akin to a glorified autocomplete. Autocomplete might save you the effort of writing a few words, but it is not capable of thinking critically about the meaning you want to convey. So too with code - good code is not just a collection of scripts, but a collection of decisions about structure, data, and tradeoffs. Generative AI cannot make those decisions with any amount of reliability. And you should trust it with moderation even less than you should trust it with code.)
And finally, what about you? Health, money, time, motivation - none of these are guaranteed to continue into the future. You may lose your job, if you had one to begin with. You may lose your housing, if you had any to begin with. You may become disabled in new ways. You may just burn out, after years of dealing with more demands, more problems, more petty conflicts. Can you keep going, even then? And if not, do you have a plan for getting out?
This doesn't even cover everything. I'm positive that if I sat here I could think of so many other Ongoing Things. And again, like, I can't control what anyone does. If you truly in your heart want to make A New Plural App, then I won't stop you. But please, take some time to really think about what you're getting into. Go in with a plan, at the very least.
(At some point I might expand this into an essay about resource-making in general. I just really needed to get my thoughts as Someone Who Did Software For A Job out there.)