How to come up with Breakthrough Ideas
Brilliant, wildly creative people can pull breakaway ideas from thin air. The rest of us need tools. EQing is the tool we used to design the Head First series, and we've been using it ever since.
Bert, Eric, and I are all audio freaks -- we lust after the giant mixing boards at live shows, confident (and delusional) that we could do it so much better, if only we could get our hands on those sliders. So, an audio equalizer was a natural metaphor for us, and this is my first attempt to explain how we use the concept of EQing to brainstorm new designs.
(If you aren't familiar with how audio equalizers work, click here for a nano review.)
In our EQ model, when all the sliders are in the zero/middle position, this represents "the norm" for whatever that product, service, industry typically does. In other words, a slider turned down to -4 means that it's way below the norm, and a slider at +4 means way above the norm. But the slider says nothing about the actual absolute value of whatever that slider is for. (The number "4" means nothing -- it's just an arbitrary number that matches the graphic -- I could just as easily used "1" or "10" or "42".)I'll start with a simple example to give you a feel for it, before working our way to the good stuff. You'll have to read to the end to get to the "breakthrough" part. ; )
Example One: Typical, non-breakthrough EQing
Equalizer for a typical computer hardware product:
In the graphic above, the zero represents what is average/typical for that kind of product. Assume there's more than one source for the product... The problem with computer hardware (as with so many other things) is that there's too much competition. Too many companies clawing and biting for their slice of the market for that product.
How do they compete with one another? The typical--and usually worst--way to gain an edge is by tweaking one or more of the standard sliders. For example, a low-cost computer's EQ might look like this, relative to the norm:
This product sacrifices features and service in order to lower the price, but this works only while:
A) The features and service aren't essential to a large enough part of the market
B) They are the only vendor doing it this way (i.e. the only low-cost vendor with this kind of EQ)
But if this particular EQ is successful, other companies (new and existing) will eventually make the same tweaks until the lower prices simply become The New Normal. In other words, the zero EQ point for the price and feature sliders now represent a lower absolute number, and now there's a viscious downward spiral of competition at the low end...
Another company may take the price slider down, but keep all the features at the middle/zero point (i.e. the norm). But then they're probably cutting somewhere else -- either by using cheaper or less-skilled employees, cutting employee benefits, and/or cutting customer service. A company might do just fine for a time, but quality will slip eventually, and customer happiness will drop. From a systems thinking perspective, this is not a sustainable strategy.
The big point is this: trying to compete with existing products, services, or ideas by tuning the SAME set of sliders everyone else uses is a painful path. The breathrough ideas usually come from adding new sliders! There are exceptions, though -- if you tune an existing slider in a dramatic or counterintuitive way, you might end up with a breakthrough edge, at least temporarily.
37signals, the folks behind the wildly popular Basecamp and Backpack, did that when they tuned the features slider way, way, way down. Their art is in knowing which features to leave out, of course. But turning down the features slider wasn't really their goal. The goal (I think) was User Bliss, an entirely new slider, and one that was partially tied (inversely) to the Num Of Features slider. Turning down the features turned out to be one of the most important ways to achieve User Bliss.
Knowing which sliders to include is just as important as knowing how to EQ them. When we say "typical sliders for this product type", it means that these sliders reflect the areas of focus for companies who make those products. And that's the problem. Breakthrough ideas come from "thinking outside the sliders." ; )
Example Two: Beginning Breakthrough EQing: adding new sliders
When we set out to design a new computer book series, we looked at the typical industry-standard sliders for a tech book. Most computer book formats make adjustments within these main sliders, although some topic categories (like digital photography or web design books) add a slider for color, another might use a slider for including a CD-ROM, etc.
When we thought about our first book--on Java--we wondered how the hell could we compete with 2000+ Java books still on the market? No amount of EQing the typical sliders would give us a breakthrough book. In fact, when we look at the EQ for our book against the typical sliders, the Head First format doesn't look good at all:
We needed to add new sliders.
Our first new slider was "Pain". We wanted to reduce the pain associated and assumed with learning a tough tech topic. Some books do this by lowering the number of topic and topic depth. To reduce pain, you could simply make an easier book. But that was not our goal. We didn't want to simplify or "dumb down" the topic--we wanted to make a tough topic less painful. (A big distinction for us.)
We added two other related sliders as well ("metacognitive" and "engaging"), and the combination of the new sliders plus the tweaks we made to the standard sliders gave us our edge. Again, we certainly aren't the only ones to care about these things--but it DOES mean that we considered them far more important to users than had been previously assumed by most of the books in our category.
And here's where we started to use the EQ-it to model our ideas... the graphic below shows our our book compared to the norm. You can see that when we added the new sliders, we developed a very different EQ pattern from the other books. On the new sliders, we went way above the norm in "metacognitive" and "engaging". We reduced the "pain" slider. We also reduced the number of topics, but did not reduce topic depth.
Adding new sliders--especially the "engaging" slider--was the key. But the sliders we added were not very innovative, they were simply NOT TYPICAL for a tech book. You can often make a breakthrough product simply by changing the weighting (i.e. adjusting the slider) of things that competitors have taken for granted. Look at things your competitors don't consider important enough to warrant a slider, and imagine what would happen if you promoted some of those things to first-class slider citizens and tuned them dramatically up or down. If--and this is a big if--these new sliders reflect previously unsatisfied user desires, you might have your edge.
But... adding sliders for things that the competition did not consider important (or mutable) enough to warrant a slider is just a warm-up. Rather than simply adding sliders for things the competition is already doing (but hadn't considered tweaking), why not add sliders for things the competition never dreamed of? This is where the biggest breakthroughs happen--when you add sliders that make others say, "WTF?"
Netflix added several new sliders not previously associated with video rental. Nike added customization, a slider not previously associated with athletic shoes. FlickR added tagging, a slider not previously associated with online photo sharing. (And they quickly ended up with a community slider as well.) Apple's iTunes added an interesting slider--"granularity"--to the purchase of music. Before iTunes, the "atomic unit" of music was usually a CD. You had to buy the whole thing even if half the songs sucked. By adding a slider for granularity--and tuning it way down below the norm--iTunes added true user value.
Here are some examples of new sliders companies have added. Could you add any of these to what you do?
Coming up with ideas using EQ modeling
Least effective way:
- Figure out what the existing sliders are for this product or service, and change the value of one or more sliders. This is how most companies compete, and it's usually the most painful--the constant struggle to reduce price, add features, whatever it takes to stay one step ahead of the competition.
- Tune one or more of the typical sliders in an extremely dramatic way. For example, instead of cutting the price, make the product free. But this usually means you end up creating one or more new sliders for whatever business model allows you to make this drastic change.
Much more effective:
- Add new sliders for things that competitors have taken for granted, and haven't been competing on. In other words, dramatically change the weighting of things the competition had not considered changing. Example: our books.
Most effective (for breakthrough ideas, not always the best ideas ; )
-Add wildly new sliders for things nobody in that industry had considered.
Note that what's "wildly new" for one type of product or service might be standard/typical for another. A Customization slider, for example, would not be unusual for a wedding cake bakery, but was very unusual for athletic shoes.
Tips for finding NEW sliders
1) Borrow sliders from an entirely different product or service type. Customization, Subscription, Home Delivery, Entertainment, etc. -- things that make sense in some domains but have never been used on your product or service.
2) Look at the conventional wisdom--things everybody offering that product or service takes for granted--and see if you can tune a slider the others consider immutable (or unimportant).
3) Randomly add sliders and play what-if brainstorming games.
4) Ask users to come up with sliders. This is more effective (and similar to #3) if you ask users from a different domain! Remember, directly asking users what they want rarely leads to breakthrough ideas. Breakthrough ideas are, by definition, things nobody has yet imagined, but which users find compellling.
One final example:
Imagine an art gallery. Now imagine a skateboarding shoe store. Now smush those together into an art gallery/skateboard shoe store. That describes Installation, an imaginative and uber-cool store here in Boulder. While nearly ALL skateboard shops are pretty damn cool, the idea of "Gallery" as a slider was a unique idea. Or you could flip it -- the idea of adding "Shoes" (let alone skateboard shoes) as a slider to an Art Gallery equalizer is pretty strange.
[Photo by Josh Spear, who I'll have a lot more to say about very soon. In the meantime, I encourage you to click that link for his blog!]
I know I don't need to say it, but for disclaimer purposes I will--adding weird sliders just to add sliders and be novel isn't the point. The goal is to add sliders that turn out to be really important to users. And I say "turn out to be", because the most daring breakthrough products and ideas are rarely driven by user requests.
Typical art gallery goers weren't saying, "yeah, but what we REALLY want is for you to let us come here to buy high-end skate shoes." And skateboard shoe buyers (Skyler and I are both in that category) weren't asking for a gallery setting. But it turns out that the ambience and sheer creativity of the place IS compelling. It's worth the non-discount price of the cool shoes just to come away from your shoe-shopping experience inspired as you would be from, well, an art gallery visit.
It's too early to tell, though, if Installation's unique combination of sliders will be successful. Once the novelty wears off, will people still go back there for their shoes? I will, but I'm not their demographic, being about, oh, twice the age of today's young skaters. Installation is doing a lot more than just throwing art on the wall--but I'll say more about that in my next little post.
So, as an exercise, I'd like to challenge you to think about ways you can add sliders. One of the best exercises is to reverse-engineer other breakthrough products and draw out their equalizer -- showing how they differ from what is typical and standard. At the bottom of this post, I've included the blank equalizer JPEG, plus the sliders, if you'd like to try making your own. Or just draw one on a whiteboard and scan it. If you create a blog entry with an equalizer of an existing product or service (or a wild-ass idea for something new), I'll link to it--as long as you have comments open ; )
Keep in mind that there is no one correct equalizer description of a particular product, service, or idea. It all depends on your perspective, and you might have an equalizer, for example, devoted solely to the customer service aspects of a product or service. And there's a fractally component here as well. With our "metacognitive" slider, for example, I have an entirely separate equalizer JUST for EQing the various metacognitive techniques we use. Our newest book design, for example, is brain-friendly, but in a profoundly different way than the Head First books, because we made a completely different EQ of the brain-friendly elements-- turning some way down, bumping some way up, and adding a few new sliders.
Above all, have fun!
FYI: This EQ modeling is fairly similar to a technique known as The Blue Ocean Strategy, a book I recommend (although it's a bit on the business school/academic side for me, but it's got a lot of great info). Their subtitle says it all: "How to create uncontested market space and make competition irrelevant"
Thank you, and I'm back : )
I hardly know how to tell y'all how much I appreciated all the chicken soup posts and the emails! You have no idea how helpful that was. Your links and comments were far better than I'd hoped for -- hilarious, entertaining and inspirational. I'm going to update that post, put the links inside the post itself, and make it one of the "favorites" as a wonderful collection of things to use when you need a laugh, distraction, or another excuse to procrastinate.
You all SO rock, and again -- I'm not a good enough writer to explain how much it meant to me. If you're reading this, it means you're still here and I thank you for your patience as well.
OK, enough fluffy bunny talk ; )
Chicken soup posts
I'll be offline for a little while. I've had some health issues, and need to take some time to recoup. I promise to be back online within a week to 10 days.
However, any attempts at "cheering up" would be much appreciated! So I challenge you to make this a kind of open mic/ free range with a cheering up theme -- that means comments and trackbacks to anything that could conceivably lift one's spirits -- so humor (especially humor!), inspiration, motivation, you get the idea. Complete meaningless wackiness is just as valuable here as a deeply moving dog-saves-boy story. ; )
When I return, I'll take the appropriate links and "promote" them into this post itself, so they're all in one place.
I thank you all in advance... trust me, I could really use it right now and I commit to making it up to you when I get back.
Passion is blind
Forgiveness is relative. We diss Windows with impunity, but when our Mac does the same thing, well, geeez nobody's perfect. When Clinton lied, US conservatives were morally outraged. When one of their own lies, "This is just a partisan stunt... perjury is a technicality." When Office crashes, I swear at it. When InDesign crashes, I empathize with it.
Having passionate users is almost like a get-out-of-jail-free card.
I say almost, because if you abuse your position as the object of someone's passion, they'll eventually figure it out, and the sense of betrayal will make them angrier about your transgression (crashing, lying, running slow, being incomplete, etc.) than if they'd never loved you at all.
But there's no getting around it--we all have double standards. We are all cutting one side some slack while holding the other to our ruthless, concrete expectations. And of course we will all screw up. We aren't perfect. Neither is our software, our hardware, our service, our support, our employees, our policies, our products and services and ideas. But that's the beauty of passion--if you can inspire it, by helping your user kick ass--they WILL cut you some slack. They'll forgive you when you screw up.
And even their very definition of "screw up" is fluid. Like I said, when I reboot my Mac, it isn't Apple that screwed up. It's either me (what did I expect trying to hook those three things up together?) or just the nature of doing anything so sophisticated, superior, and cutting edge. A small, small price to pay. When I have to reboot my Windows machine, come on... rebooting is such a perfect metaphor for everything that's just so wrong with Microsoft.
True Apple fans know that the Nano screen only appears to have a problem with scratches because:
A) The screen scratches... DUH! The new users are just too stupid to take proper care of it.
B) The normal to-be-expected scratches are simply more noticeable now because of the increased screen resolution. The perceived "scratch problem" is actually an artifact of the Nano's superiority. A feature, not a bug.
Most of us stroll happily along never acknowledging the double standards we apply. We don't recognize that our specific level of forgiveness (and indeed, what we even decide needs forgiveness) is based almost entirely on whether we love something (we'll forgive almost anything), hate something (we'll forgive nothing), or don't care about it at all (we'll forgive based on whatever seems "reasonable").
But sometimes our double-standards bite us in the ass and we're forced to face it, as Phil Ringnalda did a few months back. When O'Reilly appeared to have search-engine-gaming ads, Phil slammed him in this blog entry. But when his friend Shelley Powers does it, the conversation got very interesting. It was fun (and impressive) to see Phil acknowledge and wrestle with the ambiguity of it all. A couple quotes from the comments:
"Unfortunately, I can’t extend that absolution to you, and deny it to Tim O’Reilly...I don’t like this answer either. Isn’t there one where I can get back up on my high horse, and take a nice absolute moral position?"
I love the discussions that force us into grey, fuzzy, squirming positions where we must "hold two opposing thoughts simultaneously." But the point of my post is this -- wouldn't you rather be the one most likely to be forgiven than the one who can never "catch a break"? And again, I'm not talking about areas where you really do have serious problems that you'd rather sweet-talk your way out of than fix. I'm talking about the inevitable problems you just can't avoid. The "stuff just happens" events.
So, we have to ask ourselves... what can we do to put ourselves on the side of forgiveness? What can we do to help protect us from the times when we will screw up? What would it take in our product, company, service, whatever -- to get users to have a glass-half-full attitude about whatever it is we do? If "rebooting" is a metaphor, I'd rather be Apple than Microsoft.
(And that's another question to ponder... why are we so willing to diss Microsoft yet give Apple a break for some of the same things? More importantly, what--if anything--could Microsoft do to turn that around?)
Creating Happy Programmers
David Heinemeier Hansson (from 37signals) was intereviewed by eWeek recently, and the title is Ruby on Rails:Making Programmers Happy. While the title delights me, what really intrigues me is that people are even having this conversation. As Nat Torkington explained to me in his non-politically-correct but useful way, "It's no longer aspergers and emacs...we're putting people back into the equation."
Understanding the connection between happy users and happy developers (or happy anything-supporting-users) is a big step forward. The HR folks have cared about happy employees for a long time, but the notion of "happy programmers" was always more about benefits, perks, or pay... now a lot more people are starting to care--and talk--about things like programming language, API, framework, methodology, etc. The things that keep you in a flow state.
This just made my day, David.
When clients (and bosses) go bad...
What's it like to work at your company? Is anything beyond 8 hours a Big Exception, or does leaving at 5 PM evoke the "working a half-day again?" crack… In all my various jobs, from independent contractor to start-up employee to one of the thousands at the big monolithic tech company, I've worked in every conceivable tech scenario. But the worst are the ones that become slaves to their clients--often driven by the fear of losing one.
And fear leads to underbidding. And underbidding leads to… pulling all-nighters to make an impossible deadline on too few resources. (And the dark side is in there somewhere.) I love users, but as they say on the plane: you must put on your own oxygen mask first. You can't take take care of users if you or your employees are exhausted and stressed. On Maslow's hierarchy, empathizing with users comes after sleep.
I've seen too many startups begin with the promise of freedom, passion, and good intentions--only to end up exchanging one kind of "prison" (working for demanding bosses) for another--working for overly demanding clients. I've seen some companies become slaves to the client's whims because we had "too many eggs in one basket", allowing clients to exploit the fact that you need THEM much more than they need YOU. And then there's the company that's looking to sell or go public, promising everyone that "if you just work really hard for the next three years, we'll all make a ton of money." (Assuming you lived through the process.)
So why is it that some companies have such an unhealthy relationship with their clients (which means an equally unhealthy relationship with their employees)? It's not like we won't work our butts off for the right reasons, but when it becomes standard to put in 10 hour days and work at least a part of every weekend, simply to keep up with the insane deadlines, our creative energy drops to zero. You're getting labor but no passion. Productivity with no creativity. And we'll switch jobs in a nanosecond if we get the chance. The worst is when you're expected to work like a dog and the culture discourages complaining or even questioning.
There is at least one industry that has the right idea about the times when you have to put in long hours... Hollywood. Or at least the parts I worked in, which were post-production, games, advertising, and marketing. In the motion picture world, where your project manager is called a "producer", when they asked you to work the long hours, at least you were treated like a tempermental star who needed to be pampered ; )
In the Hollywood model, even the programmers usually got the diva treatment when the company really needed you to stay late. At most tech companies, on the other hand, when you have to work late, your manager springs for pizza, vending machine soft drinks, and maybe take-out burritos. But the Hollywood firms I worked for usually passed around the gourmet restaurant menus, if you worked beyond 7 PM. More surprising, they would also do whatever was necessary to make my daughter happy about my working late (as a single parent). They'd "send a car" to her school, bring her in to the facility where we'd have dinner together (whatever she wanted), take her to the ultra-luxury private screening theater (telling her how "Steven Spielberg sat right in that same chair yesterday...") and let her watch previews and early cuts from movies that nobody outside the studio had ever seen. (One of my all-time favorite employers then was BLT, a motion picture advertising agency, but I also loved working for the now-defunct kid's game division of Virgin--Virgin Sound and Vision, under the best creative producer/manager I've ever worked for, Tom Mott)
Ideally, a better way to treat employees is to try to avoid putting them in that spot ever. But things happen, and we understand that there will be times when we (the workers) just can't get it done during normal business hours, and the schedule just can't slip. Still, the difference between being expected to put in the long hours and being worshipped for doing it cannot be overstated. If we want to make happy users, we have to be happy. Our employers/managers/clients need to accept that, and act accordingly. If you're making us work late all the time because of lousy management, that's inexcusable. If you're making us work late because you're greedy and just want as much business as you can (im)possibly handle, that's inexcusable. But if you need us to work late because things happened that nobody predicted, or because this demo means something drastically important to the company, for which we will also be rewarded... then sure, we'll be willing to pitch in. But spend the extra few bucks to treat us as well as your clients. You should be wining and dining us, not them, when you're asking so much from us.
And as the tech employment market starts to tick up ever so slightly, it's becoming less and less of an "employer's market" again. I don't care about the Aeron chair, but I do care about having a life beyond work. If you can't make your business model work without promising your clients a miracle (which we're expected to pull off), change your business model! And when you DO ask us to go our ass off again, a little worshipping goes a long way ; )
Passionate Users at SXSW
A few bits of news --
I'll be doing a talk on "How to create passionate users" at the SXSW (South by Southwest) Interactive festival/conference in mid-March.
I'm also doing a panel at SXSW with Dori Smith, Shelley Powers, and Virginia DeBolt on "Why are women invisible on the web: whose butts should we be kicking?" As many of you know, I don't even agree with the premise of the title (I'm a woman, I certainly am not invisible on the web), and I have intense disagreements about this with the other women on the panel, so... it should be a rather festive panel ; ) (I'm thinking smackdown) I have to hand it to Dori, of whom I'm a big fan, for putting together a panel that offers differing perspectives.
I'm about 90% certain I'll be doing the half-day creating passionate users tutorial at ETech again, also in March.
But the one I'm really really really looking forward to is Webstock in New Zealand, in May, where I'll be doing "creating passionate users", and I know the organizers have some special things planned.
Other news... you may already know that Eric Freeman and I are both Dance Dance Revolution enthusiasts, which is why Coding Horror's Jeff Atwood just sent me this post on Guitar Hero. I want one.
Also, to any of you who are still waiting for an email response -- I'm just BARELY keeping my head above water, and between the book and trying to check in on the blog, I'm still way behind on everything (and overwhelmed). Don't be shy about resending or being persistent, and I'll try to catch up soon.
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.
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.
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.