I Will Never Bad-mouth Microsoft Again

stack of fishI swear on this stack of fish that I will never criticize software manufacturers again.

I realize a stack of Bibles is the traditional swearing on stack but I did not have a picture of that, whereas as fish stack was available.

Also, if as very probable, this turns out to be a lie, I won’t feel so bad breaking an oath made with my hand on a combination of pike, perch and bass.

What is the source of this fish-y oath, you may ask? As is so often the case when we repent of our misdeeds – guilt brought about by seeing our past in a new light.

Yes, I admit it, more times than I can count, when Microsoft Word crashed or my document imported from Open Office looked like some mysterious treasure map from an Indiana Jones movie or any other piece of software did not work exactly as expected all of the time, I would grumble to myself (or the entire office),

What is WRONG with the people who make this stuff? Don’t they ever test anything before it goes out?

Then, there are the continuous updates, every time I turn on my computer, it seems like.  Again – guilt – for scowling and growling,

“For the love of God, another update! Why can’t you people get your act together and release something that works the first time?”

Now, I know. Yes, we do a lot of testing at 7 Generation Games. However, let’s just say there are 160 different points at which a student makes a choice – they answer a question about the number of arrows needed to shoot the attacking wolves, the spot that is half-way between Fish Lake and Small River, whatever. At each of these points, they are either correct and one thing happens or are incorrect and another thing happens. So we have 320 possibilities. However, each of those 320 possibilities leads to different paths, at the next step, if they got the problem wrong, for example, they can select one of three methods to study, so that is 480 paths sprouting from the 160 wrong possibilities. After they study, they may have an option to study more or be directed to a quiz, so that is 960 possibilities  — the point is, complexity grows very, very quickly and it is impossible to test every single eventuality.

For students who get every answer right, the path has been well-tested. For one reason, we can imagine how infuriating it would be to get the right answer and have the game quit or you or not be able to go to the next level. For another, it is a common path, especially in the beginning levels, to get the answers correct.

Any good software, though, should meet the needs not just of the 80% who will get the answers right in the beginning, but also the 20% that will get them wrong, or get them right but try to go back and canoe the rapids again instead of moving to the next level or decide, hey, I don’t want to shoot these wolves, I’m going to climb down from the tree and try to make friends with them.

The answer to why Microsoft Office or the latest video editing software you downloaded or anything else is not perfect boils down to three things, complexity, time and money.

Once you get past the most basic software, say, a simple calculator, there are so many moving parts and possible connections that by the time you tested every possibility you would have used up all of your funding and new hardware would have made your program obsolete.

Of course, you could hire massive numbers of people, thus running through your funding even faster. Even that doesn’t solve the problem, though, because you would have to integrate all of the information coming in from your massive number of testers and the work being done by your massive number of developers, which also takes time.

I’ll never badmouth Nintendo again, either.

I’ve mocked graphics in games, dialogue, voices –

Gee, you would have thought they could have done better than that!

They probably could have, given an infinite amount of time and money. We do some video and sound editing, we have good artists. We also have a schedule and a budget. There comes a point when I have to say,

We need to wrap this level up and go on to the next one.

This usually drags away everyone working on it kicking and screaming because we all know we could do better.

Everyone making software could do it better if we had an infinite amount of time and money. Since we don’t, we all do the best we can do at the moment, then iterate, coming back to make it  better each time.

We do it and if you end up developing anything much past “Hello, World”, you will do it, too. Think about that the next time you’re ready to go hating on Adobe for their 1,487th update of the month.