We Slavs are the best at hating. Do you want to hear a long, thoughtful rant about how everything is fucked? Ask a Slav for an opinion. Didn't ask for it? Oh well.
This rant is an answer to the somewhat viral post of Nikita Tonsky (who I admire) titled "Software disenchantment": http://tonsky.me/blog/disenchantment. Usually, I try to ignore rants and avoid doing it myself, but it was hard to not notice because of universal approval from people that I follow on Twitter. It landed too close to home, to resist the call of genes.
If you didn't read the post, Nikita paints a depressive reality where text editors and chat messengers eat hundreds of Mb RAM and work sluggishly even on modern machines. In this world, $1K-worth phones become unusable after two years of use and updates for its app weight way too much to download on cellular. Doesn't it sound painfully familiar? Yeah, we live in this world. He demands to stop this nonsense and start caring.
Another side of the problem
While I agree virtually on every point, there is always another side to the problem.
In short, I express my point by rephrasing a Russian musician that once said: "The problem of shitty Russian music is you because you are listening to shit." Yeah, you have to blame yourself as the part of the industry that makes engineers ship more and more features because it's you who's demanding innovations for $1.
As a software engineer, who once thought that programming is art, I believe that the situation is terrible. It hurts to see the current pace of software development without care for small details. Our Predecessors fitted apps and games into 48Kb or RAM while we can't build a chat app that won't work on anything worse than $2K laptop. First Doom could be stored on two 3 1⁄2-inch disks, while nowadays you need at least a DVD to store node_modules.
As a small software business owner, I understand that everything comes with a price. Performance is always just a feature in a massive backlog and often not even important one. When you have to choose between making a piece of art or solving customers' problem, I'll choose the problem because they pay for that. A business that focuses on wrong values dies, and it's always better to be ugly than dead.
The price you'll have to pay for that is high. Do you want to have more space on your phone? You'll have to pay for it. Get a new phone with more space or pay x10 for devs (instead of ridiculous $1 that you so used to). Want to shrink bloated node_modules? Pay for that by handwriting everything from scratch. Want to have the support of every possible device on your Windows 10? Pay for that by downloading those 4Gb.
Performance is a feature
Sometimes performance and size are competitive advantages and worth pouring money on that. Nobody plays games that are laggy. Nobody wants to have a brick-sized phone in a pocket even if it works for weeks without a recharge. People don't watch blurry porn neither they ready to wait for a Netflix buffering every minute.
But more often customer don't care about that. They don't care about 30-minutes long Windows 10 update as long as it improves security and provides bug fixes. They ready to pay €7.5 per seat for Slack as long as it enables efficient team communication (not my opinion, but that's another story). They don't use Google Inbox because it's fast and smooth but because it solves their problem for free.
If you think that you'll be able to win over Slack by building a client that fast and slim, then you're wrong. Even if you can get to the market, because of the time you spent on polishing the experience the competition will be far ahead of you.
Wait for it
“If you wait by the river long enough, the bodies of your enemies will float by.”
If you wait a little longer, you'll see fast Slack, fast Windows updates and longer battery life.
That is the most beautiful thing about that. Even if my product is ugly today, but I'm solving the customers' problem and getting money for it. Eventually, I'll make it nice. If it's slow, I'll make it fast.