2.24.2006

TIP: Unleashing the Killer App and Dating: what do they have in common?

Bestseller author Kathy Sierra blogged
  • 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... 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... don't forget your mom's advice--"you never get a second chance to make a first impression."
  • Be fun: ...Be the one others want to be around. 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: 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...
  • 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)... 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... 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.
  • 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.

Category: C++ Quant > Fix the Job You Got

No comments:

Post a Comment