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..."