The Product as a Promise (On Executing Well, part 1 of 2)

The year was 2002. Three men had a revolutionary idea for a new type of web site. This would be a new way to connect with existing friends and make new friends in a safe online “social network”. Not just anyone could join, you needed to be invited by an existing user. This could change the way people interacted over the Internet or even fundamentally alter how casual communication worked in the 21st century.

The idea had some initial success, and the company was funded in 2003 with a $12 million dollar investment from a capital investor firm. The site had enough mainstream popularity that Google made a buyout offer (which was declined). In fact, the company was featured in articles in magazines such as Time, Vanity Fair, and Entertainment Weekly and was generating a surprising amount of public buzz. Yet the company was doomed to fail to achieve its promise, their mantle stolen by a company with a better implementation of the same idea.

Any guesses? The company that was overtaken was Friendster. The company that overtook them was MySpace. Of course, both companies where bettered and beaten by Facebook. If you watched the movie The Social Network about the founding of Facebook without any other context, you would hardly know that any other similar site had ever existed before Mark Zuckerberg graced our world with his troubled, lonely genius.

What’s the point? Innovation is good, but execution matters more. This is the central premise that I want to explore in this two part series. In this first part part of the series, I want to focus on the product as a promise and how that plays out for the user and ultimately for the success or failure of the product.

The Product as a Promise

Software marketing seems to live and die by the bulleted list. Look on the back of any box of shrinkwrapped software (even games) and you’re sure to find a list of features that the software will deliver. Look on any web site for software, or a sign-up page for a Software as a Service (SaaS) product, and you’ll see the same thing. Sometimes you’ll even see a grid that includes competing products, showcasing which features they conspicuously lack. This high stakes game of bingo is played by product owners and marketers for the hearts and dollars of potential customers. But it misses the point.

That bulleted list is read by the customer as a promise, and every feature in that list creates an expectation by the customer that the software will deliver. The product owner might think of a feature as secondary or an afterthought, but the customer will be unlikely to do so. If that feature isn’t complete, well-executed, and intuitive, the customer will – rightly – view that as a broken promise. And broken promises are personal.

A Case Study: The Everything Software for Everybody

It was an amazing product for its time. Lotus Notes made hay in the nineties as extremely innovative business collaboration software. It sported and still sports an impressive list of features: email client, address book, calendar & meeting scheduler, instant messaging, word processor, database features, etc, etc. IBM bought Lotus in 1995 primarily to acquire this software, and this was haled as a tremendous strategic move.

How the mighty had fallen. By 2005, Lotus Notes had gone from dominating it’s corner of the the market with an over 60% market share to being dominated by Microsoft Exchange.

When I worked at IBM (circa 2004-2006), they made use drink the company Kool-Aid and use Lotus Notes for everything. At the time I observed that I’d never seen any application capable of doing more things less well than Lotus Notes. It was a constant hindrance to our day to day work lives and a horrendous user experience. More recently, competing products like Google Mail and Microsoft Sharepoint have gobbled up even more of its market share. There are few products that attract the same level of antipathy as Lotus Notes.

So what happened?

I’m not really familiar with every version of Lotus Notes from the early nineties to the present, but allow me to connect the dots. While growing their laundry list of features, Lotus Notes failed to keep up with users’ increasingly high expectations for the user experience. Some of the features were considered secondary and where implemented in an incomplete or slipshod way. Over time their user base took this personally and left.

It doesn’t matter how long that feature list is if those features are clunky and hard to use for most users. People will go elsewhere. And the best software is easier to use than it’s ever been. In short, the bar has been raised, and Lotus Notes did not keep up. The same thing has happened with many formerly successful products – I didn’t switch from Firefox to Chrome, for example, because Chrome had better features. It was faster and easier to use. That’s also why many people still prefer Microsoft Office products over fully featured free alternatives like Open Office.

Principle 1 – Poor execution leads to a poor customer experience every time, regardless of how innovative your product is or how many features it has.

Principle 2 – The bar for an acceptable level of execution has risen over time and will probably continue to rise. Products that fail to keep up will be abandoned.

The quality I’m trying to explain in common to these successful products is “execution”. Execution is the product’s ability to fulfill the explicit and implicit promises of a product, delivering a user experience that is reliable, intuitive, and pleasant. This includes the quality of the product, the completeness of the features, and the success of the UX design and implementation.

The Anti-Pattern: The Homer Mobile

Lotus Notes reminds me of the Homer Mobile. Do you remember that episode of the Simpsons? Homer Simpson, through an unlikely series of events which I won’t bother to relate here, was put in charge of designing his dream car for a major car company. The feature list:

  • Large beverage holders
  • Bowling mascot on the hood
  • Horns that play La Cucaracha
  • Sound-proof bubble for the kids
  • Huge motor
  • Big Fins
  • Power like a gorilla, yet soft and yielding like a nerf ball

And this was the result:


Needless to say, the product tanked, taking the company down with it. Silly Homer.

So what can we glean from this parable? By just stacking the product punch list with a list of (from Homer’s perspective) great ideas, Homer did a few things wrong. First, he bit off too large of a scope for a new product, undermining their ability to execute. Secondly, he didn’t consider what the set of core features were right for his product and whether they complemented each other. Finally, he never tested his ideas with a potential user base to determine whether there would be a demand.

Principle 3 – Be aware of what promises you are making the customer and make sure they are the right ones.

Principle 4 – Limit your promises to the most valuable ones you can fulfill. A more focused product that executes is a better start than a sprawling, half-baked product.

This may seem like a silly example, but I’ve worked on Homer Mobiles in my career. Maybe you have, too. It can be a little frustrating to be a software developer on a product that seems to be adrift without clear direction or achievable goals. It certainly doesn’t lead to competitive success in my experience. So if you are a product owner, don’t be a Homer.

Cleaning House at Apple

Steve Jobs understood this. After returning to Apple in 1998, he reduced their product line from 350 products to 10. Jobs understood that each product is a promise, and he limited what promises Apple made to just a handful – with the goal of nailing each and every one.

In his own words: “People think focus means saying yes to the thing you’ve got to focus on. But that’s not what it means at all. It means saying no to the hundred other good ideas that there are. You have to pick carefully. I’m actually as proud of the things we haven’t done as the things I have done. Innovation is saying ‘no’ to 1,000 things.”

Execution and Iteration

Ah, but what about iteration? Can’t you have a lot of basic, clunky features and iterate towards more complete and polished features. Isn’t that Agile?

Well, maybe sometimes, and I’ll explore the idea more in the next part of this series. But allow me to assert that it’s usually better to try to iterate by scope as much as possible. Start by delivering a fully realized product with a narrow initial scope and fill out the feature set over time. Don’t start with a huge set of poorly realized features and try to fill out the quality and the positive user experience over time. Your user base may not wait for you to keep your promises.

As someone working on a new product that’s currently in beta, I have to admit that polish and intuitive user experience is by necessity an outcome of iteration and benefiting from a good feedback loop. But that should, in my opinion, be a priority in a young product. The grace you receive for being new expires very quickly. If you don’t provide a product that has fully realized features and a positive user experience, you may find that a Zuckerberg will beat you to the punch. The first one in has a head start, but a successful product needs to execute and fulfill its promises to the customer.

TED Talk: The Six “Killer Apps” of Prosperity

I recently watched this TED talk on the six “killer apps” of prosperity:

Very interesting presentation. Some thoughts:

  • The concept of “killer apps” is an interesting metaphor to apply to traits of a society.
  • Ferguson did a good job of debunking the myth of  Western Imperialism being any more pronounced than Eastern Imperialism.
  • The claim by a Scottish speaker before a primarily American audience that the publication of Scottish writer and philosopher Adam Smith’s “The Wealth of Nations” was the most significant event in 1776 was both amusing and thought provoking.
  • Ferguson’s points around the Germans and the Koreans were very strong.
  • I wonder if you had ten historians with different belief systems come up with lists of the six killer apps that speak of the success of Western Civilization how much overlap there would be on those lists? Maybe quite a bit, but somehow I think some confirmation bias would sneak in. Maybe it also has with Ferguson’s list.
  • The whole idea of Killer Apps to me is a smaller thing that gets you excited about the larger thing that has some exclusivity to it. Going with that broad definition, this is actually a pretty apt metaphor for some of the things on the list.

Italian Plumbers and Perfection in Non-Linear Time

It goes without saying that there are some pretty interesting subcultures on the Internet. Within the video gaming culture, there’s a subculture of people who try to do speed runs of various popular video games. Another subculture is the ROM hackers: people who modify levels on various older video games like the SNES Super Mario World (often making them a lot harder). When those two subcultures meet, forming a sub-sub-culture, you get something like this:

Seriously, stop to watch the video if you haven’t. You owe it to yourself.

Wow, can you imagine a more perfect and amazing performance? Would it change your mind if I told you that the person who created that video was using performance enhancement?

Welcome to the world of TAS: Tool Assisted Speedruns. TAS is performing a speedrun like the one you see above by continually saving and restoring the state of the game in an emulator. Every mistake you make gets undone, you back up to your last save state and try those last 5 or 10 seconds over again, repeating until you finally succeed at that piece and go on to the next. At the end of 10+ hours of try and retry over the course of several days, you have 8 perfect minutes of Super Mario virtuosity. You can post a video of that 8 minutes, and it looks like a single, uninterrupted narrative. You aren’t lying to anyone about how it happened, everyone knows how you made it, but it is nonetheless considered as a single performance for the TAS community.

Here’s what the process looks like behind the scenes, with nothing edited out:

This is very interesting to me, because I’m not sure how to assess the final product. Should I look at the whole exercise as smoke and mirrors that creates the illusion of perfection? “Yes, it looks impressive and does involve skill, but it lacks purity. Isn’t it like saying a pitcher pitched a perfect game because he had nine perfect innings in different games scattered across the season?” Or is this process of creating genuine perfection from imperfect inputs impressive in its own right?

The Super Mario World game can be looked at as an enclosed system with its own rules of cause and effect. None of those rules are being violated in these TAS performances. They are just not being performed straight through in our perspective, if we watched them being done, but rather spread out in small pieces over a larger amount of time with all of the unwanted bits removed like noise to signal. In fact, when a performance is complete, all of the inputs are played back into the game, which occurs in real-time. This works because the game is deterministic – Miyamoto does not play dice with his universe.

This reminds me a little bit of Dust Theory, which is a concept I recently read about in the novel Permutation City by Greg Egan. The idea, very briefly, is that each pattern provides its own frame of reference, and multiple patterns can be applied to the same data. Neither is intrinsically more correct that the others. This is somewhat analogous to frames of reference in Special Relativity, where different people could experience time at vastly different rates. Only in Dust Theory the events could also by nonlinear or occur out of order. For our TAS, the events making up the performance are peppered across several days, interleaved between the dark matter of much less interesting gameplay.

This concept of undoing mistakes by reversing time isn’t just in TAS, it’s intrinsic to at least a couple of video games. Prince of Persia: Sands of Time had this gameplay as a core conceit, as did the pretentious indie hit Braid. Sands of Time allowed you to do it until your magic hourglass sand ran out. Braid, on the other hand, allowed time to be rewound without any restriction but with a twist: certain objects would not be affected.

Rewinding back from failure is an inviting concept to lure in a broader audience. In a game where any mistake can be taken back, there is no losing – just “haven’t won yet”. That’s probably a better approach for life in general now that I think about it.

This is an idea with mainstream appeal. It’s no accident that the movie Groundhog Day was a huge hit. Bill Murray takes hundreds or thousands of attempts at the same day and finally executes it perfectly. Tell me that wasn’t a TAS.

Personally, I find something a little bit magical about playing with time to become retroactively infallible. Maybe we should just enjoy that magic rather than find a reason not to.

Pro Tip: “Undo Close Tab” in Web Browsers

Have you ever been juggling a dozen or so tabs in your web browser and accidentally close one? Oooh, I hate that!

As luck would have it, most modern web browsers support an “Undo Close Tab” shortcut which will bring back that lost tab. The latest versions of Chrome, Firefox, IE, and Opera all allow you to hit Control-Shift-T to recover your lost tab in Windows. On OS X with Chrome or Firefox, you can hit Command-Shift-T for the same result.

Safari likes to be different. Its keyboard shortcut is Command-Z.

This won’t help you recover any lost state (e.g. page form being filled out), but in most cases it’s pretty handy. Once again, technology helps us become retroactively infallible.