Software eats software development

Software is eating the world, and doing so using smaller and smaller teams. WhatsApp was able to disrupt the global SMS industry with only a few dozen engineers. Small teams can have a big impact because software development (and deployment) has improved dramatically over the past decade. Some improvements include:

  • Infrastructure. Deploying a commercial website ten years ago required significant upfront capital. Now you can spin up virtual servers in minutes. Upfront costs are close to zero and ongoing costs are orders of magnitude lower than before.
  • Services. Startups created simple APIs that abstract away complex back ends. Examples: Stripe (payments), Twilio (communications), Firebase (databases), Sift Science (fraud).
  • Open Source. Open source dominates every level of the software stack, including operating systems (Linux), databases (MySql), web servers (Apache), and programming languages (Python, Ruby). These are not only free but generally also far higher quality than their commercial counterparts.
  • Programming languages. Developers have steadily marched upwards from Assembly to C to Java to, today, scripting languages like Ruby and Python. Moore’s Law gave us excess computing resources. We spent it making developers more effective.
  • Special-purpose tools for non-programmers. These tools let non-programmers create software in certain pre-defined categories, thereby lowering costs and reducing the demand for developers. Examples: Shopify (e-commerce), WordPress (blogging), and Weebly (small business websites).
  • General-purpose tools for non-programmers. In the pre-Internet era, tools like Hypercard and Visual Basic allowed hundreds of millions of semi-technical people to become software developers. Since then, there hasn’t been much work in these areas, but from what I’ve seen that might change soon. By allowing more people to program, these tools act as a force multiplier for the software industry.

In all likelihood, the demand for software development will continue to dramatically outpace the supply. If so, “software eats software development” will be an exciting area going forward, with lots of valuable startups created in the process.

Why I’m interested in Bitcoin

Some people assume that all Bitcoin advocates are motivated by a libertarian political agenda. That is certainly not my agenda. I’m a lifelong Democrat who supported Obama in the last two elections. I think the Federal Reserve plays an important function, and I don’t agree with people who think inflation should be our nation’s primary economic concern.

It is true that many early Bitcoin proponents were libertarians. But it is also true that almost every significant computing movement had early proponents who were ideologically motivated. The developers of the first personal computers were closely aligned with the 60s counterculture movement. Open source software was originally created by people who believed that all software should be available for free. Early advocates of blogging and collaborative systems like Wikipedia were trying to democratize the production and dissemination of information. This isn’t coincidental: broad-based technology movements have depended on non-economic participants early on since it often took years for commercial participants to get involved.

If not for political reasons, why am I interested in Bitcoin? Like a lot of people, I was disturbed by the aftermath of the 2008 financial crisis. I thought the government did what it had to do at the peak of the crisis but missed an important opportunity afterwards to reform the financial system. It seemed to me that there were two ways to improve the system: from above through regulation (which I support), or from below through competition.

I wrote a blog post about this issue about four years ago. My argument was that if the technology industry wants to change the financial services industry, it can’t just build new services on top of existing financial services companies. That would be like trying to disrupt Google or Apple by building services on top of their platforms. To actually have an impact (and create large businesses) you need to create services that completely bypass incumbent financial companies. I gave a series of examples including payments:

Charging 20% interest rates (banks) and skimming pennies off every transaction (Visa and Mastercard) is a very profitable business. Starting a new payment company that doesn’t depend on the existing banks and credit card companies could be disruptive.

Since then I made a number of financial services technology investments, all of which were consistent with this thesis.

I started getting interested in Bitcoin about two years ago. Like a lot of people I initially dismissed Bitcoin as a speculative bubble (“Internet tulip bulbs”) or a place to stash money for people worried about inflation (“Internet gold”). At some point, I had an “aha!” moment and realized that Bitcoin was best understood as a new software protocol through which you could rebuild the payments industry in ways that are better and cheaper.

The payment industry is a $500 billion industry (or larger, depending on how you measure it). That means banks and payment companies charge $500B per year in fees to provide a service that mostly involves moving bits around the Internet. There are other services they provide like credit, security, and dispute resolution, but in any reasonable analysis these services should cost dramatically less than they currently do. The payment industry should be at least an order of magnitude smaller than it is today.

Another thing that informed my view was seeing what a huge headache payments were for startups I was involved with. Let’s say you sell electronics online. Profit margins in those businesses are usually under 5%, which means the 2.5% payment fees consume half the margin. That’s money that could be reinvested in the business, passed back to consumers, or taxed by the government. Of all of those choices, handing 2.5% to banks to move bits around the Internet is the worst possible choice. The other main challenge startups have with payments is accepting international payments. If you are wondering why your favorite technology service isn’t available in your country, the answer is often payments.

But the most exciting aspect of Bitcoin (and this is admittedly more speculative) are all the interesting new business and technology models that “programmable money” could enable. For example, I am very bullish on micropayments (this is a longer topic which I plan to write about separately). The world recently ran its first large-scale micropayments experiment – so called in-app payments on iOS and Android – and despite some serious design flaws (centralized control, 30% fees), it was a smashing success. I think Bitcoin could enable a micropayment system for the open web, and thereby provide a business model beyond banner ads for many important services such as journalism.

I’m not claiming that Bitcoin (or any new technology) can save the economy or the world. The technology industry is in the business of creating products and services that either enable new activities or make existing activities less expensive. Venture capitalists are in the business of funding entrepreneurs who run experiments to try to create these new products and services. I believe the only way the technology industry can offer meaningfully improved financial services is by building new services that don’t depend on incumbent companies. Bitcoin is a serious proposal for dramatically improving the payments industry. There are plenty of open questions but I think it’s an experiment worth running.

The tradeoff between open and closed

When having the “open vs closed” debate regarding a technology platform, a number of distinctions need to be made. First, what exactly is meant by “open.” Here’s a great chart from a paper by Harvard professor Tom Eisenmann (et al).:

(Eisenmann acknlowledges the iPhone isn’t fully open to the end user – in the US you need to use AT&T, etc.  I would argue the iPhone is semi-open to the app developer and mobile app development was effectively closed prior to the iPhone. But the main point here is that platforms can be open & closed in many different ways, at different levels, etc.)

The next important distinction is whose interest you are considering when asking what and when to open or close things.  I think there are at least 3 interesting perspectives:

The company: Lots of people have written about this topic (Clay Christensen, Joel Spolsky, more Eisenmann here).   In a nutshell, there are times when a company, acting solely in its self-interest, should close things and other times they should open things.  As a rule of thumb, a company should close their core assets and open/commoditize complementary assets. Google’s search engine is their core asset and therefore Google should want to keep it closed, whereas the operating system is a complement that they should commoditize (my full analysis of what Google should want to own vs commoditize is here). Facebook’s social graph is their core asset so it’s optimal to close it and not interoperate with other graphs, whereas marking up web pages to be more social-network friendly (open graph protocol) is complementary hence optimal for FB to open.  (With respect to social graphs interoperating (e.g. Open Social), it’s generally in the interest of smaller graphs to interoperate and larger ones not to – the same is true of IM networks).  Note that I think there is absolutely nothing wrong with Google and Facebook or any other company keeping closed or trying to open things according to their own best interests.

The industry: When I say “what is good for the industry” I mean what ultimately creates the most aggregate industry-wide shareholder value.  I assume (hope?) this also yields the maximum innovation.  As an active tech entrepreneur and investor I think my personal interests and the tech industry’s interests are mostly aligned (hence you could argue I’m talking my book).  Unfortunately it’s much easier to study open vs. closed strategies at the level of the firm than at the level of an industry, because there are far more “split test” cases to study.  What would the world be like if email (SMTP) were controlled by a single company?  I would tend to think a far less innovative and wealthy one. There are a number of multibillion dollar industries built on email: email clients, webmail systems, email marketing, anti-spam, etc.  The downside of openness is that it’s very hard to upgrade SMTP since you need to get so many parties to agree and coordinate.  So, for example, it has taken forever to add basic anti-spam authentication features to SMTP.  Twitter on the other hand can unilaterally add useful new things like their recent annotations feature.

Here’s what Professor Eisenmann said when I asked him to summarize the state of economic thinking on the topic:

With respect to your question about the impact of open vs closed on the economy, the hard-core economists cited in my book chapter have a lot to say, but it all boils down to “it depends.” Closed platform provides more incentive for innovation because platform owner can collect and redistribute more rent and can ensure that there’s a manageable level of competition in any given application category. Open platform harnesses strong network effects, attracting more application developers, and  thus stimulates lots of competition. There’s some interesting recent work that suggests that markets may evolve in directions that favor the presence of one strong closed player plus one strong open player (consider: Windows + Linux; iPhone + Android). In this scenario, society/economy gets best of both approaches.

Society:  I tend to think what is good for the tech industry is generally good for society.  But others certainly have different views.  Advocates of openness are often accused of being socialist hippies.  Maybe some are.  I am not.  I care about the tech industry.  I think it’s reasonable to question whether moves by large industry players are good or bad for the industry.  Unfortunately most of the debate I’ve seen so far seems driven by ideology and name calling.

Google should open source what actually matters: their search ranking algorithm

Websites live or die based on how a small group of programmers at Google decide their sites should rank in Google’s main search results.  As the “router” of the vast majority of traffic on the internet, Google’s secret ranking algorithm is probably is the most powerful piece of software code on the planet.

Google talks a lot about openness and their commitment to open source software. What they are really doing is practicing a classic business strategy known as “commoditizing the complement“*.

Google makes 99% of their revenue by selling text ads for things like plane tickets, dvd players and malpractice lawyers. Many of these ads are syndicated to non-Google properties. But the anchor that gives Google their best “inventory” is the main search engine at Google.com.  And the secret sauce behind Google.com is the algorithm for ranking search results. If Google is really committed to openness, it is this algorithm that they need to open source.

The alleged argument against doing so is that search spammers would be able to learn from the algorithm to improve their spamming methods. This form of argument is an old argument in the security community known as “security through obscurity.” Security through obscurity is a technique generally associated with companies like Microsoft and is generally opposed as ineffective and risky by security experts. When you open source something you give the bad guys more info, but you also enlist an army of good guys to help you fight them.

Until Google open sources what really matters – their search ranking algorithm – you should dismiss all their other open-source talk as empty posturing. And millions of websites will have to continue blindly relying on a small group of anonymous engineers in charge of the secret algorithm that determines their fate.

* You can understand a large portion of technology business strategy by understanding strategies around complements. One major point: companies generally try to reduce the price of their products complements (Joel Spolsky has an excellent discussion of the topic here). If you think of the consumer as having a willingness to pay a fixed N for product A plus complementary product B, then each side is fighting for a bigger piece of the pie. This is why, for example, cable companies and content companies are constantly battling. It is also why Google wants open source operating systems to win, and for broadband to be cheap and ubiquitous. [link to full post]

Why does it matter that Twitter is supplanting RSS?

The other day I claimed that Twitter is supplanting RSS, and that long term that’s a bad thing.  Andrew Weissman had a very reasonable response:

Twitter is the most open application people are currently using. It’s open on the way in and the way out. The variety of applications using the Twitter api are astounding in that they cover many use cases.

Given that, why will Ashton and Oprah someday care?

The problem is Twitter isn’t really open.  For Twitter to be truly open, it would have to be possible to use “Twitter” without an any way involving Twitter the institution. Instead, all data goes through Twitter’s centralized service.   Today’s dominant core internet services – the web (HTTP), email (SMTP), and subscription messaging (RSS) – are open protocols that are distributed across millions of institutions.  If Twitter supplants RSS, it will be the first core internet service that has a single, for-profit gatekeeper.

Why would this matter to Ashton or Oprah?  Imagine if Microsoft Exchange server wasn’t just an instantiation of SMTP but was a centralized service that all email had to pass through.  A single institution is never as reliable as a system distributed across millions of institutions.   Nor is it as secure – for example, a distributed denial-of-service attack can much more easily bring down one service than the entire internet.

But most importantly, having one company control a core internet service hinders competition and therefore innovation.  To continue the Microsoft Exchange analogy – do you think in that world we would have such a diverse email ecosystem if everyone had to go through Microsoft to build stuff?

And this is all true while we are still living in the fantasy land where everything involving Twitter is free.  At some point Twitter will need to make lots of money to justify their valuation.  Then we can really assess the impact of having a single company control a core internet service.