I've always wondered what people's thoughts are on easter eggs being hidden in programs. Do you think they're fun? Do you think they're unprofessional? Human? Tacky?
My personal feelings on them are that they're a healthy thing to see in a product so long as they're not too elaborate. When I hear about easter eggs, I realize that the programmers are happy enough in their jobs to have a little bit of fun. I don't get too uptight about "but they could make better use of their time!" As a programmer, that statement is a crock. Programmers are human beings -- and my viewpoint is that if the programmer didn't put in the easter egg, they'd spend that time at the water cooler or some other fun, relaxing activity instead. Programmers need breaks, and I guess I view an easter egg as a "break" for a programmer.
So what are your thoughts on the topic?
I like them. It's sometimes nice to see that the programmers who worked on an application you use have a sense of humor. But then again, maybe I'm not the best judge. I almost became a cartoonist.
I thought the hidden RB-babies page was kinda fun (if you can call that an Easter egg). I think there should be an RB-widows page: honouring all the poor wives and girlfriends (and of-course husbands/boyfriends) who have become widowed by REALbasic!
I don't personally put easter eggs in my apps. Unless you can call my bugs easter egs - although it's a nice way to put them to your customers! "Ooh how exiting, I've not found the FunctionNotFoundException Easter egg before!"
They can be fun, but they can also get way out of hand. I'm not into the idea.
Mostly I wonder why they wasted time building Easter eggs when there are still bugs to be fixed.
I think easter eggs are wonderful. I used to build them into some of my apps. I think they're a healthy expression on the behalf of the developer.
The world needs more humor...more fun...more...EASTER EGGS!
Hrm...are there any in RB2005?
@Chris -- that's the attitude I don't understand. What makes you think the time is any more wasted than if they played a quick game of Solitaire or went up and walked around the office? Programmers aren't machines.
@Anthony -- None that I am aware of
Aaron:
Who said you could play solitaire or walk around? Get back to your computer, worker #5367B! Who unlocked your ankle cuff? Lord Perlman, shall I whip #5367B some more until bug [fill in nonsense sequence of letters] is fixed?
I think Easter Eggs are great. They give a sense of humanity to a profession that is all too often stereotyped as having none.
They are great and fun!
Are we going to have one on RB? Like a Minesweeper where each mine represents a RS person? ;)
I like 'em. The one I remember most was the flight simulator in Excel. :D
Now that one I thought was a bit overboard, lol. Talk about your unneccessary overhead...imagine how much that little easter egg bloated the final executable.
I like the Minesweeper idea. You could use the ElissaSweeper source ;)
I suppose you'd need to get permission to put it in though...
@Aaron: That came across harsher than I meant it. The difference between Easter eggs and playing solitaire is that solitaire can't introduce bugs. If you're spending time on working on a project I would rather have it focused on something that increases its value than something that brings entertainment to the programmer. As well I know that the programmers are still going to play the computer games.
As well as writing software, I manage a software department. This is one of those things that I see mostly from the manager's perspective.
@Chris -- from an engineering standpoint, I don't see how most easter eggs could cause bugs. Take the production babies egg from RB, for example. You hold down a key and you get a different view to the about box. It's very self-contained code, the only thing it *could* possible affect is the about box itself (which, let's face it, isn't exactly complicated code to begin with).
But I do catch your meaning -- if you're writing any code at all, it should do something useful.
The trouble with that is that an easter egg is less likely to cause bugs, but a new "snuck-in" feature is probably more likely to cause them. So out of the two situations, I'd take the easter egg (as a manager).
All very interesting perspectives though! :-)
It depends on the easter egg. QuarkXpress, for example, is probably one of the funniest ones there. However, Quark has been a pile of dung that came from another pile of dung for a long while, and the alien has neither changed nor benefitted Xpress. That, I think, is an example of a waste.
Let's switch to Adobe Photoshop. Although I think 5.5 has the funnest easter egg of the PS ones, it seems to me that each easter egg seems to show off something they've added or enhanced AFA Graphic creation tools. When the benefit is improvement in coding, adding a previously unplanned utility or tool, or even showing capability of the program, I'm all for it. :D
For me it depends on how you trigger it. I love small things like alternate about screens or (otherwise unclickable) preview panes that you click to get the developers' names, but I don't like easter eggs that one can accidentally trigger (e.g. ones which use a keyboard shortcut the user may want for system-wide use or whatever). IMHO, Photoshop and the Mac OS (pre-X) Finder did that very well.
OTOH, I also like when instead of doing an Easter egg, devs just put some personality in their programs. Like choosing a funny motive for the preview image in a print panel instead of the usual persons' silhouette or stylised mountain landscape.
I'm always a big fan of Easter eggs... and frankly, aside from some really intricate ones like in Excel, most Easter eggs are basically just a different window, an additional picture or sound or something silly like that... something that takes probably all of 5 minutes to code, and has no direct impact on any of the main application code. I actually stuck 2 in my own app, both of which are tied to particular key-click combos which don't add or subtract from the general code base at all.
If you're sitting, coding for 8+ hours a day, day in, day out on the same piece of software, every once in a while, it's nice to add a bit of fun to the project. It's also nice to see when others put them in to the software as well... like it was said above, it "humanizes" the folks making the software, and gives us users a quick and fun laugh usually.