Programmer appreciation day is the day when we line up all programmers, and you get to slap the ones that have made your life miserable by stupid design decisions. My latest candidate is the people who do the install for PlayNC games. I recently tried to install one of their games. The first thing you download is a "downloader" program. I thought that was a great idea. The download probably takes a long time, so this program gets all of the information needed for an installation and then downloads and installs all at once while I go do something else. I'll just start it up, fill in the information, go away for an hour and then I can come back and play the game, right?
Not exactly. You start the download program and it spends the next couple of hours downloading the install program. Then it runs the install program which has you pick your folders, agree to the user agreement, and click a button, and then it starts installing. The installation takes forever. Then it asks for some more information and continues for another very long time. But it's finally done right? I can go to bed because it's late, but when I wake up in the morning I'll be able to start playing the game, right?
Not exactly. The next morning, you try to start the game and it has you agree to the terms again and then it starts downloading the update, which also takes a very long time. So far it has been running for twenty minutes and it is 1% done. In other words, all of the stuff that it spent downloading yesterday is just being thrown away and replaced with the stuff that it is downloading today. Those hours of downloading yesterday were completely useless. And it looks like my plans for the weekend --try out an online game-- are shot. It takes the whole weekend just to install the damn thing.
Some moron actually decided to do things this way. This isn't an accident like when your car breaks down or a pipe leaks and gives you water damage. This is the intentional behavior of the software, implemented by someone who either was too dumb to see the consequence of his design decisions or too lazy to do it right.