Tuesday, February 14, 2017

How many time have you heard someone complain of a Google or a
Microsoft that they "could do that in a weekend?" How many times have
you wondered how on earth they stay in business? I recently ran across
a post by software
developer Dan Luu addressing that argument that offers both a quick
rebuttal and a dose of the kind of thinking that is
missing.

First, there is often evidence that, no,
you can't do that in a weekend. Luu specifically considers the
problem of internet search:

A few years ago, in the wake of
the rapgenius SEO controversy, a number of folks called for someone to
write a better Google. Alex Clemmer responded that maybe building a
better Google is a non-trivial problem. Considering how much of
Google's $500B market cap comes from search, and how much money has
been spent by tens (hundreds?) of competitors in an attempt to capture
some of that value, it seems plausible to me that search isn't a
trivial problem... [link dropped, bold added]

A world
littered with the failures of others doesn't prove that
there isn't a better way to do something, but it suggests that,
at minimum, there are aspects of the problem that might need more than
passing attention.

Luu goes into some detail about the
problem of search and those of running a business, as a means
of making his main point:

It's not that all of those things
are necessary to run a service at all; it's that almost every large
service is leaving money on the table if they don't seriously address
those things. This reminds me of a common fallacy we see in unreliable
systems, where people build the happy path with the idea that the
happy path is the "real" work, and that error handling can be tacked
on later. For reliable systems, error handling is more work than the
happy path. The same thing is true for large services -- all of
this stuff that people don't think of as "real" work is more work than
the core service. [link and footnote omitted, bold
added]

This reminds me somewhat of the "bike
shed" argument, in which people will endlessly debate some trivial
matter they know about (a bike shed on the site of a proposed nuclear
plant), while glossing over something that is actually complicated
(the nuclear power plant itself). In this case, internet search (although not trivial) is the
bike shed, and numerous other things, like, say, making money with
it, are being ignored.