Coffin Lights and Mac OS 9
When I was learning theater lighting in college, someone gave me the worst advice: “never tell the union stagehands that you’re new and don’t know something. They'll just mess with you mercilessly.” I took that to heart the first time I did lighting design for a play with real stagehands. I wanted to look like a professional, so when I was working with the crew to position and shape the light beams, I imitated my lighting design instructor. “That light: please cut it here [motion above my head for the place where the light beam should be cut off with the metal shutter in the light], here [left side cutoff], here [right side cutoff], and here [motion with my foot at the bottom limit of the light.] I moved over eight feet, repeated the pantomime for the next light, and repeated across the stage.
On the night the show opened, I was up in the lighting booth with the stagehand who would run the lighting cues during the show. We were both looking at the closed curtain, lit up to glow as the audience entered the theater.
“Oh! You were trying to do a curtain wash! Why didn’t you tell us? We would have done it right!”
I made the same mistake at a rehearsal for Apple’s 2002 developer convention.
One of the special parts of working at Apple during the early days of Mac OS X was that we were really short staffed. Projects that might be built by an entire team at another company might have a single engineer at Apple. This was both exhausting and exhilarating as an engineer - we had too much work to do, but we also had the control to decide what would actually get done.
The extra work for solo engineers also extended to educating Apple’s developers about what we were building. Every June, Apple would hold the World Wide Developer’s Conference (WWDC), inviting developers from other companies working on Mac software to come to San Jose or San Francisco to learn about the newest features of Mac OS X, troubleshoot with Apple’s engineers, and meet all the other people crazy enough to still write software for the Mac.
Because of the short staffing, WWDC was exhausting for the whole Mac OS X team, especially the developer tools team. Everyone in developer tools would get pulled in to present sessions on their particular tools - the compiler team, debugger team, Xcode, Web Objects, and linker. Folks not speaking would get time slots to answer questions in the developer lab. As the sole engineer working on performance analysis tools - tools for understanding memory use, CPU use, and the like in Mac OS X applications - that meant I was on the hook to give the presentations for the performance tools as well. I presented the session on Apple’s performance analysis tools for Mac OS X for several years. I always felt like I’d spend a couple months working full time on the WWDC presentation and demonstrations, and at the same time putting in another full time job trying to complete implementation work on the performance tools for the sessions. My wife didn’t see much of me in the spring.
By working on the performance analysis tools, I also was visible and known to the management. Bertrand Serlet, our director, had worked on the performance analysis tools at times, and he both thought they were useful and cool. At the dawn of Mac OS X, he also knew that most developers were unfamiliar with the UNIX underpinnings of Mac OS X and didn’t understand how to tune application performance. When we launched Mac OS X in April 2001, many of the third party apps could feel slow and unresponsive. I remember buying the Tropico game in 2001 right after the launch of Mac OS X, and found the “Mac OS X ready” program could take minutes to start up the first time because of a bad API use in Mac OS X. Many more subtle bugs lingered in all the new apps.
For the 2002 WWDC, Bertrand decided that developers needed a reminder about using Apple’s performance analysis tools. At WWDC, he would always present a “Mac OS X State of the Union” talk on Monday (after Steve’s keynote), and would go into detail on the changes in Mac OS X. For that year, Bertrand wanted me to give a quick five minute demo of the performance analysis tools at the State of the Union in order to focus attention on the improvements he thought needed to be made. I agreed to do it.
Apple’s developer relation folks were very strict about preparation for the WWDC talks, both to ensure the content was accurate and positive, as well as making sure that engineers were fully prepared well before the convention. For most of the WWDC sessions, we had multiple mandatory rehearsals with folks from our developer team, developer relations, and marketing present to make sure the talk was as clear and helpful as possible. For the keynotes, there was a whole other level of inspection. For my performance tools demo, I had to meet with a set of executives in a darkened interior room in 3 Infinite Loop (a marketing building I'd never otherwise been in.) They gave feedback on slides and word choice. I walked them through showing them the sacrificial program I'd be using to demonstrate performance problems, and got their begrudging approval.
I also had a mandatory rehearsal up in the convention center in San Francisco the week before to make sure I understood how the stage would be set up, where the demo machine would be. Their goal was to ensure I was as comfortable, smooth, and punctual as possible for the quick demo. Rehearsal or stage familiarization time for the keynote presentation was essential for the keynotes because we wouldn't have any other time to be on stage. For talks later in the week, we’d have intermissions and lunches to get comfortable with the space where we were speaking.
So on the Friday before the convention, I drove up to San Francisco for my rehearsal time. There were a couple stagehands and one of the Developer Relations folks in the cavernous keynote hall, stage and chairs all ready for the audience on Monday. I went up on stage, paced out the space, walked out to the edge to get closer to the audience, checked out the countdown clock (for ensuring I stayed on time). It didn’t take long to feel comfortable. My only surprise was that the middle of the stage had a bunch of grates set down where a solid deck would normally be. Underneath the grates were a bunch of theater lights. I’d done some theater lighting in high school and college, but I hadn’t seen anything like this.
I asked the stagehand about them. “Oh, those? Yeah, they’re coffin lights”.
Oh, coffin lights. Right. Yeah, coffin lights. I’d never heard the term, but assumed they were some technical term I’d never heard. I didn’t want to show my ignorance, so I just looked like I knew what that meant and held back my follow-up question. I walked off the stage, drove back to Cupertino, and went back to fine tuning my full talk on the performance analysis tools for the next Thursday.
On Monday morning, all of us went into the Apple offices on Infinite Loop in Cupertino early to watch the keynote presentation for WWDC. The WWDC keynotes were particularly interesting for us all. Steve Jobs would tell developers and the press about all the great features that would appear in the next Mac OS X, unveil the new pro-level computers, and hint at the directions the company would be going. These were great fun, both because we’d finally get reactions from the wider world about our work, and because we’d be surprised about new hardware. This year’s surprise started early - Steve Jobs came on stage and reminded the audience the Mac OS X had been out for one year, and had already had a quick update to fix problems that the first users experienced. Steve explained that our upcoming release would take Mac OS X from a demonstration of Apple’s future direction into the primary operating system for Apple hardware. To all the developers still writing Mac OS 9, he told them that this was the point where they stopped thinking about Classic MacOS, and start focusing only on Mac OS X.
As he expressed that thought, fog billowed out of the stage and a coffin slowly rose out of the stage. Hidden lights under the stage - coffin lights - illuminated the coffin as phantom-of-the-opera music played. Steve opened the coffin, pulled out an extra-large copy of Mac OS 9, propped it up for all to see, and started his eulogy: “We are here today to mourn the passing of Mac OS 9… He’s now in that great bit-bucket in the sky, no doubt looking down upon us with that same smile he displayed every time he booted.” Steve walked back over to the coffin, put the boxed copy of Mac OS 9 back into the coffin, closed the lid, and placed a single red rose on top. The coffin slowly descended back under the stage as organ music played.
That’s how I learned what coffin lights were.
Comments
Post a Comment