« Words + pictures > words alone | Main | Passionate Users at SXSW »

If your software was on a date...

How would your software (or product, service, book, cause, etc.) behave on a date? Perhaps the best model for software developers is the singles scene, so let's see how this time-tested dating advice for men might be applied to software:

What we want:

What we all too often get:

Dating Rules For Software

Look your best
You don't have to be the Brad Pitt of apps, but you should still make the effort to be pleasant looking. At the least, you should be clean. That whole "it's what's inside that counts" thing? It's true, but chemistry matters too, and we're genetically programmed to be attracted to attractive things. If nothing else, wearing your good shirt and combing your hair sends the signal that you care. That you bothered to take a shower before you showed up at our door, says something meaningful.

Be clean, be simple, keep the bling to an absolute minimum, and don't forget your mom's advice--"you never get a second chance to make a first impression."

Be fun. Don't be negative. Be the one others want to be around.
How do people feel when they're around you? Do they light up a little? Or do they feel inexplicably darker and less energetic when they spend time with you...

Hint: make a list of the apps, products, APIs, frameworks, etc. that make YOU happy. The ones that make you think, "this is awesome." Or better yet, the ones where you never think about them at all... because you're too busy being awesome doing the thing that led you to that tool in the first place.
Focus your energy on putting yourself on someone else's "makes me happy" list.

Be trustworthy and consistent.
There's a time and place for spontaneity, but we need to know we can count on you, no matter what. Make sure we can trust that when we click button A, thing B will happen. Every... single... time. And that it doesn't matter when we push it, or what you did before. Please, no unpredictable mood (or mode) swings.

If you use a particular pair of methods in your API, and then reuse those same names in another part of the API, make certain that they all behave in exactly the same way -- or at least exactly as you'd expect in that different context (terrible API violation of this: the ejbCreate() and ejbRemove() methods for entity vs. session beans in EJB).

Don't be fake.
Don't pretend to be something you're not. If part of your interface looks like it should do X, but does only Y (or worse, does X plus the recklessly dangerous Z), we may never trust you again. Don't try to be more than you are, and don't trick us into thinking you do one thing, when you actually do something completely different. Being simple and clean and real is far better than being a flashy fake.

Be polite, be helpful.
Don't dash off in the middle of dinner to run an errand, but if you must, at LEAST tell us how long you expect to be gone, so we'll have some idea of when to become concerned. An application that doesn't tell you what's going on is just rude. It's OK to offer tips... if we don't speak French, then by all means help us interpret the menu at that French restaurant.

Be forgiving.
We're not perfect. Sometimes we say or do stupid, wrong, or even dangerous things. Make it easy for us to recover and "save face", and we'll love you all the more. And the more you assume it was your fault, the better. Chances are, it was.

Be sensitive, be a good listener.
But not over-sensitive. Pay close attention to the subtle things; don't make us have to yell at you in order to get a reaction. Try to anticipate our needs, but don't make assumptions! We never said this would be easy... and yes, we're a bit high-maintenance, but worth it ; )

Don't assume I'm an expert.
You wouldn't expect that everyone you date will have studied human psychology, so you shouldn't expect a user to have read your manual cover to cover. Don't take us extreme helicopter skiing on our first date.

Be fun.
Not funny. Be fun in the way that a great game of chess is fun (but not funny). Life is too short (or too damn long? I can never remember which way that works) to spend time doing boring, tedious, frustrating work. The best dates of all are with those who can make even the most trivial, mundane things seem... engaging and interesting. Find out what part of this experience really can be interesting, and enhance that.

Don't assume there's no competition.
"There are plenty of fish in the sea" our mothers tell us when we're heartbroken at 15. NEVER take the attention you're getting now for granted. Even if you think you have a vendor-lock. Even if you think they'll stay with you simply because the cost of switching to someone else is too great... There is always someone potentially better, and real loyalty can't be bought. "Frequent Buyer" points might make it look like we're loyal, but underneath we're just waiting for the right opportunity to dump you. Don't mistake current participation for long-term loyalty.

Check your ego with the valet parking attendant.
You might be the best at what you do... for now (reread the previous tip)... but that's no excuse for treating those you date like idiots. And we really don't appreciate hearing you diss the competition, either. A little humility goes a very long way.

Married people really DO have more sex.
No matter how fun the one-night stands appear, they're ultimately empty and unsatisfying. Go for the long-term commitment. Be in this for a lasting relationship. If you really really care, we'll know, and we'll be willing to forgive you when you screw up--as you always will.

Any other dating tips for software or other product developers? Or examples of those who'd score on a second date as opposed to... those who'll never get that second date? If products were a potential mate, which one would you give your phone number to? Me? I'd sleep with Adobe InDesign in a heartbeat.

Posted by Kathy on November 4, 2005 | Permalink


TrackBack URL for this entry:

Listed below are links to weblogs that reference If your software was on a date...:

» 'Wanna see my etchings?' from The Journal Blog
I just love the way Kathy Sierra thinks. Anybody else would have come up with yet another rendition of the customer-acquisition-slash-customer-retention-tips cha-cha. Kathy takes us on a date. Of course, for some of us, it's a bit of a gender-bender... [Read More]

Tracked on Nov 5, 2005 1:00:10 PM

» If your software were on a date... from Global Conspiracy Theories
Kathy Sierra has an amusing and informative article likening software behaviour to dating behaviour. [Read More]

Tracked on Nov 7, 2005 9:08:33 AM

» Handmark Rand McNally Road Atlas for Handhelds from Software
Carry the Rand McNally Road Atlas SD/MMC Card you'll always know where you're going and never have to fold a map again! Just slide in this card and browse through complete maps of the U.S. road system. [Read More]

Tracked on Nov 18, 2005 12:15:50 PM

» Dating Rules for Software from Approaching Normal
Over at the Creating Passionate Users blog (which has more useful information on it than any other blog I can think of), there’s an excellent post called If your software was on a date. It’s an excellent article overall, but I couldn’t help but think ... [Read More]

Tracked on Nov 20, 2005 7:13:50 PM

» Adobe Photoshop Elements 3.0 plus Adobe Premiere Elements from Software
AdobePremiereElements software offers the perfect combination of creative control and reliability for home video editing [Read More]

Tracked on Nov 21, 2005 1:29:00 PM


Hi! Just to say that I started to read you guys a couple of days ago and I've become an instante FAN of your work. And guess what? I'm a VB.net developer!! I'm an owner of a small ISV company in PORTUGAL and I've been a VB developer for about 12 years (started with "oldie" VB3) although I know a little bit of C# to. I'm reading "Head First Design Patterns" and I am loving it! Keep up with the good ideas!!!

Posted by: Rui | Nov 4, 2005 4:21:57 PM

the quote:

"No matter how fun the one-night stands appear, they're ultimately empty and unsatisfying. Go for the long-term commitment. Be in this for a lasting relationship. If you really really care, we'll know, and we'll be willing to forgive you when you screw up--as you always will."

While I'm not necessairly saying this is false, it sounds like empty platitudes and "parenting". I know this is just a "summary", but I suspect the original text doesn't go any deeper than this.

BTW, all my one-night stands were not 'ultimately empty and unsatisfying'. So it's clearly not 100% true 100% of the time, and people know this and thus reject 'advice' such as this.

Posted by: ryan rawson | Nov 4, 2005 6:44:53 PM

Search Inside the Book for Publishers: http://www.amazon.com/exec/obidos/tg/catalog-guide/guide/-/506469/103-8997929-7009404

Why doesn't your publisher offer that at Amazon for the Head First books?

Posted by: Search Inside the Book for Publishers | Nov 4, 2005 7:44:47 PM

Rui: thanks so much!

Ryan: I meant this all very tongue in cheek, and certainly there are a lot of examples of products for which a long-term relationship with users doesn't apply.

Search Inside: I'm not entirely sure why we aren't up there, but I think it has to do with the fact that the HF books don't exactly exist as "text" -- they are delivered as PDFs, and do not go through any stage of being a text file. They're more like 700 pages of individual handouts. And so many of the words are embedded within graphics, so that does make the searching difficult. I know O'Reilly is currently working on getting the books into some kind of taggable form, but we didn't create them that way, so it's a little tricky.

but we *are* on Google print in a very limited form:

As most of you probably know, Tim O'Reilly is VERY committed to the whole Google print thing.

Posted by: Kathy Sierra | Nov 4, 2005 8:02:02 PM

I have to ask: Where DO you get those photos. They're a hoot! (The fact that they illustrate your point so wickedly well is gravy.)

Posted by: Roy Jacobsen | Nov 4, 2005 8:43:47 PM

Howdy Roy, the pictures are from a stock photography collection called "Retro Americana", which is currently not available from the stock houses, but they keep retiring and then bringing these things back out again periodically.

I get almost everything from:

However, I've recently been having a great time with:
(which is a lot more affordable, and an interesting concept as well)

Posted by: Kathy Sierra | Nov 4, 2005 9:01:16 PM

Your list of dating "rules" for men is suitable for a superficial, promiscuous woman, always unfaithful. Software written to these standards is likewise... perfect for pinheaded sluts, totally inappropriate for those with values.

Decent women want a man who is faithful, honest, caring, and protective. We are willing to exchange superficial qualities for a stronger core and a good lineage. We want software that can fulfil our needs for the long haul. We don't sleep around.

Products such as TeX provide exactly the kind of basis for producing digital content that will outlive its author.

Specific comments follow.

(Look your best.)
Look respectable, that's all I ask. Always looking your best is fine if that's your job, otherwise I most likely be disappointed; either by you not measuring up to your appearance or because you are a closet homosexual. Experience teaches harsh lessons at times.

(Be fun. Don't be negative. Be the one others want to be around.)
Do not "be fun". Pleasure always comes from within, from what I put into something. And if I am, for example, templating a database schema or designing a lexer, the last thing I want is my software to play chess (or Buzkashi!) with me. I do not expect any man or software to be my personal entertainment system.

(Be trustworthy and consistent.)
(Don't be fake.)

(Be polite, be helpful.)
I prefer "be honest in all thing". Being polite will merely get you politeness in return. This does little to build a meaningful relation, and is meaningless in the long run.
My take on it:
+ Be useful, be honest.

(Be forgiving.)
I like guns. I like driving fast. I like picking flowers. Don't forgive me for shooting your dog, trashing your car, or ruining your garden. However, if the damage can be technically be undone, so much the better. Giving me an "undo" function is great, yet still, I want enough rope to hang myself!

(Be sensitive, be a good listener.)
Do as you're told, unless I'm not making any sense. In that case, tell me so. I will never burden you, in fact I'll do all I can to make things go smoothly.

(Don't assume I'm an expert.)
I am an expert, and worthwhile men and software behave accordingly. I am not a PMC (pinhead macintosh child), and will not submit to being treated as such.

(Be fun.)
I'll bite. *I* will have fun with you, if you meet the basic criteria (good character, honest, hard-working), so don't worry about it.

(Don't assume there's no competition.)
Good for software, bad for men. A man should feel secure, as his manliness is defined only in contrast with the feminine -- that's my job. Humans deserve to be measured by their absolute worth. Software, on the other hand, sinks or swims on its *relative* merits.

(Check your ego with the valet parking attendant.)
Take pride in your craft, if you do it well.
I won't object.

(Married people really DO have more sex.)
For sure! Some of us actually live by the dictum "not until we're married"!

Aisha's rules for courtship:

+ Power is the oldest aphrodisiac known to humankind.
+ A violin can make wonderful music, even though it may take years to learn its intricacies and peculiarities. Good men and software are likewise, giving room for expression and growth, together. As my technique improves, so does the harmony.
+ Be honest, be useful, be strong.
+ Be generous, and I will reciprocate.
+ Don't whine unnecessarily. If it's necessary, do so loudly.
+ Do as you are directed, and trust that I will not lead you astray.
+ I will listen to whatever you have to say. Do not squander this precious resource with worthless "Tips of the day", or stories of how drunk you got last weekend.
+ Assume that I know what I am doing. Do not get in my way when I am getting something done.
+ Have a good background. If you don't, then take steps starting today to build one.
+ Take pride in what you do well; this will help you to hold yourself to your high standards. Never be boastful.
+ Stick around to clean up whatever mess may occur.
+ Have the skills to pay the bills. I'll do my share, I promise.
+ Remember: fun and pleasure come from things *we* do together. Everyone only gets out what they put into it. Everything else falls into the minor category of "entertainment". Don't try to "be fun" or "entertain" me; you will never beat a good novel or even a walk to the park together.


Posted by: Aisha | Nov 4, 2005 11:32:19 PM

be free-spirited!

like a good date, software should be free-spirited and open. meaning it should be open source. open source stuff is more innovative (many minds greater than one mind) and i need to be able to tinker with crap or have others tinker with it if i want to. (on a side note, revenue models for open source software should gravitate towards being service-oriented; i.e. pay for customization, installation, etc. as opposed to a single copy of a non-unique software)

Posted by: kid mercury | Nov 5, 2005 8:20:15 AM

What exactly do you mean by "not funny"? I'm thinking more with regard to dating actual people than using software, since that's where my head is these days, and I've been counting on my sense of humor to be an asset. (That said, I've always liked how once in a blue moon, Cool Edit's pop-up notice would feature a sheep icon rather than the familiar exclamation point.)

Aisha: it disheartens me that you refer to yourself as "us", implying speaking on behalf of all Afghani women while expressing a sweeping opinion of North American women. That is not only prejudiced, but also cowardly.

Posted by: Keith Handy | Nov 5, 2005 9:23:18 AM

Ok, I have to ask, because of your declared love for InDesign, I need to know how you'd rate a hot date with Photoshop? Because that's my "in a heartbeat" choice.

Posted by: Jennifer Apple | Nov 5, 2005 10:18:07 AM

Ok, I have to ask, because of your declared love for InDesign, I need to know how you'd rate a date with Photoshop? Because that's my "in a heartbeat" choice.

Posted by: Jennifer Apple | Nov 5, 2005 10:18:34 AM

I'm so glad that Jennifer mentioned Adobe PS, because I came running to the blog just to let Kathy know that, while I'm not familiar with InDesign, I do date PS exclusively! It's not that my head couldn't possibly be turned by a different good-looking and respectful program, but I've just had no reason to go looking for one :-)


Posted by: Cyndi L | Nov 5, 2005 10:54:24 AM

Hello Kathy,

Your advice are awesome. Can relate to love life and work life.

Been on a date recently and feel good about your advice (mean didn't make too much error :o) ).


Posted by: AK47 | Nov 6, 2005 12:27:58 AM

"Being polite will merely get you politeness in return.", "PMC", "Don't whine unnecessarily. If it's necessary, do so loudly."

Wow, as a developer, users like Aisha are a turnon!

Posted by: as in freedom | Nov 6, 2005 4:16:48 PM

This list is essentially the same as, although slightly more risque then, in Alan Cooper's About Face 2.0. He says software should "behave like a considerate human being."

The point isn't to think of using software as a first date, or as a marriage, but as an ideal interaction with a human being. If the program is meant to be used once in a while, like a web app, then first date rules may apply. If it's a desktop app that you pay a lot of money for then marriage may be more similar.

People react to software as if the computer were human, another point Cooper talks about. As much as we know intellectually a computer insn't human, we behave towards one as if it were. So our software on those computers need to pretend they're human too.

Posted by: Petroleum Jelliffe | Nov 6, 2005 8:09:04 PM

I think your blog is fantastic, it's a great source of fresh ideas and inspiration!

I am also very happy that your dating analogy is not based on "The Rules". Although I could think of some examples of enterprise software that has followed those guidelines!

Posted by: Walter Lounsbery | Nov 7, 2005 8:08:41 AM

Only a true geek would say they'd sleep with software!

Rock on!

Posted by: Bob B | Nov 7, 2005 8:34:32 AM

If you say you'll call, then make sure you call.

Posted by: Bob B | Nov 7, 2005 10:57:55 AM

NOW you know why using "enterprise" applications, selected by your IT department, feel a lot like dating someone selected by your dad.

Posted by: Branimir Dolicki | Nov 8, 2005 1:28:07 PM

Ah, but what about the software you wouldn't want to be caught dead with? The kind where you sleep with them, and desperately hope afterwards nobody finds out?

Adobe Reader: Big. Bloated. Downright obese. It makes you feel used. Nags you constantly to upgrade it. Insists on showing up in places where you least want it to. Secretly consumes your system resources even when not in active use -- stealing memory when you're not looking and spending it on useless things.

Internet Explorer: Used by everybody. Make sure you have virus protection when sleep with this one, folks. Always, always apply patches to the most sensitive parts of your system if you insist on using IE.

Posted by: Rob | Nov 8, 2005 2:30:32 PM

What I like most of all in men is the sence of humor and ability to make me laugh. And of course he has to have taste in cloths.

Posted by: Helen date | Nov 28, 2005 5:42:18 AM

I think that it's very important to look neat on your dates. And actually the artical is great.

Posted by: Matchmaker | Nov 28, 2005 5:45:40 AM

Good advice) Thank you. It was interesting to read)))

Easy Downloads

Posted by: Ilandrona | Jul 31, 2007 1:12:21 AM

I like your dating rules for software.Be clean, be simple, keep the blink to an absolute minimum, and don't forget your mom's advice--"you never get a second chance to make a first impression."That will be my device.

Posted by: steven davies | Aug 7, 2007 5:03:37 AM

The comments to this entry are closed.