I'm going to beat a lot of themes to death on this blog. This post introduces one of these themes.
The whole point of this blog is to talk about how we can make software less annoying. You can't solve a problem until you've identified its causes, so a lot of the discussion will be about what causes existing software to be annoying. Today's topic is probably the #1 reason a lot of software sucks: inertia.
20 years ago, programmers didn't have any idea what computers would turn into. 20 years ago, computers were nothing more than a way to simplify basic tasks. Mail became email. Filing cabinets became your computer's file browser, and buttons in real life became buttons on a computer screen.
No one thought of computers as an entirely new way of interacting with information, which meant that no one thought of trying new systems and user interfaces. It turns out that email shouldn't actually model snail mail and folders aren't a good way to organize data. The problem is, it's too late for a lot of people.
There is so much inertia from the past 20 years that most computer users (and the developers themselves) simply can't change the way they view basic tasks like organizing files. Most tech-savvy people recognize that folders are out-dated and inefficient. Labels (or tags) make way more sense. But to someone that's been putting files in folders for the past couple of decades, folders seem familiar and that's all that matters.
Here's another example: you know how just about every computer has some sort of menu or application launcher running across the bottom of the screen? Have you ever considered how much more sense it would make to put that bar along one of the sides of the screen instead? Most computer monitors are wider than they are tall, and having a vertical start menu allows for several times more options to be visible at once. It's my opinion that basically everyone should switch to a vertical start menu, but I'm guessing that nobody reading this will actually make the change just because it's not what you're used to.
There are countless examples of the overall user experience being held back because years ago designers made some decisions that simply don't make sense any more. Unfortunately, the only real solution is for software developers to start making decisions that the customers won't like at first. It's a difficult thing to do since the customers are obviously the reason we developers stay in business, but we can't just keep sitting on the same mistakes from the past.