How I Almost Got Fired from Apple (The First Time)

A retrospective by John Calhoun about his early days as a graphics engineer at Apple in 1995, where an unauthorized Easter egg containing copyrighted poetry in the Color Picker nearly cost him his job.

I joined Apple in October 1995. At that time, Apple was circling the drain, getting ready to go down the pipe. You may remember all those conversations about Apple being on the verge of shutting down. It was a little strange that they kept hiring, but apparently Apple figured they still needed one more "graphics engineer" to work on QuickDraw GX technology. I was 31 at the time, living in Kansas and programming games for the Macintosh.

The interview process was a completely unexpected and new experience for me, but ultimately I was offered a position as a QuickDraw GX graphics engineer at Apple Computer, Inc.

Moving with my girlfriend, all our belongings (and two cats) from Kansas to California was insanely difficult, but we managed. As it would turn out, I still had a lot to learn about programming — and about professionalism in general. Right away I realized that I might have bitten off more than I could chew (as a programmer). The other Apple engineers were friendly, but also very smart.

Still, gradually (after about six months) I found my groove, so to speak, and started handling the work a bit more confidently. But I soon realized that I was still an undisciplined country boy who didn't quite meet the standards of a Professional Corporation™.

Shortly after I joined the company, the QuickDraw GX project was deemed a failure, and I was transferred to a new team (ColorSync) and given a new project soon after. Apple had a standard dialog where users could pick a color — it was called the Color Picker. At that time, Apple was also beginning the transition from Motorola 68K chips to the newer, faster PowerPC (PPC) chips. My task was to get the Color Picker project, which had been written for 68K chips, to compile for the new PPC architecture.

The Palettes

HSL and RGB picker palettes (partially written in assembly)
HSL and RGB picker palettes (partially written in assembly)

The Color Picker dialog had a modular architecture with two palettes: HSL (Hue, Saturation, and Lightness) and RGB (Red, Green, Blue). A large portion of the HSL palette was written in assembly, which allowed us to render the color wheel on screen very fast, even as the user dragged the Lightness slider in real time. Assembly is a programming language designed for a specific, small set of chips. In this case, the code was originally written for Motorola's 68K chip family. To get the palettes to compile for the new PowerPC chips, the assembly code had to be replaced.

I had never written a single line of assembly, so you can imagine my excitement. Here's a rough analogy: imagine you're given a book in Chinese and asked to translate it into English, but you don't know Chinese. Okay, maybe it wasn't quite that hard, but I think you get the idea of the problem I was facing.

Overall, I'd say I pulled it off — I rewrote the assembly code in C (a language I knew), and the PowerPC chips had no trouble rendering the HSL color wheel. The PPC chips were so much faster than the 68K that some of the assembly wasn't even necessary.

It's worth noting that handing the Color Picker project to a "newbie" was pretty cruel — it happened because nobody else wanted to take it on. I think that was unfair. Maybe I'm too blunt, but it's true.

And while I often emphasize that many of the engineers I worked with at Apple were far better programmers than me, it should be said that I was the one who never refused any assignment. Quite often I found ways to enjoy even the most unpleasant tasks.

However, the Color Picker had other complexities — lots of new and unfamiliar callback procedures. I absolutely had to guarantee I wouldn't break any of them. Since the project was modular, I decided the best way to understand how the callbacks worked would be to write my own Color Picker palette. Writing code from scratch often gives you a much deeper understanding than studying someone else's existing code. Going back to my Chinese analogy, it was like learning the language through immersion — as if I'd gone to China and was learning the language by living it.

I didn't like the HSL color space; I preferred HSV (Hue, Saturation, Value), because when drawing graphics it was easier for me to think about color in those terms. So I decided right away that I'd write an HSV palette.

My HSV palette
My HSV palette

When my Color Picker finally worked, I felt genuinely interested in the project. That's probably why I wrote yet another palette. At the time, the World Wide Web (www) was a fairly new but rapidly growing technology, so naturally I thought of an HTML palette. I solved that task too. It was more or less similar to the RGB palette, but it used hexadecimal values, and the combined lowercase RGB value like "#FFCC33" could easily be copied by a web designer.

My HTML palette
My HTML palette

Riding the wave of success, I decided to write a "crayon palette." By this point, my Color Picker was already working and I understood it well enough. I simply enjoyed doing it.

My crayon palette with 60 crayons
My crayon palette with 60 crayons

Honestly, at that time this was what I loved most about working at Apple. The engineers were running the ship. As I mentioned above, I wrote the HSV palette because I thought that color space was more intuitive for artists. I wrote the HTML palette because the web had just emerged. And I wrote the crayon palette because I believed that was the whole point of Apple: HSL and RGB are for techies, while most users pick colors from a box of crayons.

I forgot about the CMYK palette and only remembered it while studying screenshots for this post. I suspect David Hayward made a significant contribution to it. And since a large share of Apple's user base was the print market, adding a CMYK palette made sense from a marketing standpoint.

CMYK palette. Colors are specified in percentages.
CMYK palette. Colors are specified in percentages.

And, to my surprise, Apple shipped all of this in the final product. Not a single person from marketing or design had asked for any of these changes. But we engineers aren't just programmers — we're also users, and we often have an intuitive understanding of what other Macintosh users need. We knew what we ourselves wanted. I wrote what I myself would have wanted to see as a user.

Easter Eggs

You probably know what "Easter eggs" are in the context of software. It was always fun to learn about Easter eggs from other Macintosh fans or to share information about them. And when I was working at Apple, that interest didn't go away — except now I was in the same building as the engineers who created those Easter eggs. From time to time, someone would tell me about secrets I hadn't known.

I thought the palettes I'd written were a perfect place to hide an Easter egg of my own.

You're probably thinking: "Ah, so that's why he almost got fired" — and you'd be right.

I don't know whether it was a mistake to try to hide an Easter egg in the Color Picker. It's a delicate matter, since Easter eggs are by their very nature kept secret. Do you need to ask permission to add one? Or do you just go for it and ask for forgiveness later? I think the right thing to do is to tell a few developers about the idea and make sure they like it. Needless to say, I didn't do that.

So what was this Easter egg that got me in trouble? It was a few lines from T. S. Eliot's poem "The Love Song of J. Alfred Prufrock":

"We have lingered in the chambers of the sea / By sea-girls wreathed with seaweed red and brown / Till human voices wake us, and we drown."

The text was spread across several resources in the palettes and used as resource names. These resource names — like the names of image files on a web page — were invisible to the user. Someone would only stumble upon them if they examined the Color Picker's resources. Naturally, someone at Apple was reviewing all the strings included in the OS build, and found the lines of poetry.

The Easter egg seemed modest and unobtrusive to me. I mistakenly assumed the poem was in the public domain, but in any case, a couple of lines seemed like "fair use" to me. However, I should have understood that Apple Computer Inc. was extremely careful about avoiding copyright infringement. (Some may recall the intellectual property issues Apple had dealt with.) But, as I mentioned above, back then I wasn't very aware of the legal complexities facing Corporate America, so I foolishly put the release of an entire Apple operating system at risk.

Fortunately for me, Apple discovered the problem before the OS was pressed onto discs and released.

Called to the Principal's Office

I don't remember the details of how it all went down. I suppose my transgression was reported to my manager, who called me into his office and told me about the fire I had foolishly started. Most likely, he was worried that my antics would reflect poorly not just on me, but on the entire team (and therefore on him). Presumably, at the end of the conversation he told me that I would be called into a meeting with higher-level Apple management, where my fate at the company would be decided.

I don't remember all of that, but I immediately understood that I had royally screwed up, and that my job was on the line.

I do remember meeting with the head of OS development. He was an interesting character from the glorious early days of Apple — we often saw him arriving at and leaving Apple on his Honda Goldwing motorcycle. (He now has a YouTube channel, which he probably started after retiring.)

He gave me a thorough dressing-down. I remember him explaining how many CDs would have had to be destroyed (had they already been pressed?) and how much they would have cost. I think I weakly argued that I'd assumed there were no copyright issues, but he wasn't having it. After my feeble defense, I let him rake me over the coals and more or less accepted whatever was coming.

He may have asked what I thought would happen to me, or perhaps what should happen. I vaguely remember acknowledging the seriousness of the offense and the fact that my job was at stake. I honestly told him that if I managed to keep my job, nothing like this would ever happen again.

And, as it turned out, I kept my job. In fact, for another twenty-plus years. However, the story became a cautionary tale, retold from time to time to new hires so they wouldn't even think of doing anything similar. True to my word, from that day on I became very careful about considering what Apple management might think of any of my actions and their potential consequences.

It's very unpleasant to realize that the recklessness of youth stays with us. Such transgressions in a professional environment like Apple are like boorish behavior in the company of family who then show all their guests your bad manners. Suddenly I was Eliza Doolittle, having embarrassed myself and let down the team.

This was not the last time I revealed my lack of knowledge about white-collar conduct. For example, many years after I started at Apple, my boss asked me why I wasn't contributing to a 401(k). "What's that?" I asked. It turned out that my first day at Apple should have been spent on company onboarding, where they would have probably told me about the 401(k) and shown me where to enter the percentage of my salary I wanted to set aside. Of course, I skipped that whole process and went straight to my office. (At the time, my manager should have noticed this and sent me to onboarding. That was yet another situation where I had absolutely no idea how to behave.)

If you guessed from the title that I was nearly fired from Apple at least one more time, you'd be right — but that time I didn't show the same kind of reckless overconfidence. Perhaps someday I'll write about that too.

Other Easter Eggs

As I said, I didn't end up getting fired. To this day, I don't quite understand why. Maybe Apple management didn't see the point. Or maybe they decided I deserved a second chance and that everyone is allowed to screw up once. Maybe my boss saved me. I don't know.

There were other Easter eggs in the palettes that had nothing to do with intellectual property. From time to time, the crayons in the crayon palette would appear worn down or broken. This didn't affect the Color Picker's functionality, but it looked pretty cute. I believe all the crayons were refreshed at Christmas (we got a new box of crayons!).

There was also a clever way to toggle the display of alternative crayon color names. These were anagrams of the team engineers' names. The only one I remember is "I Born Short."

However, I think all these Easter eggs were removed when the scandal over the poetry lines erupted. Perhaps someone out there knows of other secrets.

Addendum: It seems they actually survived into the release.

A colleague, my boss, and my older daughter (with crayons) at an Apple meeting around 2000
A colleague, my boss, and my older daughter (with crayons) at an Apple meeting around 2000

Epilogue

When NeXT was acquired by Apple, I was a bit surprised that some engineer was apparently given the task of porting the crayon palette from Mac to an early version of Mac OS X. I think it was only then that I realized this palette had finally been "legitimized." It's unclear why Steve Jobs didn't get rid of it.

A closing thought: it occurred to me that if Apple had actually shut down in 1996 or later, the short quote from T. S. Eliot would have served as a kind of obituary. Perhaps when I was writing that text, the sense of "impending doom" was subconsciously weighing on me.

FAQ

What is this article about in one sentence?

This article explains the core idea in practical terms and focuses on what you can apply in real work.

Who is this article for?

It is written for engineers, technical leaders, and curious readers who want a clear, implementation-focused explanation.

What should I read next?

Use the related articles below to continue with closely connected topics and concrete examples.