Computer Easter Eggs

For some reason I’ve always had an odd fascination with Easter Eggs in computer programs. You know, those hidden little programs that do something funky like showing you the development teams of certain hardware and software from within the program? To activate the egg you usually need to do some odd-ball combination of commands in some odd ball order that noone in their right mind would usually do. For instance, within Copernic:

That little tip was taken from this site.

Why do I use this site? Well, that’s getting to my question. I use it because I can’t imagine I’d ever find the damn things on my own. I mean, who the hell could?

So, fellow minions, how are people able to find these eggs without having insider information? Why put these eggs in such places that are impossible for the average schmoe to find? Who are these eggs intended for?

The eggs are intended for the amusement of the programmers. They sneak them into the programs just for fun.

I’m not sure how word gets out, but I suspect the programmers tell their friends and word eventually gets back to the various sites. It’s possible that the programmers contact them directly.

Actually, it’s reached the stage these days that at some places there are design discussions of the Easter Egg, development time is scheduled for it, and QA formally tests it. It’s become a PR thing in some markets.

A fair number of things that sites like that list as eggs are really undocumented features, like “about:cache” in Netscape.

Though most of the really good ones probably eventually “leak” from the developers out into the world at large, you’d be surprised what people find without prompting. For the ones that were actually formally designed in, I wouldn’t be at all surprised if the marketing guys “leak” them in a planned fashion during demos.

Sometimes people get paid for finding them. A company I once worked for had a program with pictures of the developers done as mug shuts with their eyes covered, accessed by some unobvious set of actions on the “about” screen. NSA was a customer. They found it and threw a hissy fit, because they thought the program had been corrupted in some way. For things that were sold to NSA, at least then, they actually had people trying to find undocumented actions in the programs, analyzing all the resources bundled with them looking for things like images that don’t seem to relate to the documented functionality, etc. On earlier terminal based stuff we got static from them because they found the undocumented command line flags used to drive automated QA testing of the product from keystroke files.

I think my all-time favorite Easter Egg was on the old Apple II version of Karateka. If you flipped the disk over and played on the reverse side, you’d be able to play through the game upside down.

The various Excel easter eggs are always pretty amusing, too.

Sometimes developers find them. Developers often poke around in the ROMs for useful tidbits and optimizations. Sometimes they stumble across an Easter Egg. I know a few developers who actively look for Easter Eggs in every new Microsoft product… It’s a challenge and an opportunity to rise to supergeekdom if you’re lucky enough to get there before anyone else does…

yabob-
Fascinating. Especially the part about the NSA. That stuff really interests me. Some of things they do is so bizarre on the surface you wonder what they’re thinking. However, when you stop and actually think about it, what they do actually makes some sense.

Thanks.

slortar-
Ahh… Karateka. Now that brings me back. I never in a million years would’ve been able to remember that name, even if someone had described the game to me. But the second I read it I thought, “Ohhh! Karaaaaatekaaaaaa! Ohh baby!”. The keystrokes, the action, the suspense, the… mobility impaired characters. It all came back to me in rush of geezer-man nostalgia.

I owe you one for that.

Hmmm. HeathKit?

Everyone else-

Thanks. You confirmed my suspicion. Programmers put them in there assuming most outside people will never see them. When they do, cool. When they don’t, well, it doesn’t matter. The programmers know.

Wacky programmers.

Having created easter eggs in software before, I can say it’s a combination of the inside joke, the chance to do some “fun” programming on what might be an otherwise boring project, and the gee-whiz factor of being able to walk into a computer store with a friend and say “check out what happens if I do this… I wrote that.”

Both large software companies I have worked at had policies against adding easter eggs without permission. It makes sense, given that I have seen cases in the past where innocent easter eggs had bugs which caused bad problems, due to the fact that QA was kept in the dark about them, and couldn’t test them. Of course, one of those companies goes so far as to say that anyone caught adding an unauthorized egg will be fired, which I think is a bit much. Oh well. Good thing Silicon Valley is a seller’s market when it comes to programming jobs.