Sunday, November 25, 2012

Humor in Software

After coding for around 5 hours straight, the other day I clicked on the small little applet called
Wanda on my gnome desktop. Now, wanda is a  little program actually that chooses pseudo-random text from various databases. It was originally intended to diffuse project tensions when hackers used to work on unix command line. [Or at least that's what I read about it when I googled it anyway :) ].  Every time you  click on that small animated fish, it responds with something funny, a nice quotation, a proverb or something similar. It doesn't serve any purpose. It is not needed for the Linux OS and certainly doesn't relate to what I work on in any  way whatsoever. But I still think of it as one hell of a feature. In fact, when I have to program anything that's not OS specific, I almost always choose to do it on Linux. All because of the rhythmbox music player which you can "close" entirely from your view [unlike itunes on windows where you can use it in "mini-mode" but not entirely "close" it] and Wanda the Fish. iTunes is great  but i prefer rhythmbox simply because it doesn't stop playing music when i close it.

So when I clicked it the other day, it responded with this particular text :

Hack placidly amidst the noisy printers and remember what prizes there
may be in Science.  As fast as possible get a good terminal on a good system.
Enter your data clearly but always encrypt your results.  And listen to others,
even the dull and ignorant, for they may be your customers.  Avoid loud and
aggressive persons, for they are sales reps.
If you compare your outputs with those of others, you may be surprised,
for always there will be greater and lesser numbers than you have crunched.
Keep others interested in your career, and try not to fumble; it can be a real
hassle and could change your fortunes in time.
Exercise system control in your experiments, for the world is full of
bugs.  But let this not blind you to what virtue there is; many persons strive
for linearity and everywhere papers are full of approximations.  Strive for
proportionality.  Especially, do not faint when it occurs.  Neither be cyclical
about results; for in the face of all data analysis it is sure to be noticed.
Take with a grain of salt the anomalous data points.  Gracefully pass
them on to the youth at the next desk.  Nurture some mutual funds to shield
you in times of sudden layoffs.  But do not distress yourself with imaginings
-- the real bugs are enough to screw you badly.  Murphy's Law runs the
Universe -- and whether or not it is clear to you, no doubt <Curl>B*n dS = 0.
Therefore, grab for a piece of the pie, with whatever proposals you
can conceive of to try.  With all the crashed disks, skewed data, and broken
line printers, you can still have a beautiful secretary.  Be linear.  Strive
to stay employed.
-- Technolorata, "Analog"
The thing I was working was actually stuff I had to submit and I had put it off  till the deadline. Therefore, when the time came, I had barely finished half of the project and was pretty worried and trying to do everything as fast as possible. I was very tense as well.  After reading what Wanda said, I relaxed a bit and slowed down a little. I got it done eventually.

This situation reminded me of  an article David Pogue wrote for Scientific American  once. It talks about how humor used to be embedded in software and delighted users in the most unexpected ways. Nowadays, all you see are "serious industrial strength applications". The name itself sounds so mundane. Google does it still with their doodles. but it is an exception.  In reality most "industrial strength applications" have little or no room for humor or innovation for that matter. Paul Graham once said that "If you are suffering from Insomnia try reading the literature on relational databases. I have no doubt that the top gaming companies in the world are engaged in more intellectually stimulating research than bottom ten universities."

I like products that are lively. I presume others like it too.  A great way to make software livelier is by adding a sense of humor to your software. In fact, it may be all that's needed for users to switch to your software rather than a rival's.  (I am not saying this is strictly true, but it may just raise the odds in your favour when all other features are similar. ) After all, everyone in today's busy world could use a laugh once in a while and it will be doubly entertaining when a machine makes a joke.