Design | July 22nd, 2013
When designing a product it’s often helpful to understand development as well so that you can think about technical limitations and challenges as you design. But what if thinking about the implementation details is holding back the product experience?
If you think about how to implement your idea you’ll quickly find the objections of why it wouldn’t work. That usually leaves good designers making an incremental improvement to an existing process. That’s how we end up with 10% or 20% improvements rather than an idea that is totally re-imagined.
The perfect experience
Sahil Lavingia built the payments company Gumroad, but he didn’t start by thinking about the technical challenges—even though he is a developer. Instead he focused on the end experience he wanted: it should be as easy to sell a product as it is to share a link on Twitter or Facebook.
That vision meant that Gumroad sellers would need the usual payment headaches taken care of for them. Setting up a merchant account, getting bank approval, fighting fraud (ask the Gumroad team what they do to stop fraud, it’s a fascinating conversation), creating a shopping cart, and all the usual steps involved in selling products needed to disappear in order for Sahil’s vision to be possible.
Making selling a product as easy as sharing a link is an excellent goal, but it is naive. To have that vision you need to either not know the complexities involved in bringing it to life or ignore them in your dreaming stage.
One of the definitions of naive is “unsuspecting.” I like that. Usually those who design breakthrough experiences don’t suspect just how challenging the process is going to be. Maybe if Sahil knew just how much goes into starting a payments company he wouldn’t have started.
I may not have started ConvertKit if I’d known all the challenges—and I’ve only faced a tiny fraction of what’s to come. If you look at everything up front it’s daunting. But just looking at your vision for the final experience you miss the details. That’s actually good: you just might not start at all if you knew what it would take to finish.
Wouldn’t it be cool if . . . ?
Naive design starts with phrases like “wouldn’t it be cool if…?”
Wouldn’t it be cool if you could point your phone at some text—any text—and have it instantly translated to another language? Even better, what if the text could appear right back in context—replacing the original text?
If you start thinking about implementation you may completely discount this idea. After all you need to use optical character recognition to detect the text on the fly, translate it to another language, then try to match the style and angle as you overlay the text back over the original. That’s hard.
Being practical you may think, “maybe we could do that if we had you take a picture, then translated the text in the picture.” But that’s not the same experience. It’s the naive designer—the one who ignores implementation details while they dream—that can imagine the ideal experience and figure out how to bring it to life later.
The app I just described is WordLens by Quest Visual. It’s been out for a while, but their demonstration video is still extremely impressive!
Innovation in payments
Another favorite company of mine is Square. Do you think Jack Dorsey knew you could use an audio jack to connect a card reader to a smartphone when he dreamed of charging credit cards on a phone?
Maybe I should have found another non-payments example, but each time I walk through my local farmer’s market I can’t help but think what an innovative idea it is. Over half of the vendors have a small “Pay with Square” sticker on their booth. You can always see that iPhone or Android sitting there—just waiting to swipe a credit card.
Jack started with the experience—easily swiping a credit card on the phone—and only worried about the implementation details once he knew what the perfect experience would be. The result is a simple, cheap (almost disposable) plastic card reader that works well on both Android and iOS devices. That’s pretty awesome.
Sometimes you just need to ignore the implementation in order to dream up the perfect experience. That’s naive design.