Why the 'total product' is more important than the 'core product'?

(or: Why is git better than mercurial?)

(This article is also available as a moofie. Watch it now)

Sometimes a superior technological product is "beaten" by an inferior competitor and a lot of early adopters are left scratching their head and moaning. "But BETAMAX is BETTER" they say. Or "but mercurial is better!" Or "Scriptaculous is better than JQuery!" and so on.


In many of these cases, the problem isn't the 'core product' but the 'total product'.

core product (egg yolk) total product (includes the white)

The total product encompasses everything other than the product itself. Traditionally this means the support, warranty, and documentation. But in the modern world it includes the rich ecosystem of related products, the social network of influencers, the free online learning, the depth of answers at stack overflow, the app store, the plugins/add-ins and much much more.

In the case of git versus mercurial, GitHub is an overwhelmingly large part of the 'total product', as is the network effect arising from the existing user base. It's this huge outer part of the total product that ensures the core product can out-perform a superior competitor.

git v mercurial: mercurial better core but git better total product

(Note that the "size" of the circles relate to "how great is the product" NOT "how large is the product")

JQuery is a case where the core product was bolstered by the plugin capability, which created a 'total product' that was far superior to its competitors at that time.

Open-source is an interesting case of tradeoffs made around 'outer product'. Not too long ago many traditional businesses (think 'Fortune 500') were reluctant to adopt or take part in open source technology because there was no obvious support or warranty, in other words, they saw problems with the "total product". But the open source world's strength is in other parts of the outer product: the rapid updates and broad informal support that you can only get from a truly open system. So over and over we see open source technology adopted by mainstream businesses.

And I love this quote from Miguel de Icaza, creator of Mono:

...revealing how the outer product is so often neglected.

How does this relate to your humble first product?

It's an invitation to put more time into developing the total product instead of endlessly focusing on the core product. And it's about asking yourself if you can find ways to get customers and supporters involved in helping you grow the total product. Instead of adding one more feature that may or may not be used, how about improving the website that every potential customer gets to see? Instead of focusing on the indenting of your code, how about writing some basic documentation, that can help real people? Instead of optimizing an algorithm that only runs once a month, how about building relationships with other businesses that offer complementary goods and services? Instead of adding more options to the option screen, how about working your way through the support backlog, and maybe even sending a special thank you to your best customers and supporters?