The power of computers comes through in the programs that they run.
But over the years, new types of programs have been
developed--programs that run over the Internet on combinations of
computers, instead of a single computer. The Internet has therefore
evolved into an environment--a platform, many programmers
call it--for applications. The term Web 2.0 describes this enormous
shift in how computers and the Internet work, and highlights how
Internet applications are different from those that run on personal
computers.
If you didn't grow up in an age where computers were all connected, it's a bit hard to understand just how revolutionary the Internet was, and how hard it has been for people who didn't grow up with it to use it most effectively. Businesses (many of whom depend on the Internet for their income) have just as much trouble as individual people in using it. Not just big, old businesses, either, but even startups. They often get it wrong because they keep thinking about the world the way it was when they were younger rather than the way it is now.
Three ages of computing
To make sense of this story, let's go back a few decades and define some big trends in computing:
1. In the first age, the only computers were huge, room-sized beasts called mainframes, and were bought and used by big businesses. A mainframe might have thousands of people connected to it at the same time, but they could use only applications that were developed by the manufacturer or their company's own professional programmers.
This was also the age of IBM (International Business Machines), a company that made most of the computers in the world. It was pretty much a monopoly, and wouldn't let anybody else make computers that worked exactly the same way as theirs did.
2. The second age was ushered in by a big mistake IBM made. Trying to catch up with hackers who had invented personal computers (PCs), a small group at IBM came up with the idea of making a computer that would be made with standard, off-the-shelf parts, rather than specialized proprietary parts like IBMs mainframes. IBM, like every computer company in the world, thought that the important part of computers was the hardware, and that software was just something you added to make the hardware run. So IBM made a deal with Bill Gates, who had a little company called Micro-soft (yeah, it had a hyphen back then) to build the operating system for the new computer. IBM also published the specifications for that computer, so lots of other companies started making them.
When PCs surprised the industry by becoming the most popular type of computer, their cost came way down the real money came from selling software. Bill Gates was the world's richest man for a long time.
3. The third age began, like most new ages, not with a single big bang, but with lots of little things happening all at once in different parts of the world. A river starts out as tiny streams but gets bigger and bigger as it comes down out of the mountains, sucking up lots of different streams, and one day everybody wakes up and says: holy cow, look at that huge river! And nobody knows exactly where it began, or if they say they do, they're lying, because it began in a thousand places all at once.
But if there's one moment when we might say the third age began, it was the invention of the World Wide Web by Tim Berners-Lee, an English researcher at a physics lab in Switzerland. The Web was the application the Internet had been waiting for, because it made it really easy to build applications that connected many computers and that anyone could use. All you had to do was click on special pieces of highlighted text (and soon on pictures) in a web browser. Meanwhile, the document got fetched over the Internet from a web server, which could be thousands of miles away.
Teens have been using the Web their whole lives, so it doesn't seem so exciting to them. But I can tell you, when folks like me were first showing the Web to other people back in 1992 or so, they just couldn't believe that you'd click on something and a document would appear on your screen from Hawaii, or China, or Brazil, instead of the computer underneath your desk. Their eyes would bug out. They wouldn't believe it at first!
Technology and community come together
The first version of the Web was just about linking documents. But pretty early on, a hacker named Rob McCool, who wrote one of the first Web servers, had a great idea. Wouldn't it be cool if Web sites could run other programs as well? So he hacked up something called CGI, for Common Gateway Interface, which let Web sites connect to other programs, as well as databases. Rob's invention made the Web a kind of master controller for the Internet, a way to run absolutely any program using a Web browser as the interactive front-end. Before long, there were better ways to access other programs from a web server than CGI, but it started with one hacker with a good idea.
Another important stream leading to the Web 2.0 river was the free software and open source movements, described elsewhere on the Hackerteen site (www.hackerteen.com/free_software.php and www.hackerteen.com/opensource.php). The Internet and the free/open source movements supported each other, and created a new way of working together that's spreading to all kinds of creative activities. Thanks to the Internet, anybody who could write computer code could make a contribution in his or her spare time--a large contribution or a tiny one--and merge it in with other free/open source software.
Around 1998 I started lecturing about an idea that didn't yet have a name, the idea that the Internet was becoming the new platform for software development (my company specialized at that time in books and Web sites for programmers). I claimed that free and open source hackers were more than a self-styled revolutionary movement who didn't like commercial software. They were really just the first sign of how things could work when everyone was connected.
You see, when everyone is connected to a network, the software that's written and sold by traditional companies--what we call proprietary software--doesn't work as well as standardized software that anyone can add new components to and build on. There have been standards almost going back to the beginning of software, but the standards never worked as well when you couldn't look inside the software. The standardization promoted by free and open source software created another upheaval like what happened when IBM introduced standardized hardware that anyone could build on. A network that connects only some people and some computers they use doesn't work as well as one that connects all people and all computers.
And when you realize this, you start thinking about questions such as, "How could my applications work differently if they were about connecting all of the people who use them?" rather than assuming that every computer program was just for one person, as in the second age.
A really good example was a program called Napster, the first popular Peer-to-Peer file sharing program. There were lots of web sites for downloading free MP3 files in the late 1990s. Site like mp3.com hoped to put all the music in one place, so everyone would come there to download it, and the site could make money by showing ads while people were visiting. But Shawn Fanning, who started Napster, was a college student who'd grown up in the age of the Internet, and he wondered why all the songs needed to be in one place. Why couldn't the songs stay on everyone's computer, with a network program that just kept track of who had which song?
Of course, we know that Napster got sued by the music studios and went out of business, but that P2P file sharing is more widespread than ever. Andy Oram, who was the editor of the Hackerteen book for O'Reilly, made the point that Napster wasn't really about file sharing so much as it was about understanding how to build the next generation of Internet applications.
The Web spawned a whole new type of buying and selling, but companies tried to use it in clumsy ways (such as thinking it was like television, or throwing huge amounts of money into Web sites in order to grow fast without a good idea of how they'd earn it back) so a bunch of companies went bankrupt around 2001, an economic crash called the dot-com bust. Mp3.com, by the way, ended up no better than the much-maligned Napster. Mp3.com also ran afoul of the music studios and had business problems that forced its owner to sell all its assets. The difference between mp3.com and Napster was that mp3.com tried to centralize and control assets, so it didn't have any more chance to succeed than other companies in the dot-com bust. Napster, on the other hand, championed a different way of doing business that had great potential, aside from copyright problems.
The Peer-to-Peer controversy set off a big light in my head, and I saw how programs like Napster, SetiAtHome (which let people share their computers for distributed computation), and web services, which were just getting started, were all part of this next wave of Internet-native applications. I started saying publicly that programmers were building an "Internet operating system," a future in which applications wouldn't live on personal computers, or even on web servers, but would be built on the fabric of the network that connects them.
Companies that succeeded
In 2003, my colleague Dale Dougherty, who co-founded the company O'Reilly with me, thought up a conference called Web 2.0, that would focus on what was different about the Web companies that had survived the dot com bust. It tried to show what was new and cool about how they used the Web and how they understand the Internet better than the companies that went bust.
Now a second light went off in my head. All of the companies that had survived the dot-com bust, and the best of the new companies, had figured out that the Internet wasn't like television. It was about participation.
Look at the first survivors:
Started out as a catalog of all the world's web sites. Their content was created by everyone on the web.
A marketplace that allowed everyone to sell their stuff without opening their own store.
A store that made its catalog better by letting the users comment on what was good and what was bad about it
But the company that really defines the Web 2.0 era is Google. Their wildly successful (and very innovative) stock offering made everyone realize that the Web wasn't finished as a place for business, and started the second gold rush that we now call Web 2.0. But I like to talk about Google not because of the billions of dollars they've built up, but because they were a company that figured out how to take an application that was already dependent on the network and make it even smarter about using the network.
Every search engine is a product of network collaboration: it searches hundreds of millions of web sites made by individuals without any central coordination. But Larry Page and Sergey Brin, the founders of Google, figured out something really important. Rather than just searching the documents that make up the internet, they used a new concept called PageRank: the idea that a link from one web site to another is a kind of vote, a sign that someone thinks that web site is important. By tracing the link structure of the web, you can figure out which pages the whole Web thinks are the most important ones for any topic.
The other really brilliant thing that Google did was to avoid pop-up and banner ads, which made companies in the Web 1.0 era so annoying. Instead, they wanted ads to be really useful to people using their search engine, and they tried to figure out how to feature the best ads, not just the ones that advertisers would pay the most to display. They used small text ads that didn't get in users' way but just sat next to the search results, and started measuring which ads would get clicked on. Then they sold ad space not to the highest bidder, but in an auction that takes into account both the price that someone will pay and the likelihood that the ad will get clicked on. They brought the idea of network-enabled participation to advertising.
Google's successful ad strategy really shows how the heart of Web 2.0 comes from making a network application smarter by drawing on the intelligence of all the people who use that application. That's why I say the most important thing about Web 2.0 is harnessing collective intelligence.
And from this, you hopefully understand that Web 2.0 isn't really just about applications that use the original World Wide Web. It's a name for any Internet application that uses the network to harness collective intelligence and shared activity. That's what makes Internet applications different from personal computer applications.
Successful Web 2.0 developers all have big ideas about how to use the network to turbocharge their applications. Each developer starts out by asking a smart question that leads to a successful application:
What if we made an encyclopedia that anyone could edit?
What if we let everyone share their bookmarks rather than just keeping them on their own computer?
What if we let everyone share their photos, not just with family and friends, but with everyone?
What if we let people vote on which news stories appear on the front page of a news site?
What if we hosted videos for everyone, but let people embed them on their own site, anywhere on the web?
What if we made a telephone network for the Internet where anyone could call anyone else, and where P2P file sharing principles let us build the network by sharing our computers?
What if we let anyone "mash up" our maps with their own data?
What if we made office applications that were meant to be shared?
What if we let other people build applications to use the "social graph" of all the personal pages that we host?
What if we coordinated our downloads so that a piece of a large file could go over part of the network just once to reach a thousand users, instead of having to be downloaded a thousand times?
As you can see, some of these programs, such Skype and BitTorrent, aren't even running on HTTP, the communication protocol of the World Wide Web. "Web 2.0" is really a synonym for "Internet" and especially for any company that understands, as Eric Schmidt, the CEO of Google once said, "Don't fight the Internet." Instead, think hard about how to put it to work for you.
The story is far from over. We're really still just at the beginning of the third age. There's a lot of hacking yet to be done before we've really figured out how to use the network properly, how to make every application smarter by learning from its users and giving them opportunities to collaborate. You're part of that story.