Karim Lalani CSC 540 Easter Eggs
Definition : Easter eggs are undocumented software codes that are intended to execute when the user performs a certain set of tasks. They are called Easter Eggs because they are hidden as they are undocumented and there is no official mention. Easter Eggs
Easter Eggs • Good Easter Eggs: • should be hidden or disguised and should give they finder a good feeling about themselves. • should be playful, humorous, or entertaining • should come with surprise and give the finder a feeling of discovery
Easter Eggs • Characteristics of an Easter Egg • gets user involved • discovery is not the part of the experience • Do Not Harm • gives the user the “I Rule” feeling for being “clever enough” to have discovered them • entertaining, and many times, funny
Easter Eggs • Contd... • Their purpose is to delight customers • Many programmers also code Easter Eggs to show off their programming capabilities and as a little something they can brag about to their friends.
Easter Eggs • Why programmers create Easter Eggs? • To get recognition • Tribute to someone they appreciates • Light and entertaining joke
Easter Eggs • Cost to Customer • A wrong misconception that easter eggs take up space and consume large amount of resources. Ex. 3D Flight Simulator in MS Excel. “The old emails in your Inbox are probably wasting more space than those Eggs.” (Easter Eggs Archive)
Easter Eggs • Cost to Programmer • originally not the intended in the softwares • programmers include at their own risk • add to the cost of the software in terms of productivity, but it is insignificant compared to the complete software itself
Easter Eggs • Cost to Software Firms • loss of productivity (though little) • they also create additional liability • poor coding may result in a bad Easter Egg
Easter Eggs • OpenSource Easter Eggs !!!!!!
Easter Eggs • Linux Coders. Mind your language please ;) /usr/src/linux/net/ipv4/netfilter/ipt_limit.c: * Alexey is a f***ing genius? /usr/src/linux/fs/isofs/inode.c: * Some dipsh*t decided to store some other bit of information /usr/src/linux/drivers/scsi/aha152x.c: * first "d*mn thing doesn't work" version /usr/src/linux/lib/vsprintf.c: * Wirzenius wrote this portably, Torvalds f***ed it up :-) /usr/src/linux/net/core/netfilter.c: /* James M doesn't say f*** enough. */ /usr/src/linux/drivers/net/sunhme.c:/* Only Sun can take such nice parts and f*** up the programming interface
Easter Eggs • Issues • unnecessary and serve no real purpose • can create undesirable effects • can develop unfavorable consequences for the software firms
Easter Eggs • Corporate Solution • Maxis fired a programmer for inserting an Easter Egg in the game Sim Copter • new policy at Microsoft, any new Easter Egg would result into immediate termination of the programmer
Easter Eggs • Conclusion “WhilE they are funny and entertAining, their effectS may be adverse to the compuTer's sEcurity. Since they aRe unanticipatEd by both software firms and end users, their absence in softwares does not make anyone any worse off. The question to ask is that would you risk your computer's security for an unexpected comic relief (easter eGGs) hidden in your computer applications.” -Karim Lalani
Easter Eggs • References Karim Lalani 1. Creating Passionate Users bloggers http://headrush.typepad.com/creating_passionate_users/2005/05/the_case_for_ea.html 2. The Easter Egg Archive http://www.eeggs.com/ 3. The Microsoft Blog http://www.themicrosoftblog.com/16-easter-eggs-in-microsoft-products-youre-fired/