05 February 2009

Software for nothing and the chicks for free

One of the most annoying things about writing software is that nobody wants to pay for it.

A 5¼-inch floppy disk, the most common way of distributing software in the 1980s
Back in the 1980s when I was first dabbling with computers, there was only one way to get software for your home computer: You went to a computer store and bought a shrink-wrapped box containing a bunch of disks (that's floppy disks - ah, the memories!) containing the software. It usually also contained a big fat book called a manual with instructions on how to use the software.

This immediately put some constraints on things. Software vendors had to buy the disks, copy the software onto them, print the manuals, put them in cardboard boxes, and then ship them off to retailers. Retailers then added their own mark-up to the deal covering their own profit margins and costs such as operating expenses (rent, shelf space, payroll) and logistical costs (unused inventory, returning defective items) and all the other ugly details that are involved in any retail operation.

Remember when I said that was the only way to get software? I lied. It was actually the only way to buy software. In the 80s this retail selling of software was quite popular, but it was actually a rather new idea. Up until the late 70s, there was really only one way to get software: You got it along with your computer.

You see, before the personal computer "revolution" of the 80s, the hardware was always the big, expensive bit. People hadn't really caught on to the idea that it was just the baseline, and that it was the software you ran that made it in any way useful. What's more, most people who bought computers back then were, to a certain degree, programmers themselves, and wrote their own software. The software was also pretty simple by today's standards; many of the popular software programs of that age were written by a single programmer in a small time frame. Not only was software engineering in its infancy, but the computers were slow and had tiny memory capacity.

Additionally, most computer systems back then were completely incompatible with each other. Rarely could you find two machines from different vendors that could run the same programs or handle the same data. So, computer vendors employed computer programmers that wrote software for their machines. Every vendor had an operating system, all of them had a bunch of programming languages, a word processor, etc. When you bought a computer, you got a load of software with it, sometimes for free, sometimes as a cost option - but the cost was drowned out by the cost of the hardware.

This led to something that every software engineer absolutely loathes: An effect we like to call re-inventing the wheel. When a software engineer writes a piece of code that does more or less exactly what another piece of code does, he is re-inventing the wheel. Re-inventing the wheel is bad because you are expending effort doing something that's already been done by someone else, and has been tested, refined, debugged and reached a state of maturity that it may take your software years to reach. I'm going to be returning to this concept a lot in this blog, so take note of it.

Pretty soon it became apparent to almost every computer vendor that they kept a bunch of programmers around and paid them mostly to re-invent the wheel. At the same time, computer architectures and programming languages were becoming increasingly cross-compatible, and you could easily take software written for one computer and adapt it to run on another. And just like that, the software industry was born: Companies that developed software and sold it to computer vendors so that they could bundle it with their computers.

Of course, many of these software companies also started selling their software directly to users as after-market accessories. Perhaps unsurprisingly, people didn't take to this too well. People could understand the value of plonking down $5,000 on a computer because they got a big heavy piece of machinery. Spending even 1% of that amount on something intangible was not a value proposition many people understood. Add to this the difficulties and costs involved with selling software at retail, the inevitable losses from when people copied your software without paying you, and you'll soon realise why the smart software vendors in those days really wanted to strike deals with computer vendors rather than try to peddle their wares to the consumer.

Amazingly, most of those deals were straight sales. Big Computer Corp. wanted to launch its new FG-81 computer, so they'd go to AmazingSoft, pay them a lump sum and have them write WordMangler(tm), a word processor that they would ship along with the FG-81 to convince their customers it was a computer worth buying.

What may be hard to grasp, looking at things today, is just how tiny the software industry was back then. Hardware vendors were huge multinational corporations with immense amounts of money. Software vendors were little garage-based startups that dealt in small amounts, eating the scraps from the hardware vendors' table.

But there was one company, and three guys in particular who, depending on who you talk to, either did something incredibly smart or were incredibly lucky. The story has been told before countless times, but the gist of it is that Paul Allen, Bill Gates and Steve Ballmer, representing their company, MicroSoft, struck a deal with IBM to license, not sell, an operating system for their new computer called simply the "PC". The younger ones amongst you may not remember this, but through most of the 80s, "PC" did not stand for "personal computer", it meant a specific model made by a specific company: The IBM PC. The irony of the whole thing is that they didn't even write the operating system. They bought it wholesale from another company - much like most hardware vendors were buying software wholesale direct from the companies that wrote it. They changed the wording on the marketing material, made a few minor changes, and then licensed it to IBM.

IBM's first entry into the home computer market, the PC (a.k.a. model 5150) made everybody rich except IBM
The rest is history. The IBM PC was never a particular success, but due to a quirk in its technical design and legal background, it became possible for other companies to create computers that could run the exact same software as the IBM PC, without any modification. These "IBM PC-compatibles" were cheap knock-offs but they quickly became the most popular kind of personal computer, to the point were the terms "personal computer" and "IBM PC-compatible" became mutually interchangeable. And what did all of these IBM PC knock-offs have in common? They ran MicroSoft's operating system, known as MS-DOS. Which meant that every computer vendor from Taipei to Houston paid MicroSoft a small percentage of the sale price of every computer they sold.

Another result of this proliferation of IBM PC clones was that a very open market was created. Before the IBM PC and its compatible clones, the barrier of entry for a new computer maker was pretty high and any company entering the market had to build a customer base and a fair amount of software to be able to compete with established incumbents. The market for IBM PC clones, however, was straight out of an Economics 101 textbook. Much like an Economics 101 textbook would predict, competition drove prices through the floor and drove innovation, to the point were profit margins on hardware, and hardware prices themselves, which in the 1970s had been huge and drove the gigantic growth of IBM and other "big iron" vendors, dropped to minuscule levels.

Regardless of whether that initial deal was the product of searing foresight or blind luck, the people running Microsoft (the S was eventually de-capitalised) were quite smart. The software they wrote was mediocre and unoriginal at best, with a lot of it being simply bought up from smaller, innovative vendors using their huge wodges of cash. When text screens gave way to graphical user interfaces, they managed (through means that have since been deemed to be illegal, and for which they have been fined billions of dollars - but still only a fraction of their truly immense profits) to manoeuvre their near-total monopoly with MS-DOS into another near-total monopoly with Windows, and proceeded to build yet another near-total monopoly with Office on top of that.

Most computers you buy today contain Microsoft software, and a significant part of the price you pay goes to Microsoft. This is the biggest source of revenue for the company
25 years later things haven't changed much. A staggering majority of computers sold today come with Microsoft Windows, and usually Microsoft Office as well. And the same staggering majority of computers have little to no differentiator between themselves. A laptop from Lenovo and another from Toshiba can be easily compared to each other by even the most technically un-savvy of customers, who usually end up buying the cheapest one. The competition is still fierce, the differentiators are still nowhere to be found and the margins are still tiny - usually in the 2-3% range. Buy a $1,500 laptop from one of those vendors and they will probably log $40-50 in profits. One thing is for sure though: about $100(*) or so of that sticker price - more than the vendor's actual profit - is going to Microsoft. If you go the full hog and get Windows Vista Premium With Bells On and Office Professional Enterprise More Features Than You'll Ever Need Edition, Microsoft is doing rather well for itself - while the hardware vendor that's actually selling you the laptop is barely scraping by.

And therein lies the genius of Microsoft. They knew consumers felt uncomfortable shelling out hundreds of dollars for their software, but if those hundreds of dollars were hidden in the cost of a new computer - something consumers had proven they were more than willing to buy - they didn't even have to try. It's a business model that has worked brilliantly for almost three decades, and one that they have fought tooth and nail to protect.

Microsoft is only the first example of software makers finding ways to sell software indirectly that I will be looking at in this blog to reinforce my point about how incredibly averse people are to paying for software, and how this drives software vendors to find other ways to monetise their work.

The Microsoft monopoly is also an example of network effects, which will also feature heavily in this blog; we'll go into these another time, but your introduction to the concept of re-inventing the wheel is very much related to them.

(*) These numbers are the product of painstaking research, i.e. ballpark figures I just made up. Want to prove me wrong? Go do some research, and post it in the comments. I have a feeling I'll be underestimating.

Next entry: Little boxes on the hillside

No comments:

Post a Comment