[net.micro.amiga] "Undocumented features" and defacto standards

CTFerguson.DT@HI-MULTICS.ARPA (03/22/86)

From: "Charles T. Ferguson - SCTC" <CTFerguson@HI-MULTICS.ARPA>

     And that's it!  Hope you enjoyed this programmer's tool, brought
     to you by the meek, humble, and distant

        =RJ Mical=
        Director of Intuition

     [PS: this will work with the 1.1 release of Intuition.  The
     mythical forthcoming 1.2 release of the system may not support
     this shortcut, unless the powers that be (Oh great and powerful
     and wonderful and handsome and strong Jim Mackraz, are you
     listening?) leave SetWindowTitles() as is.  The cost would be
     that that SetWindowTitles() will *always* redraw the entire
     window frame, whether or not its necessary.  The benefit is that
     programmers get a RefreshWindowFrame() function *today*, with the
     1.1 release of the system.  Cost too much for this great benefit?
     I don't think so.  You decide.  But be forewarned that until
     Mackraz (current Intuition guru) blesses this, it may not work
     with the 1.2 release, although if enough people start to use this
     "undocumented feature" of Intuition it will de facto become a
     documented feature.  Or is that treason?]
     
----------------------------------------------------------------------

RJ Mical, you are playing a dangerous game when you encourage the
development of 'defacto' standards for operating system extensions and
the use of 'undocumented features'.  Allow me to relate some folklore
about a computer company (name withheld to protect the incompetent)
which allowed defacto standards to propogate through their customer
community.  I cannot guarantee the accuracy of every detail of this
story (such is the case with folklore).

The computer company developed some new hardware which was intended
to be their flagship system for the future.  Some software types
developed a primitive operating system for the machine to allow
development and testing of a more comprehensive operating system.
Somehow or another some customers got ahold of the primitive operating
system and developed some applications for it and enhanced its
capabilities somewhat.  Most of the 'enhancments' were to provide
features commonly provided by operating systems which were absent from
the primitive OS due to its limited intent.  The company apparently
made no effort to prevent the spread of these features since it had
plans for another operating system.

At some future date, when the comprehensive operating system was
produced, it didn't sell.  The primitive OS had become a defacto
standard.  The computer company was faced with a delima - terminate
the primitive operating system and P.O.  a lot of customers or make it
a standard product.

In the situation described above, the marketing pressures were very
difficult to ignore.  The company decided to make the primitive
operating system a standard product.  Unfortunately, the primitive
operating system was very poorly engineered and the 'customer
enhancements' were a patchwork of kludges.  Furthermore, the kludges
had become 'defacto standards' - everyone was using them.  

In short, the operating system got worse over time and got to the
point where OS maintenance became very expensive.  It was finally
decided to re-engineer the operating system and to produce a new
version where things were done 'right'.  Guess what?  There was such
marketing pressure to preserve the applications programs of the
customer base that the 'kludgey' applications interface had to be
preserved for the new version!

And the moral is - 'defacto standards' take on a life of their own.
Bad defacto standards have a tenacity for survival equal to good
defacto standards.  Generally speaking, 'customer enhancements' to an
operating system are designed for expediency in solving an immediate
problem and not for longevity.  

The Amiga's operating system is conceptually elegant in many ways.
Having worked with both CP/M and MS-DOS, I think it is at least an
order of magnitude better than its predecessors in the personal
computer market.  The thing I like about it most is that it appears to
be well engineered.  I have no doubts that the remaining bugs in it
can be found and remedied in a timely manner.

When contemplating future releases of AmigaDOS, I would hate to see
its developers mired in a plethora of 'customer enhancements', defacto
standards, or undocumented features.  Such an environment can really
frustrate progress and improvement.  On the other hand, it is the OS
developer's responsibility to provide a comprehensive set of tools to
meet the customer community's needs (which this other company did
not).  If an initial release of an operating system does not support
an essential feature or a customer requests a reasonable enhancement,
the OS developer should provide an interim fix which maintains a
migration path for future releases of the OS.  Otherwise, customers
will (and have) taken matters into their own hands.

                              Chuck Ferguson
                              CTFerguson @ HI-MULTICS
                              Honeywell, Inc
                              Secure Computing Technology Center

-----------------------  D I S C L A I M E R  ------------------------

My employer, Honeywell Inc., always agrees with everything I say, do,
or think.  Why just this morning, the Chairman of the Board was
telling me how much he liked my ideas on this subject.  He said,
"Chuck, you've got great ideas and I like you alot..."