inessential by Brent Simmons

Why I’m Writing These Particular Apps

On the Rainier Slack group, I was asked why I’m writing the app. What are my goals? What’s my exit strategy?

The below is how I replied. It’s unedited Slack-writing, so forgive me for (for one thing) suggesting that at age 65 I might not be writing code anymore. (I very much hope to be.)

Here’s the deal with Rainier (and NetNewsWire too). I’ve been obsessed with writing this app for many years. I’m 50 now, and have a good day job, and I don’t need to make any extra money. This means I can afford to make the apps I’m compelled to make. They will do good for the world, and I do have political and social goals for them.

But I don’t expect NetNewsWire to be popular like Twitter, and I don’t expect Rainier to be popular like Ruby or Python or Swift. Not even close.

I’ve worked all these decades to be able to be in the position where I have the ability and freedom to write the apps I want to write. Anyone could argue that I should be putting my skills and experience toward something more likely to be earth-shaking, and that’s fair — but I believe I can do the most good by making the apps I was born to make, rather than working at something that doesn’t excite me.

Large numbers of users doesn’t excite me. High-quality, open source Mac apps excite me. Bringing the power I enjoyed with Frontier to a new generation excites me. Bringing RSS reading back excites me.

My goal is just to be able to continue working on these apps, no matter how few or many users they have. My exit strategy… well, eventually cognitive decline will come, and I’ll write less code and do more writing about the apps. And eventually I’ll end up turning them over to someone else (or some group). But hopefully that’s 15 years from now, at least.

These are the apps I need to make. This is an emotional thing, for sure — but I’m rational enough to understand my heart and to follow it rather than to fight it.

Further reading: Love, from 2015, and Why I develop for Mac OS X from 2002.