This excellent article on software quality,
May 5, 2000 9:08 PM   Subscribe

This excellent article on software quality, which is also a review of the Mark Minasi book, is courtesy of Linux Weekly^WDaily News. It has pointers to the anti-UCITA sites, too.
posted by baylink (5 comments total)
This article rubbed me the wrong way. It takes a variety of points and shoves them all together, without really justifying the ties, nor the points themselves.

Off the top of my head:

1. It has been asserted that Open Source development leads to higher quality code. This assertion has never actually been proved. There are examples of code that is theoretically more robust, but in many cases the code in question does a lot less than the competitive products (the only exceptions I can think of being Apache and, to some extent, Perl).

2. Microsoft is held up as an example of bad software development. What's ironic is that Microsoft has one of the best software project management practices of commercial software developers. They do lots of QA, they do lots of usability engineering, etc., etc. They still ship buggy products, but they ship products that people use. People would rather use buggy software that crashes once in a while than bugless software that is unusable. Currently a purely open source environment is simply not feature equivalent to a Windows environment even if you ignore the 90% of MS Word features that you'll never use.

3. UCITA. UCITA sucks, but then, GPL is "NO WARRANTY" as well and has been forever.

4. CMM. CMM is good but applies mostly to project development for well known problems, e.g. large scale corporate database infrastructures where you can apply old knowledge to new development. It doesn't work for new commercial product development because you are, by definition, doing something new. There is a lot you can do to guess better, however, and MS is fairly heavy on that as well.

5. It's unclear whether structured software project management is even applicable to the open source model.

6. The allegory between the car manufacturing industry and the software industry is bogus. The car industry was an oligopoly that was not in any hurry to put out new software and was not seeing rapid feature demand. They put wings on cars to make them sexy. That's not the same as new features in MS Word, which come about as a result of customer demand.

7. Even if all the author's points were true, the alternative will have to be something that brings feature-parity to the table. Linux is not mainstream competition for the current version of Windows until it undergoes another 10 years of development. It's a good choice (faster, slightly more stable, less prone to CMF issues) for users who do not care about usability, who do not need an extensible operating environment, and who are happy living within the limitations that Linux provides for you. It's a bad choice for anyone who is not a geek or who needs mainstream apps.

8. Speaking of Microsoft, they're fairly aware of the problems as well. One of Windows 2000's selling points over NT4 is that it is a lot more stable than NT4. Ditto for Office. Microsoft has always been good at being their own best competitor. If quality becomes a serious issue for customers Microsoft will address it and the rest of the industry will follow suit.
posted by faisal at 12:31 AM on May 6, 2000

10 more years?

It would be offensive of me to ask you if that was a troll, so I won't. But seriously, why do you think that?

Have you seen, even, KDE 1.2? I've taught *a lot* of office workers how to use Win9X in the last 5 years. I could just as easily teach them how to use RH6/KDE. And it would crash a lot less.

Or, such has been my professional experience...

I don't see that Linux has any *more* usability problems than Win9X (it has *different* ones...), and I don't particularly understand your perception that it's less extensible, either.
posted by baylink at 9:08 AM on May 6, 2000

10 more years because there are a lot of little details and polish that make the Win9x interface easier to deal with. Actually 10 years is ridiculous, now that I think about it, because it obviously didn't take Microsoft that long to span the gap, but 5 is certainly within reason.

The kinds of things that need to be done are:

fast imaging model, device driver model, a way to install end user apps without needing to understand the system library model, consistent app widgets, consistent app usability model, some real usability thinking

I have not used KDE. I need to check it out. I've used Gnome, which looked nice, but beyond that was rather a pain to use. Actions and their events were sufficiently disjoint that it was hard to tell what was going on, and the desktop still reflected a fairly "unix admin with a graphical layer on top" feel.

There has been a lot of usability work with the Windows 4.x interface that is targetted to non-geek users. It's hard to see as a geek (and it can be activly irritating), and that gives an inherent disadvantage to people (geek) trying to make Linux more usable: the things that make Linux cooler to use for experienced computer users are the same things that make it a pain to use for people who don't care about computers.

A perfect example of this would be the paperclip. I think it's safe to say that most people I work with and most friends my age have feelings on the paperclip that range from "how do i get rid of this thing" to "how [...] do i [...] get rid of this [...] thing?" On the other hand, for someone like my father, who can just about quote all of Keats from memory but often can't remember how to italicize text in Word, the paperclip is a godsend. It's a little visible recognizable helper to turn to instead of calling me for help 5 times a day, and it teaches him stuff. Geeks can't stand the thing, but for Joe average user it's a big benefit.

Also, when it comes to usability details, Windows 2000 is a lot better than previous incarnations. It's the first version of Windows I can stand using. I'm pretty impressed.

(also: the next time the paperclip comes up, type "fuck off". that's gotten me instructions for disabling it.)

(and to clarify my geek level: I've worked on just about every computer from a timex sinclair 1000 to a cray y/mp-c90, I've compiled unsupport patches into the Solaris kernel and I know the difference between / and \ on the command line and why it matters.)
posted by faisal at 12:32 PM on May 6, 2000

Well, you *can* get Clippy on Linux now...

it's just that he'll give you help on *vi*, which may not be exactly what you wanted.
posted by baylink at 6:55 PM on May 6, 2000

Outward apparent software quality is no indication of inward software quality. I've had to hack on Gnu code and it had all the appearances of being touched by many hands from inconsistent code style (minor) to inconsistent nomenclature (relatively minor, leads to same functions implemented multiple times under different names), to inconsistent argument passing conventions (serious), to inconsistent use of globals (serious), to a misunderstanding of portable (serious).

This type of coding leads more often than not to the "band-aid on a cancer" approach, which is to apply a cosmetic patch rather because it appears expedient than solve the larger problem (which typically is expedient in the long term).
posted by plinth at 5:42 AM on May 8, 2000

« Older idiot savant   |   Moment of Silence. Newer »

This thread has been archived and is closed to new comments