Hacker News new | past | comments | ask | show | jobs | submit login
Commoditize your complements (2002) (joelonsoftware.com)
62 points by clomond on April 2, 2021 | hide | past | favorite | 25 comments



I have a page on this topic with many additional examples (most from after Joel's post): https://www.gwern.net/Complement


I’ve read about this before. I can’t you tell you why, but somehow I think there’s something about that theory that doesn’t feel right. I can’t quite put my finger on it. Maybe someone else can?


My guess is that this is a strategy for dueling giants. You look at his examples, it's MS, AOL/Time Warner, Sun, Oracle. This is not really a strategy for startups or even successfully midsize companies. Those companies are too busy working to make money off of their own products. To commoditize your compliment you have to have so much extra capacity you can develop a product at a quality level of a midsize company and then give it away for free.

So it's a very interesting theory, but its also pretty much irrelevant for most of us.


It's relevant to startups, though, because picking a vacant market where the complements are already commoditized is a winning strategy for a startup. It was like that for most of the tech giants of today. For Amazon, books were already a commodity, shipping was a commodity, and online checkout became a commodity shortly after they started. For Google, websites and hyperlinks were a commodity. For Apple, chips were a commodity, TVs were a commodity, floppy disks were a commodity, and programmers who knew BASIC were a commodity. For Uber, drivers were a commodity, cars were a commodity, and cell phones became a commodity.

The main difference between startups and big companies is the resources available to them. Startups do not have the ability to meddle in markets other than their own product, because they simply don't have enough people. They have to put all their efforts into their main product, because they don't have much effort to spare. But the most successful startups are the ones where the rest of the ecosystem already exists and they're just putting the keystone in place to change how society functions.


The way I understand complement like it’s defined in the article is: something you buy from different players to use with your product. Cars/gas, Hardware/SW.

It’s not something you need to produce your product in the first place, like steel for car manufacturers. Thus, I don’t think your examples qualify tbh.


Complements are essentially the "ecosystem" around your product. In a traditional microeconomics text, they're the goods that are commonly purchased alongside your product. So PCs, monitors, keyboards, and mice are all complements.

Re-reading my comment, I see some of the confusion. If you think of each of these companies as a reseller of books/websites/computers/rides, then those goods are not their complements; they're their suppliers. If you think of them as a marketplace that provides a service to find books/websites/[okay Apple makes no sense here]/rides and then takes a cut for their value-add, then they are complements: the driver and the service to find the driver are separate goods that must be booked together. There are substantial legal battles around which is a better model for the tech industry: Elizabeth Warren's campaign to prevent tech companies from also owning services that compete on their platform assumes they are marketplaces, the employee/1099 classification lawsuit assumes that they are resellers, the Australian law to force Google to pay publishers assumes they are resellers.

I could probably have picked clearer examples, eg. cheap TVs and floppy disks really are complements for 1975 Apple but chips are suppliers, while Amazon's own business plan implies that it's a retailer rather than a marketplace. Google is still a pretty good example, though: Google does not sell websites (or didn't in the 1990s, at least), but the need for a search engine arose out of there being many websites around.


Books are not a commodity. They are one of the most differentiated products out there, with little possible substitution among titles.


"Books" as a mass noun is a commodity, "books" as a plural noun is differentiated. (Somewhat by definition: anything that you think of as a mass noun is a commodity.) Amazon's goal was to get you to think of "books" as a mass noun, and among the general public, they largely succeeded. Book aficionados still think in terms of books as individual, differentiated titles, but these people are much more likely to go to small independent bookstores (where they will get individual, differentiated attention) than Amazon. The general public thinks "If I happen to need a book, I'll find it on Amazon".


I think this hooks into the "losers game" post from a few days back: most startups are still in the phase where they are overwhelmingly more likely to die because they fuck up than because some competitor manages to outmaneuver them. Big tech is profitable and won't die just by itself, so in that theater clever tricks like commoditizing your complement becomes much more important.


Startups are a "winner's game", in that the default state is just dead, and if you play without errors you will still end up dead. You have to have some winning move that nobody has thought of before; otherwise, why wouldn't this business already exist? Big companies get to play a loser's game: if they just avoid mistakes, they can continue making obscene profits, because they've figured out a business model that works.

The "winner/loser's game" framing is still relevant. A startup is focusing intently on its one winning move and trying to hit it out of the park. A big company only needs to avoid losing moves, and so it often has resources and attention available that it can spend on commoditizing complements.


Startup's are a winners game, but the software aspect of them is very much a losers game. Startup's very very rarely succeed because of high quality programming, most of them are doing very boring things from a software point of view, they just need to not have their software be unusable for long enough to test out their business hypothesis.


Depends on era, sub-industry, and to some extent location.

I think that's been largely true of startups that have succeeded since 2004, particularly the latest crop of SF-based startups. These have largely been about the deployment of existing technologies developed at big companies (the WWW, e-commerce, and mobile phones) into new industries.

But I had a mentor, back when I started my career in Boston, that said "Every startup I've seen succeed did so because some engineer did something that everybody else said was impossible." She was an early engineer and later VP at Stratus (the early-80s company that made super-redundant minicomputers for banks etc.), then later was called in to rescue Equalogic's software (multi-terabyte transactional SANs) before it was bought by Dell. There are plenty of other startups that succeeded because they did something technologically that most people thought was impossible or at least economically inadvisable - Google, VMWare, SpaceX, etc.


I don't see it that way. Take Bic, for example. They commoditized the razor handle in order to sell more blades. But for that to happen, they didn't need to be in a duel with some other giant who made their money selling handles. They just needed to decide that they'd make more money selling more blades than they would make selling more-expensive handles.


Well, it may be a case of what Jobs referred to in his quote about being able to connect the dots only when looking backwards, that in the present moment, one has to hope that the dots will connect.

What he refers to as IBM's RedHat strategy may have been their motivation, but it's hard to discount the value of a proven, growing revenue stream; they may simply have thought "hey, revenue, plus some possibilities!" Likewise commoditizing the PC peripheral market: I could buy it, if they had made big money in that market. The fact they went on to spend gazilladollars on OS/2 (which had its moments) and got M$ to write it (and gave Gates an opportunity to have his engineers learn the 386 in detail while not providing any transferable knowledge to IBM, since OS/2 was written in assembler...) makes me think Joel was cherry picking.

That said, it is an interesting argument: If you do a thing that makes something else desirable AND you can make decent margins on the other things, especially if they are consumables or have a repeating revenue stream, it may be worth quite a lot to do the thing.

I'm not wholly convinced, but I am intrigued.


I think it makes sense in the right conditions.

Your product has a complement, that complement’s quantity demanded can be increased (maybe the price could be lowered by removing a monopoly or reducing costs) thereby increasing the demand for your product (your demand curve shifts right).

But I guess whether your business can capture any of that increased demand is another story.


At the end he argues that desktop software is not commoditized but look at Sublime Text vs VSCode - granted it was probably released 15 years after this article came out, but I think that's a pretty good example of commoditized/interchangeable desktop software.


1. He said software is hard to commoditize, not that it isn't. Google docs commotidizes MS Word for a reasonably large audience, but there are a million features of Word that google docs doesn't have, and if you use even one of them, it falls down.

2. I don't use VSCode nor Sublime Text, but are they really so similar that people switch between them freely?

As a comparison, I use vim. The best vim-emulation layer I've ever used is evil-mode on emacs, but even that has some hiccups that make it hard for me to switch between them (I hate that yanking to the default register on evil-mode also yanks to the system clipboard).


I will contribute a data point for Sublime and VSCode.

I use Sublime for scripts and small programs and use VSCode for larger programs/codebases.

I could use VSCode for everything so I guess they are technically interchangeable, but I prefer Sublime.


This matches my usage too, though I'd add that my #1 use for Sublime is notes.

For me, VSCode could replace Sublime if they just allowed you to open a separate "zen mode" window (not fullscreen, but otherwise like VSCode's current zen mode).


I guess again coming from the point of view of a vim user, I have friends who struggle to use my vim setup because I don't have surround.vim (a common plugin) installed. They use features in it multiple times per minute. For them a complete clone of the vim UI that didn't include an equivalent plugin would be insufficiently vim-like for them to switch.


Yeah, this is where evil-mode sort of shines: I was able to go through my vim configuration feature-by-feature and more or less recreate it in my emacs configuration. A couple years later, I have a sort of hybrid vim-emacs config (smartparens for most cases where I would have used surround.vim before) that works really nicely.


It's funny, I'm like you with evil-mode/vim but opposite: after switching to evil-mode, I discovered that I like some of its changes and miss them whenever I use vim. The system clipboard integration, in particular, I really like (although, I'm pretty sure there's a setting somewhere in customize to disable that behavior).

Another is that evil-mode's implementation of `A` works the way I'd like it to in visual-line mode while it's just sort of annoying in vim


The one thing I love about evil-mode over vim is the smart-case text replace (%s/foo/bar will change Foo to Bar and FOO to BAR and foo to bar).

FWIW, ":set cb=unnamed,autoselect" (or "unnamedplus,autoselect") will probably do what you want in vim.

Another thing I forgot; running evil-mode in "emacs -nw" disables all setting of the clipboard, even with `"+` while a terminal vim with X11 compiled in will let you still access the clipboard. Kind of a super-niche use, but shrug.

I just tried A in visual-line mode and it was confusing. I'd never tried it before though, so never ran into that.


The other thing that's really cool in evil-mode is the ability to use emacs-lisp in `:s`. I used this once to get a grid of random numbers: 10i0 <ESC>yy9p ggVG:s/0/\,(random 10)/g


Amazing article.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: