There is all the more reason for startups to write web-based software now, because writing desktop software has become a lot less fun. If you want to write desktop software now, you do it on Microsoft"s terms, calling their APIs and working around their buggy OS. And if you manage to write something that takes off, you may find that you were merely doing market research for Microsoft.
If a company wants to make a platform that startups will build on, they have to make it something that hackers themselves will want to use. That means it has to be inexpensive and well-designed. The Mac was popular with hackers when it first came out, and a lot of them wrote software for it. You see this less with Windows, because hackers don"t use it. The kind of people who are good at writing software tend to be running Linux or FreeBSD now.
I don"t think we would have started a startup to write desktop software, because desktop software has to run on Windows, and before we could write software for Windows we"d have to use it. The Web let us do an end-run around Windows, and deliver software running on Unix direct to users through the browser. That is a liberating prospect, a lot like the arrival of PCs twenty-five years ago.
5.13. Microsoft
Back when desktop computers arrived, IBM was the giant that everyone feared. It"s hard to imagine now, but I remember the feeling well. Now the frightening giant is Microsoft, and I don"t think they are as blind to the threat facing them as IBM was. After all, Microsoft deliberately built their business in IBM"s blind spot.
I mentioned earlier that my mother doesn"t really need a desktop computer. Most users probably don"t. That"s a problem for Microsoft, and they know it. If applications run on remote servers, no one needs Windows. What will Microsoft do? Will they be able to use their control of the desktop to prevent, or constrain, this new generation of software?
I expect Microsoft will develop some kind of server/desktop hybrid, where the operating system works together with servers they control. At a minimum, files will be centrally available for users who want that. I don"t expect Microsoft to go all the way to the extreme of doing the computations on the server, with only a browser for a client, if they can avoid it. If you only need a browser for a client, you don"t need Microsoft on the client, and if Microsoft doesn"t control the client, they can"t push users towards their server-based applications. I think Microsoft will have a hard time keeping the genie in the bottle. There will be too many different types of clients for them to control the mall. And if Microsoft"s applications only work with some clients, compet.i.tors will be able to trump them by offering applications that work from any client.
In a world of web-based applications, there is no automatic place for Microsoft. They may succeed in making themselves a place, but I don"t think they"ll dominate this new world as they did the world of desktop applications.
It"s not so much that a compet.i.tor will trip them up as that they will trip over themselves. With the rise of web-based software, they will be facing not just technical problems but their own wishful thinking. What they need to do is cannibalize their existing business, and I can"t see them facing that. The same single-mindedness that has brought them this far will now be working against them. IBM was in exactly the same situation, and they couldn"t master it. IBM made a late and half-hearted entry into the microcomputer business because they were ambivalent about threatening their cash cow, mainframe computing. Microsoft will likewise be hampered by wanting to save the desktop. A cash cow can be a heavy monkey on your back.
I"m not saying that no one will dominate server-based applications. Someone probably will eventually. But I think there will be a good long period of cheerful chaos, just as there was in the early days of microcomputers. That was a good time for startups. Lots of small companies flourished, and did it by making cool things.
5.14. Startups but More So
The cla.s.sic startup is fast and informal, with few people and little money. Those few people work very hard, and technology magnifies the effect of the decisions they make. If they win, they win big.
In a startup writing web-based applications, everything you a.s.sociate with startups is taken to an extreme. You can write and launch a product with even fewer people and even less money. You have to be even faster, and you can get away with being more informal. You can literally launch your product as three guys operating out of an apartment, with a server collocated at an ISP. We did.
Over time the teams have gotten smaller, faster, and more informal. In 1960, software development meant a roomful of men with horn-rimmed gla.s.ses and narrow black neckties, industriously writing ten lines of code a day on IBM coding forms. In 1980, it was a team of eight to ten people wearing jeans to the office and typing into VT100s. Now it"s a couple of guys sitting in a living room with laptops. (And jeans turn out not to be the last word in informality.) Startups are stressful, and this, unfortunately, is also taken to an extreme with web-based applications. Many software companies, especially at the beginning, have periods where the developers slept under their desks and so on. The alarming thing about web based software is that there is nothing to prevent this becoming the default. The stories about sleeping under desks usually end: then at last we shipped it, and we all went home and slept for a week. Web-based software never ships. You can work 16-hour days for as long as you want to. And because you can, and your compet.i.tors can, you tend to be forced to. You can, so you must. It"s Parkinson"s Law running in reverse.
The worst thing is not the hours but the responsibility. Programmers and system administrators traditionally each have their own separate worries. Programmers worry about bugs, and system administrators worry about infrastructure. Programmers may spend a long day up to their elbows in source code, but at some point they get to go home and forget about it. System administrators never quite leave the job behind, but when they do get paged at 4:00 AM, they don"t usually have to do anything very complicated. With webbased applications, these two kinds of stress get combined. The programmers become system administrators, but without the sharply defined limits that ordinarily make the job bearable.
At Viaweb we spent the first six months just writing software. We worked the usual long hours of an early startup. In a desktop software company, this would have been the hard part, but it felt like a vacation compared to the next phase, when we took users onto our server. The second biggest benefit of selling Viaweb to Yahoo (after the money) was to be able to dump ultimate responsibility for the whole thing onto the shoulders of a big company.
Desktop software forces users to become system administrators. Web-based software forces programmers to. There is less stress in total, but more for the programmers. That"s not necessarily bad news. If you"re a startup competing with a big company, it"s good news. Web-based applications offer a straightforward way to outwork your compet.i.tors. No startup asks for more.
5.15. Just Good Enough
One thing that might deter you from writing web-based applications is the lameness of web pages as a UI. That is a problem, I admit. There were a few things we would have really liked to add to HTML and HTTP. What matters, though, is that web pages are just good enough.
There is a parallel here with the first microcomputers. The processors in those machines weren"t intended to be the CPUs of computers. They were designed to be used in things like traffic lights. But guys like Ed Roberts, who designed the Altair, realized that they were just good enough. You could combine one of these chips with some memory (256 bytes in the first Altair), and front panel switches, and you"d have a working computer. Being able to have your own computer was so exciting that there were plenty of people who wanted to buy them, however limited.
Web pages weren"t designed to be a UI for applications, but they"re just good enough. And for a significant number of users, software you can use from any browser will be enough of a win in itself to outweigh any awkwardness in the UI. Maybe you can"t write the best-looking spreadsheet using HTML, but you can write a spreadsheet that several people can use simultaneously from different locations without special client software, or that can incorporate live data feeds, or that can page you when certain conditions are triggered. More importantly, you can write new kinds of applications that don"t even have names yet. VisiCalc was not merely a microcomputer version of a mainframe application, after all-it was a new type of application.
Figure 5-1. Popular Electronics, January 1975 (detail).
Of course, server-based applications don"t have to be web based. You could have some other kind of client. But I"m pretty sure that"s a bad idea. It would be very convenient if you could a.s.sume that everyone would install your client so convenient that you could easily convince yourself that they all would. But if they don"t, you"re hosed.
Because web-based software a.s.sumes nothing about the client, it will work anywhere the Web works. That"s a big advantage already, and the advantage will grow as new web devices proliferate. Users will like you because your software just works, and your life will be easier because you won"t have to tweak it for every new client.
I feel like I"ve watched the evolution of the Web as closely as anyone, and I can"t predict what"s going to happen with clients. Convergence is probably coming, but where?
How will it all play out? I don"t know. And you don"t have to know if you bet on web-based applications. No one can break that without breaking browsing. The Web may not be the only way to deliver software, but it"s one that works now and will continue to work for a long time. Web-based applications are cheap to develop, and easy for even the smallest startup to deliver. They"re a lot of work, and of a particularly stressful kind, but that only makes the odds better for startups.
5.16. Why Not?
E. B. White was amused to learn from a farmer friend that many electrified fences don"t have any current running through them. The cows apparently learn to stay away from them, and after that you don"t need the current. "Rise up, cows!" he wrote. "Take your liberty while despots snore!"
If you"re a hacker who has thought of one day starting a startup, there are probably two things keeping you from doing it. One is that you don"t know anything about business. The other is that you"re afraid of compet.i.tion. Neither of these fences have any current in them.
There are only two things you have to know about business: build something users love, and make more than you spend. If you get these two right, you"ll be ahead of most startups. You can figure out the rest as you go.
You may not at first make more than you spend, but as long as the gap is closing fast enough you"ll be ok. If you start out under funded, it will at least encourage a habit of frugality. The less you spend, the easier it is to make more than you spend. Fortunately, it can be very cheap to launch a web-based application. We launched on under $10,000, and it would be even cheaper today. We had to spend thousands on a server, and thousands more to get SSL. (The only company selling SSL software at the time was Netscape.) Now you can rent a much more powerful server, with SSL included, for less than we paid for bandwidth alone. You could launch a web-based application now for less than the cost of a fancy office chair.
As for building something users love, here are some general tips. Start by making something clean and simple that you would want to use yourself. Get a version 1.0 out fast, then continue to improve the software, listening closely to users as you do. The customer is always right, but different customers are right about different things; the least sophisticated users show you what you need to simplify and clarify, and the most sophisticated tell you what features you need to add. The best thing software can be is easy, but the way to do this is to get the defaults right, not to limit users" choices. Don"t get complacent if your compet.i.tors" software is lame; the standard to compare your software to is what it could be, not what your current compet.i.tors happen to have. Use your software yourself, all the time. Viaweb was supposed to be an online store builder, but we used it to make our own site too. Don"t listen to marketing people or designers or product managers just because of their job t.i.tles. If they have good ideas, use them, but it"s up to you to decide; software has to be designed by hackers who understand design, not designers who know a little about software. If you can"t design software as well as implement it, don"t start a startup.
Now let"s talk about compet.i.tion. What you"re afraid of is not presumably groups of hackers like you, but actual companies, with offices and business plans and salesmen and so on, right? Well, they are more afraid of you than you are of them, and they"re right. It"s a lot easier for a couple of hackers to figure out how to rent office s.p.a.ce or hire sales people than it is for a company of any size to get software written. I"ve been on both sides, and I know. When Viaweb was bought by Yahoo, I suddenly found myself working for a big company, and it was like trying to run through waist-deep water.
I don"t mean to disparage Yahoo. They had some good hackers, and the top management were real b.u.t.t-kickers. For a big company, they were exceptional. But they were still only about a tenth as productive as a small startup. No big company can do much better than that. What"s scary about Microsoft is that a company so big can develop software at all. They"re like a mountain that can walk.
Figure 5-2. Bill Gates, 1977.
Don"t be intimidated. You can do as much that Microsoft can"t as they can do that you can"t. And no one can stop you. You don"t have to ask anyone"s permission to develop web-based applications. You don"t have to do licensing deals, or get shelf s.p.a.ce in retail stores, or grovel to have your application bundled with the OS. You can deliver software right to the browser, and no one can get between you and potential users without preventing them from browsing the Web.
You may not believe it, but I promise you, Microsoft is scared of you. The complacent middle managers may not be, but Bill is, because he was you once, back in 1975, the last time a new way of delivering software appeared.
Chapter 6. How to Make Wealth.
If you wanted to get rich, how would you do it? I think your best bet would be to start or join a startup. That"s been a reliable way to get rich for hundreds of years. The word "startup" dates from the 1960s, but what happens in one is very similar to the venture-backed trading voyages of the Middle Ages.
Startups usually involve technology, so much so that the phrase "high-tech startup" is almost redundant. A startup is a small company that takes on a hard technical problem.
Lots of people get rich knowing nothing more than that. You don"t have to know physics to be a good pitcher. But I think it could give you an edge to understand the underlying principles. Why do startups have to be small? Will a startup inevitably stop being a startup as it grows larger? And why do they so often work on developing new technology? Why are there so many startups selling new drugs or computer software, and none selling corn oil or laundry detergent?
6.1. The Proposition
Economically, you can think of a startup as a way to compress your whole working life into a few years. Instead of working at a low intensity for forty years, you work as hard as you possibly can for four. This pays especially well in technology, where you earn a premium for working fast.
Here is a brief sketch of the economic proposition. If you"re a good hacker in your mid twenties, you can get a job paying about $80,000 per year. So on average such a hacker must be able to do at least $80,000 worth of work per year for the company just to break even. You could probably work twice as many hours as a corporate employee, and if you focus you can probably get three times as much done in an hour. You should get another multiple of two, at least, by eliminating the drag of the pointy-haired middle manager who would be your boss in a big company. Then there is one more multiple: how much smarter are you than your job description expects you to be? Suppose another multiple of three. Combine all these multipliers, and I"m claiming you could be 36 times more productive than you"re expected to be in a random corporate job. If a fairly good hacker is worth $80,000 a year at a big company, then a smart hacker working very hard without any corporate bulls.h.i.t to slow him down should be able to do work worth about $3 million a year.
Like all back-of-the-envelope calculations, this one has a lot of wiggle room. I wouldn"t try to defend the actual numbers. But I stand by the structure of the calculation. I"m not claiming the multiplier is precisely 36, but it is certainly more than 10, and probably rarely as high as 100.
If $3 million a year seems high, remember that we"re talking about the limit case: the case where you not only have zero leisure time but indeed work so hard that you endanger your health.
Startups are not magic. They don"t change the laws of wealth creation. They just represent a point at the far end of the curve. There is a conservation law at work here: if you want to make a million dollars, you have to endure a million dollars" worth of pain. For example, one way to make a million dollars would be to work for the Post Office your whole life, and save every penny of your salary. Imagine the stress of working for the Post Office for fifty years. In a startup you compress all this stress into three or four years. You do tend to get a certain bulk discount if you buy the economy-size pain, but you can"t evade the fundamental conservation law. If starting a startup were easy, everyone would do it.
6.2. Millions, not Billions
If $3 million a year seems high to some people, it will seem low to others. Three million? How do I get to be a billionaire, like Bill Gates?
So let"s get Bill Gates out of the way right now. It"s not a good idea to use famous rich people as examples, because the press only write about the very richest, and these tend to be outliers. Bill Gates is a smart, determined, and hardworking man, but you need more than that to make as much money as he has. You also need to be very lucky.
There is a large random factor in the success of any company. So the guys you end up reading about in the papers are the ones who are very smart, totally dedicated, and win the lottery. Certainly Bill is smart and dedicated, but Microsoft also happens to have been the beneficiary of one of the most spectacular blunders in the history of business: the licensing deal for DOS. No doubt Bill did everything he could to steer IBM into making that blunder, and he has done an excellent job of exploiting it, but if there had been one person with a brain on IBM"s side, Microsoft"s future would have been very different. Microsoft at that stage had little leverage over IBM. They were effectively a component supplier. If IBM had required an exclusive license, as they should have, Microsoft would still have signed the deal. It would still have meant a lot of money for them, and IBM could easily have gotten an operating system elsewhere.
Instead IBM ended up using all its power in the market to give Microsoft control of the PC standard. From that point, all Microsoft had to do was execute. They never had to bet the company on a bold decision. All they had to do was play hardball with licensees and copy more innovative products reasonably promptly.
If IBM hadn"t made this mistake, Microsoft would still have been a successful company, but it could not have grown so big so fast. Bill Gates would be rich, but he"d be somewhere near the bottom of the Forbes 400 with the other guys his age.
There are a lot of ways to get rich, and this essay is about only one of them. This essay is about how to make money by creating wealth and getting paid for it. There are plenty of other ways to get money, including chance, speculation, marriage, inheritance, theft, extortion, fraud, monopoly, graft, lobbying, counterfeiting, and prospecting. Most of the greatest fortunes have probably involved several of these.
The advantage of creating wealth, as a way to get rich, is not just that it"s more legitimate (many of the other methods are now illegal) but that it"s more straightforward . You just have to do something people want.
6.3. Money Is Not Wealth
If you want to create wealth, it will help to understand what it is. Wealth is not the same thing as money. Wealth is as old as human history. Far older, in fact; ants have wealth. Money is a comparatively recent invention.
Wealth is the fundamental thing. Wealth is stuff we want: food, clothes, houses, cars, gadgets, travel to interesting places, and so on. You can have wealth without having money. If you had a magic machine that could on command make you a car or cook you dinner or do your laundry, or do anything else you wanted, you wouldn"t need money. Whereas if you were in the middle of Antarctica, where there is nothing to buy, it wouldn"t matter how much money you had.
Wealth is what you want, not money. But if wealth is the important thing, why does everyone talk about making money? It is a kind of shorthand: money is a way of moving wealth, and in practice they are usually interchangeable. But they are not the same thing, and unless you plan to get rich by counterfeiting, talking about making money can make it harder to understand how to make money.
Money is a side effect of specialization. In a specialized society, most of the things you need, you can"t make for yourself. If you want a potato or a pencil or a place to live, you have to get it from someone else.
How do you get the person who grows the potatoes to give you some? By giving him something he wants in return. But you can"t get very far by trading things directly with the people who need them. If you make violins, and none of the local farmers wants one, how will you eat?
The solution societies find, as they get more specialized, is to make the trade into a two-step process. Instead of trading violins directly for potatoes, you trade violins for, say, silver, which you can then trade again for anything else you need. The intermediate stuff-the medium of exchange-can be anything that"s rare and portable. Historically metals have been the most common, but recently we"ve been using a medium of exchange, called the dollar, that doesn"t physically exist. It works as a medium of exchange, however, because its rarity is guaranteed by the U.S. Government.
The advantage of a medium of exchange is that it makes trade work. The disadvantage is that it tends to obscure what trade really means. People think that what a business does is make money. But money is just the intermediate stage-just a shorthand-for whatever people want. What most businesses really do is make wealth. They do something people want.
6.4. The Pie Fallacy
A surprising number of people retain from childhood the idea that there is a fixed amount of wealth in the world. There is, in any normal family, a fixed amount of money at any moment. But that"s not the same thing.
When wealth is talked about in this context, it is often described as a pie. "You can"t make the pie larger," say politicians. When you"re talking about the amount of money in one family"s bank account, or the amount available to a government from one year"s tax revenue, this is true. If one person gets more, someone else has to get less.