jww@sdcsvax.UCSD.EDU (Joel West) (08/24/87)
In the better late than never department, here's a summary (from my notes, not memory) of a meet-the-programmers talk that Steve Capps gave at MIT during the Boston show. The talk was sponsored by the Boston Computer Society. Steve followed a talk by two MacApp programmers, including Larry Rosenstein (I arrived late, so I missed the first guy). Larry's pitch for MacApp was impressive, and he had a nice set of tips for optimizing QuickDraw performance (can you share these Larry?) but as a current Apple employee, his remarks were, well, not as colorful as those of Capps. Steve seemed intent, in fact, on being controversial. One of the first things he said was "I think the IQ of Mac programs is going down fast." By that, he meant, the newer programs seemed unimaginative and conformist. He held up SuperPaint as an example of a user interface that was "ugly." "Everybody says you have to follow Mac standards. It's not using your brains, it's using an excuse," he continued. To illustrate a counter example, he pulled out Studio Session, and showed its context-sensitive editing capabilities. Instead of having a separate tool palette for each function - selecting for the clipboard, moving the note up/down, etc. - the tool was made context-sensitive. You want to change a note, you grab it. You want to select a passage, click on the selection bar below the score and the score is selected. (Also on Studio Session, he pointed out how he got 6 voices - and could have had 8 - when the standard Sound Driver is only 4. The standard Sound Driver uses a 22 kHz sampling rate, but the -3 dB point of the electronics is 8 kHz, so most of it is wasted; Steve said he used an 11 kHz rate instead.) On the Macintosh, Steve said two people really deserved all the credit: Steve Jobs and Bill Atkinson. Although Andy Hertzfeld did QuickDraw, it was a transcription of Bill's graphics code from the Lisa, according to Steve. Capps told several stories about how things were designed, for example, the iterative design of the Standard File dialog by Atkinson and Capps. There wasn't any theory, but just a series of designs that were being presented to Jobs for the yeah-or-nay approval. In retrospect, he wishes the ellipsis were used in the middle of a long file name, not the end. Capps also felt that the Finder had evolved through accretion and was long overdue to be thrown out and started over. "It's like a grandma you're keeping on a life-support system." There was too much code, he contended, that was left over from the days of the 128K Mac that should be removed. His favorite finder was 4.1, which had more features than its predecessor (1.1g?) but was smaller or nearly the same size. On the relationship of Hertzfeld's Servant and Apple's new MultiFinder, Capps joked "Ripping off is the sincerest form of flattery" to which a heckler replied "...if they pay you six figures." Steve showed his graphics/sound demo that was used at the Mac II intro. He confessed that it required a special high-speed hard disk and 8 Mb of memory. And, in fact, for technical reasons he was unable to explain, the system was a little slow for the demo and the sound track finished before the video portion.
dillon@CORY.BERKELEY.EDU (Matt Dillon) (08/24/87)
>(Also on Studio Session, he pointed out how he got 6 voices - >and could have had 8 - when the standard Sound Driver is only >4. The standard Sound Driver uses a 22 kHz sampling rate, >but the -3 dB point of the electronics is 8 kHz, so most of >it is wasted; Steve said he used an 11 kHz rate instead.) An interesting note since people have been discussing sound a bit: A good rule to follow is to sample at double the maximum frequency you will you will ever output. In actuallity, you want to go a little faster. Any frequencies above MaxF/2 create what is called 'aliasing'. This is why CD's sample at such a high frequency. Aliasing is considered a worse problem then 'bits'. If you had the choice between 8 bits at 44Khz and 16 bits at 10Khz, the 8 bit sound would be audibly better (*much* better). The standard method to remove aliasing when sampling at low frequencies is to have an anti-aliasing filter. The implementation of such a filter digitially usually requires a 2:1 or 4:1 oversample (which defeats the purpose in many applications). Thus, such filters are usually analog and placed after the DAC. With such a filter installed, you can easily output frequencies at MaxF/2 (though it is still about 3Db down, I believe), and frequencies above that don't cause as much distortion as they do otherwise. Sound programs can design around the aliasing problem by carefully calculating the waveforms of the instruments. Voice and digitized (anything) almost require the filter if you are not sampling at a high enough rate. Antialiasing filters are low-pass filters, BTW. -Matt