You may be familiar with some of my open-source projects. I wouldn't have made them if I didn't enjoy writing software for myself and others to use. Sometimes, though, I overwhelm myself with expectations out of these projects. They have to be good enough for other people to see and use them. See, it's not important if I have to use janky software I wrote, because I understand it and it's just whatever. But if other people experience that, that's definitely not okay. This honestly affects my motivation to work on some projects, especially ones that I know other people use (mist, i'm looking directly at you.)

Image showing my last mist commit, a cargo update, and its age: 3 weeks

What happens when I think too much about people using my software

It seems like only every several weeks that I can put together the motivation and drive to work on it, which is really unfortunate. There have been times in the past where I was incredibly passionate about mist and improving it to the best it can be, but right now I just can't find it. The worst part is, I still enjoy programming and improving mist, when I can actually make myself do it. But thinking about doing it, that's where the real hangup is.

This effect isn't exclusive to mist either: I've run into user-experience paralyzation on projects that have never seen the light of day. Discord bots, small utility programs, entire games. All projects that at some point I felt passionate about, but hit a wall once I started thinking about how other people would want to use them. What if it's only intuitive for me? What if this small problem becomes really inconvenient? How do I make the program make the most sense to others? Obviously, these questions are asked by actual ui and ux people, and are important in many situations. However, they just cause me to enter an endless cycle of making probably pointless changes rather than doing what I actually want. And it sucks. I guess this sort of burnout is probably common for open-source people, but I'd imagine it sucks a lot more when you actually... have users. Which I barely do.

I honestly have a lot more fun when I take the mindset of "this program will work for me, and if it works for you, that's great, if it doesn't, sorry :3". And nothing gets done on these projects, which are just in my free time, when I'm not enjoying it at least a little. I wouldn't have started them if I didn't enjoy doing it or have some incentive when I started.

So, to keep my projects afloat, I'm going to try to program just for myself more. I don't think this will have immediate effect, especially on things like mist where I don't even use many of the features, they were only added for other people. But for my other, less-used projects, I will enjoy myself more if I don't think quite as much (not ignoring completely, for obvious reasons) about how other people will feel about it. Publishing my code and contributing to others' projects honestly helped me feel better about communicating with people and about my own work, and I want to continue that, not have software become something I only do because I'm obligated to. I'm barely even obligated to! It's honestly all just internal!

Anyway, right now I'm writing this because I have something like 7 different potential projects in the ideation stage, and I'm trying to force myself to realize that they really don't have to be anything super professional or special. They should all be cool though if i get around to them.