.:[Double Click To][Close]:.

Cloud computing: the latest chapter in an epic journey

This blog post is a version of Eric’s talk at our Chrome event on Tuesday, December 7, 2010. You can watch his talk on YouTube. - Ed.

On Tuesday, we announced a number of updates to Chrome and Chrome OS. For me, these announcements were among the most important of my working life—demonstrating the real power of computer science to transform people’s lives. It’s extraordinary how very complex platforms can produce beautifully simple solutions like Chrome and Chrome OS, which anyone can use from the get-go—as long as you get it right. And that’s very, very hard indeed as history has taught.

In 1983, I worked on a team at Sun that was very proud to announce the 3M machines. The "M’s" were one megapixel, one megahertz and one megabit. And as part of that, we introduced a diskless computer. So this concept is not new—but then there are very few genuinely new ideas in computer science. The last really new one was public key encryption back in 1975. So we are always going back to the old ideas because we either loved them and they worked, or because they were right but we couldn’t make them work.

With hindsight, why has this been so hard? After all, we had all the IT stuff. And then the web was invented. But the web is not really cloud computing—it’s an enormously important source of information, probably the most important ever invented. One major web innovation cycle happened in 1995—remember the Netscape IPO, Java and all of that—ultimately leading, in 1997, to an announcement by Oracle (and bunch of other people including myself) called “the network computer.” It was exactly what the Chrome team at Google was talking about on Tuesday. Go back and read the language. Use your favorite search engine and look at what I said.

So why did it fail, and why will things be different this time around? Well, it’s clear that we were both right and wrong. Right that the underlying problems—notably the complexity—really were problems. But we failed because we couldn't build great apps on the web technologies of the time. We could build information resources, so you could read things and get stuff done, but the web couldn’t compete with the scale and power of the then-existing desktop applications, which at the time were Ole and Win32 and various Mac APIs.

Chrome and Chrome OS are possible today for several reasons. First, time. Moore's law is a factor of 1,000 in 15 years—so 15 years ago versus today, we have 1,000 times faster networks, CPUs and screens. That’s a lot more horsepower at the networking and disk level, which means the disks are faster, and the network is more reliable. Then, technology. Asynchronous JavaScript XML, or AJAX, came along in in 2003/04, and it enabled the first really interesting web apps like Gmail to be built. All of a sudden people were like “Wow! This web thing is actually kind of useful ... I can write some pretty interesting applications and they can update themselves!" And then a more general technology now known as LAMP, which stands for Linux, Apache, MySQL, PHP—and Perl, Python and various other Ps—evolved as a platform for the back-end.

So all of a sudden you had a client combined with a back-end that were powerful enough to sustain a new programming model. Instead of building these large monolithic programs, people would take snippets of code and aggregate them together in languages like Java and JavaScript.

So with the great sophistication that was finally possible on the web, it was critical to have a modern browser that could handle it all. Chrome just had to be built. As usual, Larry and Sergey were way ahead of me on this. From my very first day at Google, they made clear that we should be in the browser business and the OS business. Not being interested in either, I said no. But they rather sneakily hired a number of brilliant computer scientists to work on the amazingly successful Firefox browser, which Google helped fund through an advertising agreement—and that core team went on to create Chrome.

So we've gone from a world where we had reliable disks and unreliable networks, to a world where we have reliable networks and basically no disks. Architecturally that’s a huge change—and with HTML5 it is now finally possible to build the kind of powerful apps that you take for granted on a PC or a Macintosh on top of a browser platform.

With Chrome OS, we have in development a viable third choice in desktop operating systems. Before there was no cloud computing alternative—now we have a product which is fast, robust and scalable enough to support powerful platforms. It’s something computer scientists have been dreaming about for a very, very long time. The kind of magic that we could imagine 20 years ago, but couldn’t make real because we lacked the technology. As developers start playing with our beta Cr-48 Chrome OS computer, they’ll see that while it’s still early days it works unbelievably well. You can build everything that you used to mix and match with client software—taking full advantage of the capacity of the web.

I am very proud of what a small team, effectively working as a start-up within Google, has achieved so quickly. In 20 years time, I’m certain that when we look back at history it will be clear that this was absolutely the right time to build these products. Because they work—and they work at scale—I’m confident that they’ll go on to great success. Welcome to the latest chapter of an epic journey in computing. Welcome to Chrome OS.