23 April 2009

On hiatus...

This was meant to be a blog but it's turning into a bit of an essay, so probably unsuited to the blog format, so I'm not going to be posting any more of these.

I would like to gather these posts, put them together, apply a bit of much-needed editing and research and continue exploring my thesis - when I get time!

In the mean time I've started a proper blog with more topical, easily digestible posts.

Thanks for reading so far!

24 February 2009

Divide By Zero

Last time we examined how the same companies that sell basic software that is necessary for any computer to perform its most common functions market their software to businesses the same way they market to consumers: By maximising network effects in order to portray their software as the only viable choice, in fact a necessary purchase, for any computer use.

However, we also looked at a distinct difference between businesses as software consumers and individuals as software consumers: Businesses are more readily prepared to pay directly for software. This is not really a hard and fast rule, but it is true by degrees. This is evidenced by the plethora of software products that are aimed squarely at businesses, and the many successful companies behind them. Contrast this to the handful of software companies that make a living selling to consumers, almost all of them doing so indirectly, by bundling their software with hardware through OEM sales.

In addition to the usual suspects that sell operating systems, these companies provide two basic categories of software: The first is the kind that runs on your desktop PC. The most well-known example of these is Adobe Photoshop, the de facto standard for processing photographs and other bitmap images. There isn't a professional photographer, designer, publisher or even web designer that doesn't own a copy of Photoshop, and possibly the entire suite of Adobe design applications. It's interesting to note the price of this software; the Master Collection version of Adobe Creative Suite 4 is priced at $2,500. The amazing thing is, it sells like hotcakes. The same illustrator or advertiser that has never spent a cent on software for his home computer has no qualms against dropping a four-figure sum on a piece of software he perceives as necessary in order to do his job.

Economic theory tells us that if they are overcharging for their software, a competitor would soon come up with a cheaper product and force them to compete. The reality is that the network effects reinforcing their monopoly make this next to impossible. If I came up with a better Photoshop tomorrow, nobody would buy it. On top of the usual business inertia and Adobe's huge global sales and marketing operations, I'd have to convince users that my software would be able to unerringly exchange files with the majority of people still using Photoshop - something we've already shown to be next to impossible, and something Adobe can very easily make harder for me. In the end, people buy Photoshop because it's the standard, and Adobe has to exert only the minimum amount of effort to be able to continue to charge exorbitant prices to the professionals that absolutely must purchase their software in order to get their job done, with no threat of competition. In fact, Adobe's primary incentive to add new features to its software is not to stave off competition but actually to give its users an incentive to upgrade on a regular basis.

Does this reflect the relative value and utility of these two products? The answer is, who knows? Both of these products stand alone with a truly staggering market share in their respective fields. For various reasons, they have no real competition, and because of the network effects we've been talking about, it's highly unlikely that they ever will. What's more, they've become absolutely essential for businesses to operate (in Adobe's case, any business that is related to design; in Microsoft's case, any business, anywhere). The companies can, and do, set the price they want, and the price they want is the one at the absolute upper limit of what the market will bear.

Let me take a break here and note that this is not me trying to do some of the usual pandering to anti-commercial sentiment, ever so prevalent in our current economic conditions. The management teams of Adobe and Microsoft have a legal obligation to their stockholders to maximise their profits. Of course, they also have an obligation, under anti-trust laws enacted in most of the countries they operate in, to not use their monopoly position unfairly. Microsoft in particular has repeatedly been found guilty of engaging in such illegal behaviour in both US and European courts, and has been fined truly staggering amounts of money because of it. The amazing thing is, however, that even though Microsoft has curbed its most blatant monopolistic practises and now seems to be operating within the law, the network effects are still there, and only need the slightest prod or nudge to keep any and all competition squarely at bay.

Now I'd like to return to the issue of price. The most expensive, full-featured version of Microsoft Office retails for $499.95, just one fifth of the price of Adobe CS4. Even comparing more normal configurations, Microsoft Office "Home and Student" edition retails for $149.95, while the cheapest Adobe CS4 version is a whopping $1,699. Even the regular, non-Extended version of Photoshop alone costs $699. That's right, the cheapest stand-alone version of Photoshop costs significantly more than the most expensive version of Office.

Returning to the discussion of price and its reflection of value in a market which naturally stifles competition,
is this in any way a fair representation of the cost of providing this software to users? This turns out to be a very hard question to answer. From a technical point of view, there's not much difference of the scale of effort involved in producing the two software suites. I have no exact numbers, but I would hazard an educated guess (it's my business to know these things!) that the development costs for Adobe Creative Suite and Microsoft Office are roughly at the same level. Why does one cost more than the other?

Of course, I am asking the wrong question. The cost of a copy of either of these products is almost zero. Even in physical form, etched on optical discs and wrapped in cardboard and cellophane and airlifted halfway around the world, the cost of the copy itself is measured in cents, not thousands of dollars. Almost the entirety of the cost of producing software is in designing it. This one-time, up-front development cost will then have to be recouped - and hopefully, profited from - through a limitless amount of copies that will be sold.

So let's ask ourselves this question: Adobe knows it has a lock-in for most design professionals for Photoshop, but the digital camera revolution of the past decade has led to an explosion in the number of amateur photographers, many of whom may be a potential market for Adobe but are scared off by the steep price tag. If Adobe decided to sell Photoshop for $100 instead of $700, how much more would it sell? Would it sell seven times more, as every amateur with a brand spanking new camera buys a copy of Photoshop to retouch his holiday snaps? Whether it could or not is not important; what is important is that if it could, it would make no difference to its bottom line.

Adobe most probably could sell Photoshop for $10 a copy, but get it installed on just about every other computer in the world at that price. The most important thing to note, however, is that it could be making the same amount of money, in fact it could be making more; because the cost in producing a sale is zero, any reduction in price up to and including the point were you've exhausted your target market leads to more, profitable shipments. There is no cost line under which the price cannot drop while profitability is maintained. As long as the price is not $0.00 and there are enough sales to recoup development costs, Adobe is making a profit on every sale.

This is why Microsoft Office only costs a fraction of what Adobe Creative Suite does. This is why Adobe offers a version of Photoshop called Photoshop Elements, stripped of some advanced functionality but retaining the expensive-to-develop rendering core of the full version, for $99. This is why the cheapest version of Windows Vista costs $99 and the most expensive version costs $339.99 even though 90% of the code - and the costs to Microsoft to write it - is identical.

If you're selling cars, or telephones, or tables, or in fact anything physical, tangible, there is a production cost, a unit cost, involved in making a sale. In almost all of these examples, the unit cost is a significant portion of the price; most of what you pay for when you buy a car is metal, plastic, rubber and fabric, the energy cost to put them together and get them to your local dealer's showroom, the wages for the people who make this possible. A small percentage goes to recoup the design and development costs, and the rest is profit - squeezed to the bare minimum by the invisible hand of the market.

With software, the unit cost is zero, or as close to zero as it could possibly matter. If it costs me $1,000 to design and develop a software program, I can sell 10 copies at $100, 100 copies at $10, one copy for $1,000 or any other similar combination and I've covered my cost; every single sale from now on is pure profit.

With tangible, physical products in an open market, the price reflects the cost of production. With software, with its near-zero unit cost and its natural monopolies, the price reflects whatever the vendor estimates will maximise their profits.

18 February 2009

Death and Taxes

In the past few entries, I've taken a look at various ways to distribute software; so far we've mentioned two. The first is retail sales, where software is burned onto a CD, put in a cardboard box, shrink-wrapped in cellophane and shipped to brick-and-mortar shops around the world so that users can walk in and buy their copy. The second is hardware bundling; software that comes with a computer, whether the computer is sold by the same company that made the software (as in the case of Apple) or by someone else who pays the software vendor in order to bundle the software (as in the case of Microsoft and most computer makers like Dell, Acer and Toshiba). Hardware bundling is usually called OEM sales (OEM stands for Original Equipment manufacturer, a fancy name for a company that makes computers).

Another way of selling and distributing software is selling directly to businesses. Business sales can be a very effective way of selling software, and businesses are one of the biggest consumers of software. Business sales have none of the disadvantages of retail sales, since you usually sell directly to your clients without messing around with a middleman.

The most important differentiator of business sales is that businesses have a better understanding of the value proposition of buying software. Most businesses have an IT department that deals with hardware as a commodity and purchases software in bulk to deploy to all its users.

Software that tends to be sold this way falls into three categories: Generic user software (some of it not at all specific to business), business-specific user software and server software.

Generic software sold to business is usually of the same kind that is bundled with hardware: Operating systems (e.g. Microsoft Windows), office suites (Microsoft Office), security software (e.g. Norton Anti-Virus). Although business sales of this software is usually unbundled from the hardware purchase, it is still essentially the same business model; business buy this software because it is considered essential for the use of the computers they buy. Even though businesses tend to pay for the software directly rather than having it bundled into the price of a hardware purchase, it's usually the same software that comes bundled with a computer sold to consumers.

The business model for these kinds of sales is similar, or at least complimentary, to hardware bundling. The same network effects we talked about last time are used to great effect to create market lock-in and protect incumbent monopolies. In Microsoft's case, this phenomenon is often dubbed "the Microsoft Tax", since if you want to go into business today, you have little practical choice but to pay some money to Microsoft for, at the very least, a Windows license and an Office license.

The network effects work slightly differently for business sales. Remember that network effects mean that the value of a product increases with the number of other people using it. Since business sales are by nature bulk sales, software vendors that try to challenge entrenched players have an advantage when selling to business, since they don't have to make that first, almost impossible, sale. For example, if I was selling a competitor to Microsoft Word, compatibility would be less of an issue for potential clients since all of their computers would switch to my software, and hence have no compatibility issues when exchanging documents between themselves.

So, if you're the new kid on the software block, selling to business is easier than selling to consumers; you don't have to bother with the logistics and questionable value proposition of retail sales, and you don't need the sales clout to strike a distribution deal with an OEM. Other network effects come into play here, however: My Word-competitor example above falls apart when you want to send a document to another company that still uses Word. The costs of dealing with such incompatibilities is potentially much bigger for businesses than it is for consumers, and then you have to deal with the fact that businesses, especially large ones, tend to go with safe, well-established options when they procure anything.

It is not surprising, then, that the same products and companies that dominate the OEM market also dominate the business market - these days that's mostly limited to Microsoft and Symantec (we will be dealing with the whole security software fiasco in an upcoming post). Microsoft's domination of the operating system and office suite markets is more complete in the business space than it is in the consumer space.

So, the dynamics and pricing structures may be slightly different in the business space, but in the end this market is the same as the OEM licensing (hardware bundling) game. In fact, especially in the case of Microsoft, a monopoly in the consumer space reinforces the monopoly in the business space and vice versa; you use Windows at home because you use it at work; companies use Windows at work because people are used to it from their home computers.

In the next couple of posts, I will be looking at business-specific software vendors, such as Adobe, and server-side vendors such as SAP and Oracle, and how their business models differ.

Next Post: Divide By Zero

06 February 2009

It's good to be king

Last time we looked at Apple and how they tie their operating system, Mac OS X, with their Macintosh line of computers. We ended with a question: If Mac OS X is where most of the added value of a Macintosh lies, why doesn't Apple license OS X to other computer makers and get out of the hardware game?

There's two main reasons why this would be a monumentally bad idea. One is that if Apple computers were no longer the only ones offered with Mac OS X, competition would soon drive prices down and those fat profit margins Apple currently enjoys would disappear. Hold on, you must be thinking, what does Apple care, won't it be making the same kind of money as Microsoft if it's in the same game?

The answer is, unfortunately, no. You see, there's another important component to Microsoft's gigantic success: Something called network effects, also called network externalities. Network effects appear when the value of a product increases the more people have it; telephones are a classic example. If you're the only person in the world with a telephone, it's completely worthless; only when other people get telephones does it become useful to you, and the more people have telephones, the higher a telephone's value - and hence the chance that you'll want to get one.

The telephone example is not a perfect analogy; ever since Alexander Graham Bell's patent expired, you can get a telephone from a whole number of vendors. Now in theory, anyone can create software that does everything a competitor's software does. In theory, Mac OS X and Windows are 100% interchangeable. In practise, this is rarely the case for software, and especially for operating systems.

The problem of data compatibility is one of the largest problems faced by software. The classic example is the Microsoft Word document, something I believe everyone is familiar with. Now in theory, anyone can write a program that handles Word documents in exactly the same way Microsoft Word does, thus offering a replacement for Word that can compete in the marketplace. In fact, there are several such programs on offer at the moment: The open-source OpenOffice.org and Apple's Pages are two notable examples. Unfortunately, none of these competing word processors are 100% compatible with Microsoft Word; often you will open a Word document in these word processors and it will appear different to how it appeared in Word. This isn't necessarily the fault of their creators; first of all, Microsoft doesn't publish any details about how data is laid out in a Word document. If you're a Microsoft programmer working on Word, you have access to load of documentation that explains how to read files, how to write them, and all the quirks and details of how they work. If you're writing a word processor independantly, you have none of this information; you have to actually open up the files, look at the bits and bytes inside and reverse engineer the behaviour of Microsoft Word; this is a time-consuming process, and is by nature imperfect; your reverse engineering is only as good as the examples you can examine, and there's always some document with a certain combination of features that you never thought of, that will be handled differently by Word.

Even in cases where the standards for data are open and publicly available, a software vendor with an entrenched monopoly position can introduce intentional bugs in their software, so that it is incompatible with the standard. Microsoft has been repeatedly found to have done this in the past; the most famous example is Internet Explorer, which displayed Web pages in ways that were non-standard. However, since Internet Explorer had, at one point, a 96% share of the installed base for web browsers, all the web pages on the Internet were designed to work with Internet Explorer, including all the bugs it contained, instead of following the standards. Competing web browsers had a choice: They could follow the standard, or they could mimic Internet Explorer. If they mimicked IE, they were back to the same place as the Word competitors: Reverse-engineering cryptic behaviour. If they followed the standard, users wouldn't use their browsers because they would display web pages "the wrong way."

In fact, these browsers would be displaying the pages the right way, and IE was displaying them the wrong way - but to the end user this is a philosophical distinction of little to no importance. In the end, he's going to pick the browser that works with the websites out there, and cares little for standards and which browser follows them.

There is a third feature of software that is rather important in this case: The near-zero unit cost. Almost all of the costs in software are up front; you spend years employing a large software team to develop and test a piece of software, but after it's complete, you collect money every time a copy is sold, even though making a copy of a piece of software is as close to free as makes no difference. As I have noted repeatedly, the vast majority of software sales are not at retail and do not incur all the additional costs per unit that retail incurs; software is either pre-installed on your computer or distributed electronically.

If you take into account network effects, data incompatibility and near-zero unit costs, you can see how, with some clever manoeuvering, an incumbent in any software market has an almost unassailable advantage. Any challenger entering the market has to overcome two gigantic barriers to entry:

1. He has to expend more effort than his competitor to achieve a certain level of compatibility - which will never be perfect - while the incumbent has no reason to be compatible with the challenger. In fact, by remaining as incompatible as possible, the incumbent further increases the network effect reinforcing his own market dominance.

2. Since the cost of producing a unit sale is insignificant, the challenger has to get a significant share of the market before he can be profitable. Even though he has to start out with a small share and probably undercut the incumbent on price, his overall costs are actually higher.

Microsoft is by far the absolute champion in using these network effects to maintain its market dominance in the software business. Though they do have a lot of engineers doing great work on their software, it is important to note that Microsoft's primary business goal has never been to create better software than its competitors - in fact in almost all cases users agree that competitors have done a better job at this despite Microsoft's almost limitless resources - but instead to use network effects to drive them out of the market.

Microsoft has bent all its power and all its energy to one goal: Making sure that Windows and Office are the only viable choice for operating systems and office suites today. Every time a competitor rises to the challenge, they will use exclusive distribution deals, intentional incompatibilities, misinformation and proprietary data standards to enforce the idea that users that choose their competitor's product will find themselves unable to work in a world dominated by Microsoft software.

They are not alone in this, however; practically every established software vendor has done exactly the same thing, with Apple being just as guilty of propping up its lead in the personal music player and online music sales businesses by using data incompatibility to increase network effects and shut out new entrants to the market.

Incompatiblities, network effects and monopolistic behaviour are by no means exclusive to software; look at the history of any business and you'll see examples of corporations acting similarily to protect their market share. In software, however, the effects are hugely magnified; in no other market is it so hard to create an equivalent product; in no other market is the unit cost of each sale so low. Well, OK, maybe this isn't strictly true; I can think of at least one other one, but that's a topic for a future entry!

Retail sales (which remain a tiny, fickle and troublesome part of the market that consumers have never really taken to) and bundling software with hardware (as Microsoft, Apple and a number of other software vendors do) are not the only ways people have found to make money out of software. In the next entry, we'll examine these other ways and their relative merits and disadvantages.

Next post: Death and Taxes

Little boxes on the hillside

In my last post, I began looking at how hard it is to convince people to part with their money in exchange for software. As we said, most people buy computers and expect them to do everything out of the box; but as we saw in earlier posts, a computer is little more than an expensive doorstop without software, and new software can give your existing computer marvellous new capabilities.

We took a look at the example of Microsoft, probably the most successful (at least financially) software company in the world. One component of Microsoft's staggering success in the marketplace is that it doesn't sell directly to its users; instead it deals directly with hardware vendors, and takes a cut of the price of almost every computer sold. We also saw how almost every computer sold has only a tiny profit margin for the maker of the computer itself, and how Microsoft usually ends up doing better out of every PC sold than the company that actually makes the computer; all this despite the fact that consumers only feel they're getting value for their money for hardware, not software.

Notice that I keep talking about almost every computer sold - I can even quantify that; as of 2009, about 90% of all computers sold come installed with some version of Microsoft Windows, and usually Microsoft Office as well. Of the other 10% the only significant part are computers made by a company that is often seen as Microsoft's arch-rival: Apple.

Apple makes the Macintosh line of personal computers. Under the hood, the components that these computers are made of are almost exactly the same as those used by Lenovo, Toshiba, Acer, Dell and all the other computer makers that ship their computers with Microsoft Windows. And yet, Apple's profit margins on Macintosh computers are in the range of 30-35%. That's almost ten times what the rest of the industry makes. Apple may only have 10% of the market, but the rest of it is split up pretty much evenly between the 4-5 other major vendors; it's no surprise that Apple, with their gigantic profit margins, is still making immense profits in the middle of the credit crunch, while just about every other vendor has been hovering on the edge of profitability for years.

How can Apple afford to charge such a premium for their hardware? Two main reasons: Apple does produce slightly higher-quality hardware, placing an emphasis on industrial design and high-quality components that help sell Macintosh computers as "high-end" choices in an otherwise commoditised marketplace. However, this wouldn't be enough to sustain Apple on its own; if this was the only differentiator between Macs and Windows PCs, they would never have enough market share to sustain the company.

What Macs have that no other mainstream personal computer has today is this: They don't run Microsoft Windows. Instead, they run Mac OS X, Apple's own operating system.

The majority of the technical press agrees that Mac OS X is vastly superior to Windows, and the market seems to bear this out - a remarkably large amount of people (including the undersigned) are willing to pay a price premium on their computer purchase just to get the superior software included within. Apple only offers its computers with Mac OS X, and only offers Mac OS X for use with Apple computers. Of course, Macs - and hence Mac OS X - only have a 10% market share. The other 90% of the market either disagrees with the conclusion that OS X is superior to Windows, or is unwilling to pay the price premium. There are other reasons as well; for instance, Apple offers a limited model line-up, and many users may prefer a configuration not available in that line up but readily available with Windows from another vendor.

In a sense, Apple is doing something similar, but also markedly different, to Microsoft. Although both want to make money off their software, both have to sell it together with hardware to convince consumers to buy it. Apple does this by tying the software to its own hardware, pursuing engineering excellence and convincing consumers to pay a premium on otherwise commodity hardware using the software as a differentiator. As perverse as this sounds, it's entirely true: People are not willing to compare and purchase software independently, but they are willing to pay a premium on a hardware purchase in order to get superior software. Go figure. It's something about the shrink-wrap box and the shiny machine inside that convinces people that this is something worth paying money for. In fact, Apple is an absolute expert at the "shiny box" game - it has even started its own retail chain to present its products in their smartly designed packaging, making them objects of desire that its most loyal customers lust over. Many a Mac aficionado will tell you that the joy of opening the ingeniously devised cardboard boxes (known as "unboxing") and slowly revealing the components inside is one of the defining characteristics of "the Mac experience".

Seeing the success of Mac OS X, many technology pundits have often suggested that the best strategy for Apple, given the manifest superiority of its software offering over Microsoft's, should be to simply get into the same game that Microsoft is in: License its operating system to other computer manufacturers, possibly getting out of the hardware game entirely.

So why don't they? Hardware vendors have a love-hate relationship with Microsoft anyway; although the massive anti-trust actions against the company in both the US and EU have reigned in its more blatant anti-competitive practises, it still controls the market and sets its own prices. Wouldn't Dell or HP like the opportunity to stick it to Microsoft and use OS X instead?

Tune in for the next entry to see why this would be a monumentally bad idea for Apple. We will also be looking at other ways to monetise software in addition to retail sales and hardware bundling, and their relative merits.

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

28 January 2009

It's the software, stupid

I first "got on the Internet" in 1992 at the tender age of 14. It was slow (email often took hours or days to be delivered), it was text only (the Web had barely been invented) and compared to today, very few people were participating - but I was hooked.

Old-school modems used traditional telephone lines to connect to computer networks, including the early Internet
I had always been a computer geek, but getting online was what sealed it for me. I thought, this is going to change everything. It was more than the promise of the Internet that clicked with me, though. I had a computer; I'd had one for years. I'd also had a modem attached to it, and I dialled up to some local bulletin boards or exchanged the occasional file with a friend. The hardware I had at my disposal did not change - it was the same lump of metal and wires I had before - but suddenly, simply by running some software and hooking up to a network, that same hardware allowed me to do something infinitely more complex, interesting and useful than before.

I was hooked. Not long afterwards, I made up my mind that this is what I wanted to do when I grew up: Make cool stuff like this! Write the software that takes the mundane, boring gadget that you thought of as one thing and turns it into something completely different, a window into the world, a way to reach out, learn, communicate, entertain and be entertained.

Of course, back then, when I talked to people - friends, parents, teachers - about this Internet thing and how it was going to change the world, they were at turns incredulous and condescending. The vast majority of people had never heard of it. A little over a decade later, I can make that same assertion to anyone and I don't even have to back it up! Everybody agrees; the Internet has changed everything.

As for me, I somehow managed to get into a prestigious university and get myself a degree in Computer Science just as the dot-com bubble burst. Despite the horrible timing, I've been working as a Software Engineer ever since, writing the stuff that makes computers and the Internet do all the wonderful things we have come to rely on.

And yet, I can't shake the feeling that things are somehow not right. Despite the wealth of functions we take for granted right now that were impossible only a decade ago, despite the fact that we live in such a connected world, where we're never far from a device that can access a wealth of knowledge and information, where you can keep in constant contact with your friends and associates even if you're half a world apart; despite all of this, there is something very wrong.

To me it is rather profound that the people who couldn't see the potential of the Internet during its early days are eager to reverse their views and state that the Internet is this wonderful thing that has changed our world for the better, and yet it is precisely those visionaries and pioneers that predicted the change who are disappointed by the reality!

People of my generation grew up believing we'd have flying cars, humanoid robots and holidays to Mars by now, yet we're no closer to those than we were twenty years ago. Look at 1970s science fiction and you'll notice the delicious irony: People are rocketing off around the stars, hanging out with their robot pals, and yet there isn't a mobile phone in sight! When 1970s spacemen want to look something up, they more often than not have to physically go to a library and read a book. Moon Base Alpha may have a fusion reactor and frickin' laser beams, but there isn't a Google or a Wikipedia in sight.

Not so in the 90s. So much post-dot-com science fiction isn't even in space. In The Matrix, a story that resonated so strongly with people living through the Internet explosion in the late 90s, humanity isn't living in space - it's living in the Internet.

Like the Matrix, though, there's something wrong with the Internet today; something broken. The same people who dreamt of technology that would give every human being on the planet the ability to access the sum of human knowledge and exchange ideas with every other human being look upon what we have today and see something that falls far short of those goals.

When the Internet pioneers dreamt up the future of computer networks, they were faced with real technical challenges. The computers were sluggish and underpowered, the network connections were slow, the batteries on mobile devices were quick to run down and slow to charge. In short, the hardware we had available in the early nineties just wasn't up to scratch. Today, almost all of the hardware engineering hurdles have been overcome. There are few applications that we can think of that can't be handled by a modern laptop, or even a phone. Anyone can afford enough data storage to store every document, email, photo and video they're ever likely to create or consume. We have - in the lab, if not in the wild - wireless networking technology that can transport high definition video across the world to a device in our pocket.

This world, were every man, woman and child is connected can communicate with everyone else and access every piece of text, sound, image or video ever created is possible with the technology we have today, right now. Networks can get faster, batteries can last longer, hard drives can get bigger, but that's not what's holding us back. It's the software. The software we run on our computers today just doesn't live up to our expectations. It frustrates us at every turn; it's hard to use, it crashes, it doesn't allow us to do the things we want most. Get into a time machine, go back to 1992 and tell my young self this and you will have made one 14-year old very sad.

What's holding us back? Surely we know how to write good software! Surely, by now, we've figured it all out. I mean, we did the hard bit - making silicon chips that calculate at blazing speeds, sending and receiving radio waves that carry immense amounts of information, storing the information that used to take up a whole building into something you can fit in your pocket.

Why can't we get the software right? Why is the Internet so horribly broken?

Next entry: Software for nothing and the chicks for free