Lemmings, Part II: The "It’s Good Enough" Syndrome
June 25th

Last week I wrote about how much Windows users will put up with. The main point of that column was dealing with the fact that much of the time Windows breaks and that people take this breakage so matter-of-factly. Today I want to touch upon another aspect that also seems to be somewhat stereotypical of much of the Windows world. I have noticed this with Windows programmers, and by extension their software, and I have seen it in the end users as well. This "thing" I have noticed is their complacence when something is "good enough."

Let me make some things clear. Not every Windows user has this approach to life and I have known plenty of people on Macs, Linux boxes, Commodore 64s, etc., and even more who have never even touched a computer who do have this attitude. But from my experience there is an underlying current of this lame approach to life that is symptomatic of many Windows users.

Let’s start with the software side of things. There are lots of Windows applications. Everyone knows this. The very fact that there is far more software available for Windows than the MacOS is an argument that Windows users cling to when bashing Macs. What they usually don’t mention is that most of those apps suck. For instance, in any given Mac market, you may find anywhere from 2 to 5 different commercial apps competing. Of those apps, anywhere from 2-4 of them are likely to be quality programs On the Windows side, you may find anywhere from 5-20 applications competing in that same market. Of those, some 1-3 are likely to be high-quality apps and the rest are likely to be junk. Of course, most of those quality apps probably started life as Mac apps that migrated to the Dark Side, but I digress.

To Windows users, those other 4-17 apps are OK, too, because they are "good enough." Many Windows users will stick with the first app they find, never bothering to see if anything else is better. These apps may not be great, they may be hard to use, but they are definitely "good enough." Mac users tend not to tolerate "good enough," and will only stick with an app if it is great. .This is not to say that later on we will be quick to necessarily change to some new superior software. We seem to be just as protective of our favorite app as we are of our operating system, but we seldom settle for "good enough."

I know a Windows programmer, a very good one at that, who told me during the height of the Mac developer exodus that many PC software firms feel that the best Windows programmers are ex-Mac programmers. This was certainly just his opinion, and not the conclusion of a study, but his words ring true. Keep in mind he has no love for Apple and finds many aspects of the MacOS stupidly out-of-date and frustrating to deal with (his company makes a cross-platform application). Yet he admired the skills that many Mac developers had garnered and saw that those skills made them better Windows programmers than many who had only programmed for the Dark Side.

A key part of this argument is that it is actually harder to program on the Mac than it is to program for Windows. Many passionate Macheads may flame me for that, but Apple, at least until the return of Steve Jobs (along with Avie Tevanian), did little to make Mac programming easy. I have personally heard many Mac programmers complain vehemently about Apple’s APIs, as well as many other aspects of programming for the Mac. Memory handling in particular seems to have raised the ire of many and it is not uncommon for top-notch Mac programmers to have written their own memory handling routines to bypass Apple’s.

This is simply unheard of on the Windows side and furthermore is not necessary. Microsoft has gone to great lengths to make programming Windows apps as easy as possible. In other words, Windows programmers don’t have to spend so much effort thinking, because much of that thinking has been done for them. Microsoft takes care of things like memory handling so that programmers don’t have to worry their tiny little heads about it. The result of this effort by Microsoft is legions of mediocre coders who crank out mediocre software that works. It may not be good, it most likely will not be elegant, and it is almost never insanely great *, but it will work. It’s "good enough." Add in the fact that the Windows market is so astronomically HUGE (let’s face it, the Mac market is utterly dwarfed in all reality), that putting out even crappy software will find a buyer somewhere. This leads us to a market where Windows users are inundated with poor software products that get the job done and are "good enough." They are used to it, just like they are used to paying a high priced nerd to fix their machines.

In contrast, the Mac market is so tight, you have to be a very good programmer to make a living. Not only is the OS battling them while they work, most Mac users won’t accept "good enough" software. We have true survival of the fittest because the tools are poorer and the food chain is more discriminating. The Mac market will reject software that is not elegant. We will usually not buy software that includes too many steps to accomplish something. We will write software development companies and call them all sorts of inappropriate things just because we can’t quit a program with Command-Q. In short, we won’t settle for "good enough."

Not Windows users. They couldn’t care less most of the time. Does it get the job done? "It’s good enough."

There are so very many environmental factors here too. For instance, do Macs make us choosy and persnickety, always expecting great products, or does the need to use the best drive us to seek out the Mac? I personally imagine that it is some of both, though the latter gets most of the credit. On the other hand, certainly someone who will buy a computer just because everybody else is buying it can not be counted on as being particularly selective. Perhaps that is why Windows users will put up with such poor software. I actually think that in this case the environment is more of an influence there than it is on the Mac side. If one never knows quality, one tends not to miss it or even look for it.

I think that this approach to life is not necessarily limited to ones computing platform either. To be more specific: what set me down this philosophically meandering path in the first place (some time ago, this is another of the many columns I have wanted to write for a long time) was witnessing Windows users and their computers. What surprised me was when I had chances to compare those experiences to those seen when watching Mac users. What cemented these ideas was seeing other aspects of Windows users' lives and seeing them once again taking the "it’s good enough" approach. I have often seen that this is a Life Approach, and not just a lack of a sophisticated computing palette.

The best thing is that Mac users take the quality in our computing products utterly for granted, never thinking about the work and skill that went into some of the insanely great products that make our lives and jobs easier. That’s the way it should be really. It is only when the complexities are hidden from us that we approach the true potential of the power of computers. Purists may quibble with me on that, especially purists who revel in the secret knowledge that they have gathered from many years of prying into the dark underbelly of their Macs, PCs, or whatever. But in order for us to have computers for the rest of us, to truly realize that state, the dark underbelly must be sealed away from all but the most prying eyes. Not really hidden and kept from us, but completely unnecessary for us to accomplish our goals. Think Telephones for instance. In the meanwhile, our Windows brethren remain blissfully unaware that you shouldn’t need to click through 3 dialogue boxes to change your monitor resolution. After all, three gets the job done and is "good enough."

* The notable exception to this rule is PC game developers who often produce some of the most insanely great code to ever push a pixel. John Carmack would be near or at the top of this not-so-short list, though astute Observers may remember that his platform of choice was NeXTStep before Microsoft’s embrace of OpenGL pushed him kicking and screaming into the World of Windows. There are other PC developers who are also producing great software, I have no doubt of this, but it is rare in the sea of mediocrity that permeates the Windows software aisles.

Your comments and hate letters can be sent to [email protected].