Modern software is broken
Is delightful software a thing of the past?

There were pieces of software that made my childhood joyful. I drew silly comics in Paint with a mouse. I wrote essays in Notepad and uploaded them to the school website so my friends could read them. Software was my paper, my pencil, and my crayons. That was when I first dreamed of making software that many people would use someday.
However, these days, I no longer feel that kind of delight or joy. Then I came across ryOS by Ryo Lu, the Head of Design at Cursor, and a thought hit me. Maybe modern software is broken.
Slow and heavy
Hardware has dramatically improved over the decades, and so has software. Today's software can do more than it could just a few years ago. But these days, I think it is too much.
When I open Discord, it consumes more than 1.2GB of memory. It could be argued that this is due to features like reduced latency and improved audio quality. But actually, it is not. It is because they are using additional abstraction layers like Electron.
Modern software is often built as a web app and then wrapped with Electron. Developers can easily build and ship desktop apps without having to build Chromium from scratch, which is quite annoying. But there are also trade-offs: software has become heavier and slower.
Of course, Electron itself is not the real problem. Poorly made software also exists. Xcode takes about 12GB just to install. Once you run it, you're forced to install a 5GB AI autocomplete feature + separate downloads for each target platform. It is heavy, slow, and crashes often. A total mess.
Too many features
I was a huge fan of Notion in 2017, but I don't use it these days. When I open a page, it takes 2–3 sec to show the content. It is hard to find relevant articles; it feels like everything is scattered.
Notion was a writing tool for modern thinkers, but after it became an All-in-One Workspace, it started to include so many features and now... I feel like it is a bit too complex for me.
Modern software is born with the fate of becoming complex. As users grow, so do their needs. As businesses grow, they expand into new areas. More features can make a product more powerful, and that is good. The problem is that most teams fail to manage complexity. They just keep stacking features. You can see it in bloated menus and settings screens.
A product that fails to manage complexity also loses its identity. Once it loses its identity, words like "we made for you" don't work, and that is why we have to ask the hardest question: "What should we not build?"
Nobody needs it
"People no longer buy what they need. They buy what they want." (Reborn Rich)
If you open X/Twitter, you'll see lots of new software launched every day. But finding something truly useful feels almost impossible. The number of junk software has started to increase.
LLMs have lowered the cost and effort of building software, and they also help me a lot. But this increasing volume has a dark side. Let's say we scored the quality of all software in the world. I'll bet that the average is going down. A world full of unused software. Poor software also makes users feel worse.
Looking back at myself
Pros and cons always emerge when something progresses, and we can't simply glorify or vilify it. (Consider that some software takes 500MB of memory. Would this be painful for normal users? Sensitivity varies.)
Still, I want to build good products. I want people to feel joy, curiosity, and excitement when they use what I make. That is why I obsess over small interactions and overall structure.
Even so, I sometimes feel anxious. What if I am just another person making broken software? And even if I'm not, how long can I stay that way?