Easter eggs in Microsoft OS “grounds for termination”, says veteran employee |
Yesterday I wanted to blog about how a Microsoft policy I saw mentoned that didn’t make any sense to me. I’m sure for those who actually work there (not me) there must be some reasonable, logical explanation but for those of us who are Microsoft customers, it’s this kind of thing that makes us shake our heads and sigh. Yeah, and go hmm too.
The bone of contention: Easter Eggs, and Larry Osterman explains:
Here’s the Easter Egg: On MS-DOS 2.0 (only), if you hit “CTRL-R” at the Y/N prompt, it would print out the string “helped with the new DOS, Microsoft Rules!” To my knowledge, nobody ever figured out how to get access to this particular easter egg, although I do remember Peter Norton writing a column about it in PC-WEEK (he found the text of the easter egg by running “strings” on the recover.com binary).
Nowadays, adding an easter egg to a Microsoft OS is immediate grounds for termination, so it’s highly unlikely you’ll ever see another.
Wow, check out Larry Osterman’s [Channel 9 bio] blog comments. They are even better than his post (no offense).
Let’s apply some gaming logic here. In the gaming arena, it’s standard fare to include Easter Eggs and why? Gamers love them! It seems from the text above that Microsoft doesn’t mind having easter eggs in their games and only (?) objects in their OS?
Why?
People like discovering new things. Microsoft programmers should be allowed hide a few bonus mini games, functions, features and over time if not discovered leak to people that they are in there. Who knows, it might actually get some users even more curious and excited about Vista. These Easter Eggs can go through Project Managers so that programmers aren’t putting in backdoors into people’s systems or doing anything illegal and/or that would get the company in trouble.
One of the commenters, Phaeron claims: “I think it’s a shame, though, that a team isn’t allowed at least one planned easter egg, for that personal touch. One of my sources tells me that a recent version of Word would have had an acceptable real-time strategy game in it were it not for this policy.”
Maybe the teams could get together and run contests for the best Vista Easter Eggs to ship in the final version? Yeah, make it fun for the group. Run an internal contest, leak this to the employees blogs that the policy is changed. There is a marketing opportunity here, Microsoft. Think about it. Really.
If I was a programmer at Microsoft I’d be disappointed by corporate policies like this one. I see Easter Eggs as a win-win-win for the programmer, the company and customer and the only negative I see is code from some rogue programmer creating an Easter Egg that turns out to be a security hole. However, as mentioned above these Easter Eggs should not be allowed to be created in a total vacuum, there should be at least some peer review of the code.
Note: I just noticed before publishing this that Mr. Osterman follows up with another post explaining in more detail the policy:
It’s about trust. It’s about being professional. Yeah, it’s cool seeing your name up there in lights. It’s cool when developers get a chance to let loose and show their creativity. But it’s not cool when doing it costs us the trust of our customers.
[sigh]
Doesn’t seem like the commenters en masse are buying this one either. Wasted opportunity to loosen up a tie or smart, responsible business move? Your thoughts?
Did this post make you go hmm?
Maybe Related Posts (plugin generated)
- Firefox 2.x easter egg jabs competition
- Easter Egg heads revisited
- Happy Easter take three
- Millennium Falcon in Star Wars 3
- It’s not all fun and games working at a game company
- Your head on an Easter Egg using Photoshop




Adding easter eggs to software decreases the quality of the product. You’re adding additional (untested) code into a binary. As this code is only activated by some magical combination of things, it’s essentially dead code, except for that one time. Writing the easter egg also takes away important test and dev time from the actual product itself. If you’re writing code that’s so good that you can waste time on easter eggs, you shouldn’t be working for anyone but your own new master-planned startup.
Comment by Elliott Back — October 23, 2005 @ 2:14 pm PST
The answer’s simple: government. Government doesn’t want secret or unapproved code in software.
Comment by Jeremy Wright — October 23, 2005 @ 2:48 pm PST
Which government, Jeremy? If you mean the USA, I doubt that’s the case. In countries like China where words on webpages are problematic, I could definitely see that being the case. Also, the code wouldn’t be unapproved, it would need to be approved by a PM as I suggested above.
Comment by TDavid — October 23, 2005 @ 3:06 pm PST
I’m sorry, TD, you’re asking for easter eggs to be PLANNED, approved by a PM, tested, rolled out to test centers and for what? A little user FUN?
Not sure I see the benefit to Microsoft. And, yes, I meant the US government. I got the backstory for Larry, feel free to do the same
Comment by Jeremy Wright — October 23, 2005 @ 3:14 pm PST
Ship schedules are really tight. Often times, you barely have enough time to dev/test the features that matter the most… let alone Easter eggs. It may be fun, but if you have enough time to waste on an egg, then you simply have too much time on your hands and the product should have been shipped ages ago.
Government regulations are also fairly clear on the matter, as has been described by others. Why risk losing a contract for useless code?
Comment by Maurice Prather — October 23, 2005 @ 3:23 pm PST
Elliot - I wasn’t talking untested, unauthorized code here, but adding code as part of the production and debugging path but just not documenting it. It’s odd that you link in from your videogame subdomain because in the video game market easter eggs are an important part of the marketing.
And while on this track doesn’t Windows ship with games? Doh! Last time I checked Solitaire was one of the most popular games in Windows. I’m not suggesting Windows needs easter eggs in network communication functions but what harm would an easter egg in Solitaire be? Obviously Solitaire isn’t part of the OS, so I’m probably expanding this well beyond the context that Larry mentions above.
People in Government aren’t going to be seeing/using Solitaire — and if they are and there is an easter egg, then who’s fault is that?
As for this: “If you’re writing code that’s so good that you can waste time on easter eggs, you shouldn’t be working for anyone but your own new master-planned startup.”
I guess what you might call a “waste” of time, others might see differently. Read the comments at Larry’s blog. Customers *like* easter eggs. Other programmers might not appreciate them in some circumstances but I can wear both hats.
Can’t you?
Comment by TDavid — October 23, 2005 @ 3:28 pm PST
TDavid, I read Larry’s comments. Seemed half the people understood why corporate customers and the US government wouldn’t want easter eggs.
To me, the reality is that the only responsible way to introduce easter eggs is:
1. To have already satisfied all the users’ desires for that version
2. To plan them
3. To execute them as “team building” exercises
4. To code review and document them
5. To make them optional for certain classes of customers
Otherwise you’re just going to piss people off, have undocumented or untested code, be wasting time and be opening your company up to issues in the future. The only way easter eggs “work” is if they’re planned, tested, documented AND they don’t take away from the development time of the product (and they don’t piss off any important customers)
Given those constraints, I’m not sure why a team at MS would push for an easter egg. AND, if corporate and government customers (100K+ seat ones) have said they don’t want them specifically to Microsoft, I can’t imagine why anyone is surprised at this policy.
That said, I love some of the easter eggs in other products. They’re great fun, great for users, great for developers. There just need to be healthy parameters around their development
Comment by Jeremy Wright — October 23, 2005 @ 3:33 pm PST
Jeremy - please share the backstory and save us all the extra time if it wasn’t privileged, secret information. Why make it something we have to check with Larry on? Heck, that’s an Easter Egg in itself
You have more marketing savvy and can see the bigger picture beyond users here, I think. People are trying to find reasons to like Microsoft again and things like this just make them look like a bunch of corporate stiffs.
Comment by TDavid — October 23, 2005 @ 3:35 pm PST
Also, I never said that easter eggs should be *untested* so please don’t put words in my mouth. I don’t appreciate when people do that to try and make their point look more valid. In fact, these easter eggs should be quite the opposite: tested and approved by somebody. Please read what was written again above, particularly this part:
“Who knows, it might actually get some users even more curious and excited about Vista. These Easter Eggs can go through Project Managers so that programmers aren’t putting in backdoors into people’s systems or doing anything illegal and/or that would get the company in trouble.”
I did read where Larry said that it’s impossible for each programmer writing an easter egg can know what they are doing to the other 15 million lines of code. It can’t be audited to prevent against other unexpected results.
That part makes sense, but really doesn’t encourage me that they actually have a handle on the core code. This is a much worse sign if they can’t audit and test for a small, simple easter egg, how can users trust what they are doing with PnP and the hundreds of other vastly more complicated things released that have been exploited by malicious hackers.
Comment by TDavid — October 23, 2005 @ 3:46 pm PST
I didn’t mean to put words in your mouth
At the end of the day if there was a simple way to increase user enjoyment, not piss off big customers, not waste development time, still have quality code and get it all documented so that it truly was a win-win-win situation, I can’t imagine anyone actually being fired for it.
But the logistics involved in making that kind of situation happen are mind-boggling. What part of the OS is “safe” enough to include an easter egg, in an area that wouldn’t affect corporate customers? What part can be modified and documented in such a way that the change doesn’t affect any other app (ever)?
I can see the case for easter eggs more clearly in other apps (even Office, as long as they’re removed for corporate clients). In fact, if I ran a software development company I’d likely champion for them as part of team-building. But I’d also be very aware of when they are and when they aren’t appropriate.
And, to me, delivering easter eggs to corporate customers isnt’ appropriate and so you’re either creating a separate version of software for non-corporate customers (and thereby reducing your “benefit”) but in approved easter eggs someone ultimately needs to be responsible for the maintenance of the code.
I guess as a developer I’m all for them. As a manager / marketing guy I’m on the fence. And if I were a business owner I’d be cautiously optimistic on them.
But, if I was a PM at Microsoft, I would be totally against them because there wouldn’t be a way to make them happen without risk (corporate, political, etc).
Comment by Jeremy Wright — October 23, 2005 @ 3:57 pm PST
Maurice - it is interesting that you also mention shipping (Elliot mentioned that too).
An easter egg that is produced as part of an extra project — say like Google’s 20% stuff — isn’t nor should it be — impacting their shipping cycle. If an easter egg is throwing shipping schedules off track then you guys are right, they have much bigger fish to fry.
Man, I’m seeing this is a little coding thing … a couple lines of code maybe for some key combination … heck I’ve seen Tetris implemented in a few lines of code.
They are even putting easter eggs in DVDs. This isn’t rocket science here.
Comment by TDavid — October 23, 2005 @ 3:59 pm PST
I don’t think anyone would be an advocate for easter eggs if they took away from primary development time
Comment by Jeremy Wright — October 23, 2005 @ 4:02 pm PST
I’d also like to add if that an app is distinctly a home or entertainment product (DVD’s, games, etc), I think easter eggs are fantastic ideas!
Comment by Jeremy Wright — October 23, 2005 @ 4:04 pm PST
I’ve learned a lot from this related discussion. Takeaway: Corporate types are humorless boobs. Too many people (primarily Americans, frankly) are uptight folks who think any moment taken from “productivity” is wasted. Forgive me for going off on a bit of a rant here, but these are probably the same folks who think taking a >15 minute lunch is only for slackers and vacation days are for lazy girliemen.
Okay, fine, I can see how easter eggs would be more ‘relevant’ or perhaps even more appropriate [sigh] in games and not Office apps. But the whole handwringing about “An hour spent writing and QA’ing a bouncing happy face across the screen is an hour that could have been spent adding in another useless ‘productivity feature’” just makes me cringe. I wish folks would lighten up. We’d have a lot fewer stress-related heart attacks and a lot less corporate unpleasantness overall. Fired for Easter Eggs. Bah, humbug!
Comment by Adam — October 24, 2005 @ 7:49 am PST
To provide a little perspective… As a tester, it’s my responsibility to ensure all shipping code meets a quality bar.
My overall goal is to ensure all assigned features/code has been validated. What does that mean? Builds have to be run through security, localization, core functionality, om, stress, performance, accessibility, integration,and many other types of tests. Some things take a lot of time… some parts can be automated, others require hand validation. This is just the “testing” portion of a tester’s job. Other tasks include reviewing specs, chasing down customer problems, lobbying for design changes/usage scenarios/integration points. No matter how you slice it, the workload is quite heavy.
Now let’s look at the schedule side of things. If a project is slated to take 100 days, I can guarantee that the workload is more in the 120 day range. Inherently, 100 scheduled days should have the same number of associated work days but the reality is that something always pops up in the middle of the cycle… sick leave, big nasty bugs which require design rework, vacations, other internal process headaches, and worst of all, overly optimistic planning by the management teams. This effectively means that I, as a tester, have to find ways to optimize my process - better, faster automation… better design analysis and review… finding bugs sooner than later… etc. Bottom line - it can be very hard to complete feature testing in the scheduled time.
Now… what about Easter eggs? Well, I don’t want them. I have to sign off on every bit of code that is assigned to me; hence, I personally want everything to be of the best quality *and* of use to the customer. I don’t have the time to spend testing something that takes away from the core functionality. I don’t want to spend time reviewing, testing, automating something that doesn’t make the product better. Why? I’m booked solid… any more time at the office takes away from my social life. It’s all about balance - if I am already working way too many hours, why waste my “extra time” at work when I should be far away from the office?
At the end of the day, every line of code has to get a tester’s approval. We don’t have the luxury of “overlooking” anything, which is how Easter eggs have traditionally made their way into a product. Testing is a core piece of product development at Microsoft. Look at the dev/test ratio - many teams push for a 1:1 ratio. Compare that to other companies where values range any from 5:1 to an unbelievable 70:1. In a world where testers are not utilized or held as strictly accountable, I can see how EEs proliferate.
Am I being a bit too stodgy? Maybe. My product is for business use. As such, the “fun” stuff is enabling new and exciting customer scenarios. I love showing customers features … and I take comfort in knowing they are well tested and, hence, stable and reliable. I love seeing a customer’s eyes light up when they realize what they can do with a feature. I don’t ever want someone coming back to me after RTM with a message that literally translates into “we have to take a hotfix because instead of testing X, you and others were playing with an Easter egg”. There’s enough headaches worrying about the legitimate things that may have slipped past….
I’m sure my opinion would change if I worked on game or entertainment app where the objective is different. At the end of day, I want an end of day - I want to complete my “normally” scheduled tasks… and go home.
Comment by Maurice Prather — October 24, 2005 @ 7:40 pm PST
[…] I’m a fan of Easter Eggs, having written in depth about this before and challenging Microsoft OS stance on Easter eggs being “grounds for termination.” […]
Pingback by Mac Mode » Find easter eggs inside Mac OS X programs — November 16, 2006 @ 1:20 pm PST
[…] In light of the past Microsoft position on easter eggs (”grounds for termination”), I’m not sure if we’ll see any easter eggs in Internet Explorer 7 to counter Firefox 2.x when you type about:mozilla in the Firefox (works in Flock too) URL bar. […]
Pingback by Firefox 2.x easter egg jabs competition » Make You Go Hmm — December 3, 2006 @ 1:43 pm PST