Transcript of the Eric Schmidt Keynote Presentation at JavaOne.
Followed by Session Discussion including Bill Joy and Marc Andreessen.
Delivered May 31, 1996 at Moscone Center, San Francisco, California.
Dr. Eric Schmidt, Chief Technology Officer and Corporate Executive Officer,
Sun Microsystems, Inc.
Presentation entitled "Networking and the New Social Landscape"
Bill Joy, Founder and Vice President for Research, Sun Microsystems, Inc.
Marc Andreessen, Senior Vice President of Technology, Netscape Communications
Corporation.
With opening and closing comments by JavaOne host, John Gage, Director Science
Office, Sun Microsystems, Inc.
Gage (Host):
First, we have a couple of corrections. There are not just 97 books written
about the Java(tm) Platform. Steve Pietrowicz, from NCSA, who maintains
a list of all Java books, tells me it's 108, because he updated the list
last Friday. That's 108 books out by this October. Steve also maintains
a separate list of the French, German, Japanese, and Chinese books about
Java. He is going to publish that list as well. There's a pointer on the
Java.sun.com page that will take you to Steven's list of all Java books.
Next we'll start adding reviews. I noticed the book shop was completely
jammed, and people were all asking, "Is this a good one?" So what
we're going to do is create a new way of reviewing, which will involve you
reading the books and then posting your reviews and sending us a pointer.
We'll get this mechanism up. That will help a lot.
When Bill Joy and Guy Steele's book comes out, you'll find it's essentially
a compendium of computer science; everything you never knew about IEEE754
floating point is included. It will be a text from which you can teach.
Now for the authors, we've made special ribbons for all of you, and I'm
going to get Gosling and a number of other people to sign them. So, tomorrow
morning you'll have the official ones-you are the conscience and heartbeat
of this community.
The second thing to fix is the space problem, because there are so many
of us here. It turns out there were people jammed in to many of the rooms.
I said, "Well, really, it's a group of people that have put up with
640K for ten years without ever going out to lynch the people responsible,
why wouldn't they mind a few crowded minutes? But as it turns out, we're
finally rising up in rebellion against 640K, so we're going to change them.
In each of the sessions, people wanted to get printed materials. We're putting
it all on the Web, which is our code for, "you're going to print it
on your machine at your cost." This is a rule for startups. Anyone
here who's going to start a new company, remember, don't do rock and roll.
Stay cheap. It's the only way that you'll survive.
Now, to talk about how you start things small and build them up, and to
talk about what direction Java is going is the man who's in charge of the
Java's budget. He helped keep James Gosling's operation shielded from the
interior forces of Sun who might have wanted to take their budget away.
Let me introduce Eric Schmidt, Sun's Chief Technical Officer.
Schmidt:
Thanks, John. Good afternoon. I want to thank all of you for making this
an incredible year. One year ago, here in Moscone, we had a Sun networking
announcement, and we spent only three or four minutes talking about Java.
What a difference a year makes, and it's really because of what all of you
have done.
I want to welcome you to the center of the new networking industry: the
Web, networking, Java, and a new paradigm. I'm absolutely convinced that
the Internet is not overhyped. It is, in fact, underhyped. I'm absolutely
convinced that we're at the beginning of a brand new opportunity for all
of us.
To understand this, let's examine the computing environment we live in today.
The paradigm was created first by IBM in 1981 when they made the fateful
decision to license an operating system from what was then a very small
company: Microsoft; and a relatively small semi-conductor company: Intel.
Over a fifteen-year period, they built an extraordinary industry, of which
many of us are a part in one way or another.
What's the key characteristic of this industry? Let me ask the question
another way. Let's do a show of hands. How many of you have a PC or a Mac
at home? It looks like pretty much everybody. How many of you are confused
as to whether you have a PC or a Mac? There's not a hand up. In fact, it's
a brilliant marketing strategy, but from the standpoint of the customer,
the fact that there's a difference between these two platforms is a bug.
If you want to switch from one platform to the other-and we all know which
one is better-if you want to switch, you have to go and buy the same products
in the same boxes and pay the same amount over and over again. This is ridiculous-who
would have designed this?
It's a characteristic of the paradigm, and we all play it to some degree.
If you step back, you realize that building this paradigm was based on an
API lock-in. In order to create a new paradigm, we have to break the exsisting
paradigm. We have to begin with something new and something exciting. And
the Web comes along. Thank God for Marc Andreessen, Tim Berners-Lee, the
teams they assembled in their various universities, and the later corporate
affiliations that have popularized this notion. They have become the first
step toward this new paradigm.
The way the Web is constructed is that it's an additive and an addictive
world at the same time. You add things to it-you become addicted-you keep
adding. As we all know, the Internet growth is extraordinary: it's roughly
doubling every year, expected to double every 12 to 15 months for the next
three years. Most estimates agree with that. If you keep straight-lining
it, by the year 2004, every person on the planet will have a Web server.
So at some point, there's a break, or it will get close to that point, right?
There are 9.4-million hosts today; an increase of 2.8-million hosts on the
Internet in six months-now that's growth. 39 countries have been added,
so there are now 129 countries with direct Internet connectivity. There
are 16.9-million users of the core Internet, 26.4 million on the consumer
Internet, and 39-million users reachable by Internet email today. The Web
is a personal and cyberspace revolution that touches us all.
What's the most important thing about a Home Page? Your picture, right?
With everybody I know, that's the first thing they include on their Web
page. They might include a list of what they're doing. Then they have a
list of their friends' links, or the links that they want to point to. This
is a revolution driven by-it's sort of like sex, drugs and rock and roll-it's
pride and vanity, and being excited about what you're doing. The Web is
being built on the principles of how humanity organizes, and that's why
it's so fundamental, and so extraordinary.
The problem with the Web, of course, was that it was static. It didn't change,
and Java came along at just the right time to provide a vision of "any
time, anywhere, any platform." The programmer's definition of freedom:
My product, my output can run anywhere and do anything I want it to. The
uniformity of the Web becomes the platform, and the assumption of the Net's
ubiquity begins with that assumption.
But, there's something deeper going on. We spent time in the 1980's talking
about client/server computing, the PC revolution and all that. There's another
shift, and it is a very deep one. It's a model of computing that is bidirectional.
It's a model of computing that has a lot more freedom in where the computing
is done, and where the computation can occur.
We began this process with the launch of Java in May a year ago. The first
phase of Java was largely as a Web-extension mechanism. All of you have
seen the tumbling Duke, and many of you have built applications and applets
that have been submitted to Gamelan and the other kinds of sites that helped
fuel this revolution; and for that, I want to thank you.
What's interesting is how quickly phase one ended. It started in May and
ended in December. During that time, prior to shipment of the first version,
we were able to get the majority of Web users to use Java as their basic
platform. We then began phase two, and phase two involves the adoption of
Java, not as a Web-extension mechanism, but rather as a systems-level platform.
I like to think that our strategy was to surf the Net. In the course of
building Java, a technology that is great for programmers-also happens to
be buzzword-compliant, right-we used the Net to get the fundamental idea
of platform independence out to the world. The whole maneuver worked.
What's occurring here is an increase in networking. Networks seem to come
as a surprise to people, and I don't know why because there are many examples
of these that we use everyday. I bet you that everybody turned on a water
faucet today, at least, I hope most of you did before you came here. Think
about the infrastructure for that water faucet 100 years ago. You would
have had a well, and you would have had buckets and so forth. There is,
in fact, a fairly complex water-distribution infrastructure, which occasionally
breaks. We live in a set of incredibly complex networks that we take for
granted. And yet there's nothing simpler than turning a water faucet on
and off.
Networks are a natural extension of human existence. What's happening is
we're building the networks of cyberspace, and that change is a profound
and fundamental one that will be with us for the rest of our lives. It's
roughly akin to building water systems and transportation systems and so
on.
The other thing that is occurring with the Internet is that it's driving
a very interesting convergence. Today the Internet is largely a unicast
world, with, of course, some multicast exceptions that are very exciting.
The broadcasting industry, the entertainment industry, which has to use
broadcast technologies in business approaches, is also now beginning to
be a player on the Internet. And the telecommunications industry, which
has historically known nothing but point-to-point, and "we don't care
what you do between the two points," is also now becoming a player.
As a protocol on a platform level, this means that there's tremendous cross-
sharing and cross-optimization between these industries, which is great.
The real opportunity is the business opportunity as these industries converge.
It has an implication. For example, if you're in the information technology
business, you might discover that Disney, a very impressive and well run
company, is in fact a competitor, or a partner in your space, which you
never would have conceived of before. As an example, there's a startup called
PointCast, which does a good job of broadcasting essentially by using the
Net. They don't really broadcast. They really do it point-to-point, but
it feels like broadcast, something which looks a lot like Headline News.
My guess is that it's the first of a hundred of these kinds of examples
as these uses, models, and metaphors work and change for all of us.
There's a new business model. It's an "eliminate-the-middleman"
business model, where everyone is an author or a distributor. And the technical
term for that is "disintermediation." Networks tend to connect
producers and consumers, and they eliminate the people in the middle. So
they either find new jobs, or lose their jobs, or whatever. But it's a very,
very big change. And my guess is most businesses are not ready for this
change. They're used to the old model, the one that had all that internal
structure. This is a natural stepping stone in how corporations and the
kind of structural changes that we should see over the next five or ten
years, both in the United States and around the world. As a result, the
Internet is virtually guaranteed to change the operating ratios as to where
the money is spent in corporations.
The other thing that's occurring in this new business model is that marketshare
and ubiquity matter, because of the branding that you need with your consumer.
I mean, we all know what URL stands for: ubiquity first, revenue later.
We all practice it to some degree, and Java certainly does. This brings
the questions that I always want to ask, which are, "Why am I so frenetic?
Why have I forgotten where I live and who I work with? Why is the intensity
so extraordinary now? What's different?"
What's occurring is a shift in time from person years to Web weeks. You
have to run your operations with a Web-week kind of a schedule, and it's
not for the faint of heart. I like to think of this as the Netscape Nation,
you know, Netscape has popularized this rate of pace, change, and so forth.
What's occurring in an economic sense is something called "path dependence."
How do you justify who wins and who loses in these fast- moving economies?
The theory is that a few small steps, done very quickly, give you a differentially
better marketshare. It gives you that perception of momentum, so that from
an extremely small perspective, a few quick steps, a few quick moves, get
you that perception of marketshare, and then you go get that marketshare.
We've seen that model now three or four times in the last 12 months be very,
very successful.
But it colludes with something else. This model works particularly well
when the goods that you're selling have no production cost-soft goods, information
technology. In this sense, there's a similarity to the entertainment industry,
or the financial services industry, where the goods are brands, media, entertainment,
and so forth, as opposed to hard goods. You don't need to worry about your
manufacturing plan if you're a success. It doesn't cost anything to make
10-million copies of the same bits. It's just a few larger servers. No big
deal.
It is a combination of these two factors, plus this perception of ubiquity
led by the press, together with communications of a particularly global
scale, that runs this incredible virtual cycle, we are all caught in. If
you can figure out how to run this cycle, and run it faster than your competitors,
you win, at least this round. But the rounds come faster, because time is
measured in Internet time.
The Web has become a proving ground. Announce early; announce often. Ship
early; ship often. Don't fix bugs. Just ship a new beta. It's unbelievable.
When does this stop? Personally, I am kind of tired of installing new beta
copies of everything every other day. In fact, the limit is not the technology,
and it's not you-you're the problem. The solution is that customers are
going to say, "Enough is enough-I can't take it anymore." That's
why this is such an exciting, dynamic industry for all of us.
The perpetual beta model, this early customer adoption model is the right
answer, given the Web weeks, the zero cost of goods, the positive-return
economics kind of approach that everybody is focused on. So you make money
on the intranet. What do you make on the Internet? You make noise. You announce.
You get people excited. You promote yourself, and then the revenues come
in through the intranet. Because that's where the money will be, at least
for a while. Eventually, of course, it will become a significant consumer
phenomenon.
Next, of course, we move to the interactive Web. Java is a part of that,
but it's only a part. The adoption rate of video, audio, MIDI files, and
so on is now occurring very, very quickly.
Browsing is winning because of its simplicity. One of the mistakes I think
people are making is they're using the computing models that we have, for
example multimegabyte applications on standalone PCs, Macintoshes, and what
have you; They're putting those models on the Web, on a browser. They're
perpetuating the old model. Browsers won because they were so simple that
everybody could understand the model. That was the genius of their creators,
and that's why it's created such a revolution. There's a lot of complexity
behind it, but that complexity is hidden from the user, and very difficult
for them to get into trouble with.
The social fabric of transactions is also changing. When we go to the store,
we all know the social protocol for buying things. We are taught how to
buy things as children. We learned about credit cards in this generation.
We know how to use credit cards. They're pretty much ubiquitous as well.
What we have not determined in cyberspace is what is the social protocol
for how people buy things. How do returns work? Everyone is taking the existing
models and applying them to the Web. I'm absolutely convinced that the winning
model will be something that's unique to the Web. Over and over again the
Web has proved that it's a new framework, a new paradigm, a new platform,
and a new way of thinking about interaction. Repurposing existing text is
not how you develop a winning strategy. It's what you do with it that's
new and interesting and makes the difference.
As part of that, a number of companies, including Sun, have announced an
Internet reference profile. We did this a couple weeks ago, and the idea
is that, in driving this ubiquity model, to define what minimum set of protocols
is required to handle the content and the building of the networks in cyberspace.
It's the obvious ones, right? This group knows exactly what they are. It's
TCP/IP and the various layered protocols. It's HTTP and HTML and their layered
protocols. It's Java and its class libraries, and a few other things. What's
interesting is that most people became confused. They thought that the Internet
reference profile was a description of the network computer. The network
computer is just a simpler version of that implemented on traditional computers.
The announced strategies of Microsoft, Apple, Sun, and so on, all deliver
machines, which are consistent with the Internet reference profile.
This is yet another example of trying to establish a least common denominator,
so that content can be built to that least common denominator, and then
that contact can be ubiquitous. That's how you'll get lots and lots of customers
to drive revenue, drive marketshare, and run the revolution that I was describing
earlier.
As a result, you have to rethink the model of how you deploy networks. If
you begin the day presuming that networks are ubiquitous, which is how I
begin my days, and you believe that the various networking bandwidth issues
that people face in day-to-day life will be solved quickly, then you have
a new model, and that model has big servers with big wire and small clients.
We don't know how big this market is. There are on the order of 30-million
dumb terminals, that is VT100, 3270s, still in use today. I know that sounds
ridiculous. I haven't personally seen one in some time. We keep replacing-that's
the 1970s model. Those systems are still plugging away but they will be
replaced. So we know at least one entire characteristic set of uses that
is easily handled by this.
But there's obviously a much broader model. We announced two weeks ago more
than fifty companies supporting this notion and this standard. We'll see.
There will be many operating systems, including JavaOS(tm), that we announced
today, as well as many other kinds of players. The good news about the Internet
is we know, that no matter what, we'll have a lot of choices, because of
the nature of the competitiveness we also have.
One of the presumptions we all have is that bandwidth is going to get better.
I think a more truthful analysis is that bandwidth is going to get better
for some people. I have this image that when we finally get done implementing
cable modems, and implementing DSL modems, that we'll go shopping for a
house, and realtors will say, "Good schools and good Internet connectivity."
Do folks here know how far their house is from the central office? I do.
Doesn't everyone?
These new technologies are interesting. The cable modems are really not
modems at all. They are platforms. They're Internet addressable platforms
that actually do routing. You can plug them into your television set and
watch television. I was pleased to see in the last Internet report that
users of the Internet reported watching less television as a result, which
I thought was an improvement. You plug this thing, not only into TV, but
also into a telephone line and into your home Ethernet. Doesn't everyone
here have one? The Ethernet connects and gives you, in a shared medium,
on the order of 10-megabits coming down in and about 600 or 700 kilobits
going back up. It's reasonable to assume that there will be somewhere around
500,000 of these deployed in trials this year. The early marketing trials
indicate that the early adopters, which are us, would be quite happy to
pay $50 or so a month for that service and then bill it to our companies.
That's what I'm going to do. Imagine what you're going to do when the Internet
is 200 times faster in your home than it is today? I don't know, but I'll
probably spend a lot more time browsing.
The telcos are coming up with a competitive analysis, something called DSL,
(digital subscriber loop). The variant that's been most discussed is called
ADSL, which is 6.1 megabits coming down and 640 kilobits going up-there
the medium is shared at the switch, not on a wire, and it's done over copper.
There's a lot of evidence that the underlying DSL and DSP technology are
following Moore's Law, so that the increases in bandwidth that you'll get
from this approach will continue, analogous to those that you'll see in
the cable modems.
Again, some people will find themselves, through an accident of 20 years
ago, with telephone switches or cable modem suppliers that are close enough,
and have the kind of capital structure and so on to make all this happen.
The other thing that's going to occur architectually, as these networks
get deployed, is a tremendous amount of caching. My advice to you, if you
choose to describe yourself as a computer scientist, is that there are only
two things you have to remember. These are the only two things computer
scientists do: one is caching, and the other is symmetry. Everything else
descends from those two principles. Indeed, the Internet, just like computer
systems in the last few years, is being redesigned to be completely cached.
By doing the caches, you can preserve the locality of reference. You can
make it look, whether you're in Paris, San Francisco, or Tokyo, as though
the distance doesn't matter. We all know that eventually the crazy tariffing
that exists around the world is going to get in the way.
As these networks are deployed, we will see tremendous growth in cache servers,
caching protocols, and caching issues. One of the most interesting issues
yet to be resolved, is that there are many companies that are doing very
well, that do advertising and suchlike based on the number of hits they
get. Well, if the data is cached, they don't get the hit. In that sense,
it's a theft of information. This, of course, could be solved by a protocol,
but imagine how many new protocols will be developed to address that.
It's hard to predict how 1997 will look. But we can certainly say that the
order of the Net in 1996 is Netscape and Microsoft. Here you have Netscape,
very well managed, well capitalized, a fast moving company, which has more
than 70% marketshare. Some people here think that Microsoft will enter the
market, indeed has entered the market, and will get a good marketshare.
What is going to happen as these two giants fight one another in terms of
marketshare? Well, I think that both will win. As these markets work, and
as people compete, there's typically a couple of winners. I think Netscape
is Coke, and Microsoft is Pepsi, and everybody else is Jolt Cola. All we're
arguing about is the marketing share between Netscape and Microsoft-between
Coke and Pepsi. Both will do well.
If you look at the protocol opportunities here, they resemble a tornado.
And the tornado begins with the ubiquity of IP. The effect of this tornado
is that each of these protocols sweeps through computing, and as all of
you are part of this, it should make sense to you. It creates an opportunity
to deconstruct the mainframe in the client/server industry, and construct
a Web or network-centric system in its place.
The new applications will be based on protocol ubiquity. I'm firmly convinced
that protocols and executable content, the content that moves around on
the Net, will win. Companies will be divided into two categories: the ones
that see this, move quickly, and move their applications base to it, and
the ones that miss it. Because we're running this experiment in Web weeks,
this all occurs much, much more quickly. Once you've seen IP, you can't
go back. Once you've tasted the freedom that this interconnected, network-centric
world provides, you can't go back. And your customers can't, either.
Therefore, the technologies that we're driving, HTML and so on, will evolve
very, very quickly. One estimate indicates that in the United States there
are about 37.7-million Internet-capable computing platforms in 1996; 53.2-million
in 1997; and 80.8-million in 1998. What does it mean for the Internet to
be a platform? As these protocols become ubiquitous, you have another example
of my previous tornado slide. It means that you can tunnel through them.
You can use HTML and HTPP to get through corporate firewalls and do things
that these protocols were never, ever expected to do. And my guess is that
there will be many, many such opportunities.
So where are we in this? It's an exciting world. There are lots of opportunities
here. But, interestingly, only 7% of households, using PCs and modems and
so forth, are Internet-capable today, although that number is growing rapidly.
However, building infrastructure takes time. This is a chart going back
to the year 1900 showing the rate at which common networks, things that
we take for granted, have evolved. For example, it took about 70 years for
telephones to reach approximately 50% penetration. Electric lighting took
44 years. Cable television took 39 years. This is because they're all part
of various networks. However, VCRs, a consumer product that you can buy,
only took eight years to get to the same market. That's why it appears to
have occurred more quickly.
If you put the Internet phenomenon on that chart, it looks asymptotically
vertical. So maybe the fact that Web time is working means that the infrastructure
build-out will occur more quickly, but my guess is that the high bandwidth
applications, the ones that we talk about and are so excited about, will
take some time, because of the issues that plague any broadscale infrastructure.
This will create a world where some people have it and some people are waiting
for it, which is about where we were fifty years ago with some of these
other technologies.
As this revolution occurs, everyone plays by the new rules-everyone can
be a consumer and everyone can be a producer. I have my own Web site at
home, and I was trying to figure out what I should put on it. This is an
interesting question. Well, I know my mother will watch it-I have at least
one viewer. But what else am I going to produce? As you enter cyberspace,
what do you want to show off? What messages do you want to convey? What
are the key things you want to accomplish?
In a model where everybody is a consumer and everybody is a producer, the
disintermediation that I was describing occurs sooner and more quickly;
and it leads to much more narrow casting, and many more virtual communities
of one kind or another.
We are busy building real networks based on a real paradigm shift, with
an extraordinary rate of adoption. Most of the industry has predicted that
we will not see network-based transactions-these are committed transactions
like you find in the mainframe world-until about the year 1999. I have met
with startups that are busy building technology that will allow people to
do real committed transactions with rollback and recovery and all of that,
by early 1997. It looks like the adoption of these new protocols and ways
of doing business is occurring more quickly than it should, even more quickly
than everybody said it would.
It's clear that the combination of commercialable networks, cellular phones-isn't
it right that your cellular phone should have an IP address?-and all of
that drives this next wave of networking growth. As everything gets interconnected,
as everything online and on the Internet become one and the same, we finally
see the impact of the tornado. We're still very early in this whole phenomenon.
But I think it's reasonable to predict that in the next five years everything
will be IP-based, IP will be everywhere, the natural connectedness of things
will make a big difference, and will drive all of this together.
I want you to know that our industry does plan ahead. We're going to run
out of IP version 4 addresses; This is estimated as happening in the year
2008, plus or minus three years. We thought about it, and we've brought
out a new standard called IP version 6, which was designed to allow for
a 131-million digital IP addressable devices per square meter of the earth's
surface. So we should be fine. I predict that each one of you will have
five IP-addressable devices on your bodies-wherever you want to put them-by
the year 2001. So with that, thank you very much.
Gage:
Thanks, Eric. It seems that computer scientists are concerned with caching
in a variety of ways here. The second thing that computer scientists do
is add incompatible extensions. We'll be joined in just a minute by Bill
Joy who, while working out in the yard a couple of weeks ago, was bitten
by a tick, has Rocky Mountain fever, (which doesn't mean he likes to go
skiing), and has antibiotics coursing through his body. Nevertheless, he'll
join us in a few minutes via satellite.
I want to introduce a mystery guest who is interested in caching. You all
know this person who's interested in adding incompatible extensions, and
if the phrase "infinite price earnings ratio" means anything...Marc
Andreessen, would you come up, please? Hi, Marc, nice to see you.
Andreessen:
Thank you.
Gage:
I'll put you center stage here. Eric.
Schmidt:
Marc, you've been one of the proponents of Java. In some of the first articles
about Java, you were quoted as saying this is some of the neatest technology
you've ever seen. Can you talk about what Java has meant, and a little bit
about the vision that you have for how Java is going to drive things?
Andreessen:
Well, it was about a year ago when we first said how we were going to build
Java into everything we do. Since then, I think there's been a lot of progress
made throughout the industry. We do think Java changes everything, and we
do think it's going to have a huge impact on three main sets of people.
We think it's going to have a big impact on corporations that are finding
Java to be a key way in which to help build their intranets; to help develop
applications internally on their intranet; and to tie together the people
to make them more effective. That's a really big deal.
End users are finding that all of a sudden Java makes their PCs far more
useful. People spend $3,000 on a PC, if it's not connected to a network,
if it doesn't run Java, it just sits there, runs a word processor and that's
about it. Now with Java, with the Web, and with the Internet, people are
finding their PCs far more useful than ever before, and that will continue.
Obviously, we think that Java is a huge opportunity for all of us, all the
developers in the industry, who are, all of a sudden, able to develop applications
in days or weeks, instead of months or years; who have new ways of distributing
those applications, making money from those applications without having
to fight for retail shelf space.
We can collapse together the concepts of software, content, and services
and offer whole new types of applications very broadly to people.
In closing, I'm really happy to be here at the JavaOne event, and we're
going to keep rolling on Java. We're going to keep supporting developers
and the Netscape platform, which we think will be the best Java platform
for years to come. I'm really happy to be here.
Schmidt:
Thank you, Marc. Do you want to join us for the Q&A? Thanks, Marc, why
don't you sit over here.
There's one person who's had an extraordinary impact on my life, and I've
worked with him for 20 years. I know him very well. Bill Joy is somebody
I met in graduate school at Berkeley, and as you know, Bill was the primary
architect of the best version of UNIX for a long time during that period.
He founded Sun, and brought with him a lot of the talent he worked with,
and helped build the company. And I can tell you that in the first five,
six, or seven years, all the best ideas about Sun and all of the strategies
of Sun ultimately came from Bill. His contribution as a founder was extraordinary.
As the chief designer of NFS in the mid-80s, for example, he made a big
impact before we understood the economics of this.
As the Java paradigm became a possibility, Bill had already foreseen it.
So it's with great personal honor to introduce Bill Joy, founder of Sun
Microsystems, coming in from Aspen, Colorado. Bill...
Joy:
Thank you, Eric.
Schmidt:
So Bill, it looks pretty nice out there.
Joy:
It's a beautiful day, Eric.
Schmidt:
The first question for you, Bill is, "Why are you in Aspen?"
Joy:
Well, it's a beautiful place, as you can see. And we have lots of coffee
shops and no meetings. Schmidt:
I didn't think it was that bad. There must be some other reasons why Aspen
is good.
Joy:
Well, we have a small lab here where we develop and incubate ideas. I worked
on the UltraSPARC(tm) architecture a number of years ago, and a couple of
years ago I became involved in thinking about the Internet; and found this
a good place to do that thinking.
Schmidt:
Bill, in 1990, you gave a talk where you did something that I thought was
extraordinary. You said that the model we're in, which we now understand
is this complex applications model, would grow and prosper until the year
1995. And then, all of a sudden, it would collapse and be replaced by something
else, and although you didn't name Java in 1990, you picked the date correctly.
What was it about your vision in 1990 that led you to forsee this happening?
Joy:
Well, the date was probably a fortunate circumstance, but it was quite clear
that things were getting too complicated and that we needed simpler ways
of using machines. At Sun, we shipped the Internet protocols with every
machine, and saw that distributed computing, and distributed devices gave
us an opportunity to make things simpler and more pleasant to use. I think
that's the kind of ship we were looking for. It was just more fortunate
that it happened.
Schmidt:
Let's talk a little bit about the role we have with Netscape. Marc, I've
got to make a comment, though. I'm glad you wore shoes. For those of you
who don't know, Marc was pictured on Time magazine, and he was
the first person to be pictured on the cover without his shoes since Mahatma
Ghandi. Now, what I want to know, Marc, is, what did your mother say?
Andreessen:
She said, "Son, cut your toenails." She looks out for me.
Schmidt:
My recollection is that in September of 1994, when Netscape was being founded,
Bill met with you and Jim Clark, and together, I believe, created much of
this new model. Can you talk about how that came about?
Andreessen:
Well, in fact, Jim Clark tried to hire Bill at that time, but Bill didn't
take the job.
Schmidt:
You didn't tell me that, Bill.
Andreessen:
It was a shame. Well, I don't know. The Internet was certainly emerging
then. I think Jim Clark had become one of the most eloquent advocates on
behalf of the Internet, and the opportunity to merge the concept of the
Internet, the concept of ubiquitous connectivity and the ability to distribute
code, distribute applications over the network was really compelling even
then. Of course, back then, no one thought it was possible, or no one was
really thinking about it outside of a very small community. So it took some
evangelization from there, but obviously, it's taken off like wildfire.
Schmidt:
Bill, why were you so interested in working with Netscape?
Joy:
I've known Jim for a long time, had a lot of respect for the work that he'd
done at Silicon Graphics, and I saw his enthusiasm about a company he was
starting. And they were hot even back then. We saw Java as a way of contributing
to the Web and the browser phenomenon, that Marc had started. We wanted
to get Java widely distributed, and Netscape was the ideal vehicle for us.
Schmidt:
Bill, when you, James Gosling, and the rest of the team put together Java
in its current form, for a long time, you were pushing a much broader vision.
And Java as a language has some unique properties. Can you talk about the
ones that you particularly like, and that people haven't picked up on?
Joy:
Well, I've wanted to do a better programming language for 15 years. In the
late '80s we had a contract with AT&T to rewrite UNIX and I wanted to rewrite
UNIX in a better programming language. I couldn't find one that was both
technically adequate and socially acceptable. We wanted an object-oriented
language; we wanted a simple language. Java is simple; it just has objects
and elementary data types. We wanted a language with strong typing because
programmers make mistakes.
These things we knew. I think what's new about Java is, first of all that
it's dynamically loaded and linked-which is traditionally something you
see only in languages like Lisp and SmallTalk-that provides it with extensibility,
which makes it very powerful. What's also new is the way that packages are
structured and the way Java handles exceptions. A lot of these things we
saw were put into C++ when we were working in the late '80s with people
at AT&T, and with Bjorna Stroustrup to improve C++ in the direction
of using it in the way we now use Java.
Two important things new to Java that I'm really excited about are binary
compatability, and built-in concurrency. Binary compatibility is important
in a large distributed system like the Internet. We have a strong notion
of how you can distribute pieces of applications that are new, that continue
to work with old pieces, but this is something that hasn't really been written
down for many of the languages. Java has some concurrency built in. In the
language specification we've been working on, we've specified very carefully
the way in which concurrency works, so that concurrent applications will
be portable. We are beginning to see more and more uses of parallel microprocessor-based
systems, both as servers and on people's desktops. We think the ability
to use that parallelism to express concurrency in the applications that
Java provides is going to be incredibly important.
I've worked really hard with Guy Steele and James last year to write a specification
for Java so that Java is implemented the same way in the many implementations
that we expect to see. We've also been working to carefully specify the
base classes for the language, which we're now publishing as books. For
me, this represents the end result of nearly 15 years of trying to come
up with a better programming language and environment for building simpler
and more reliable software.
Schmidt:
To follow up on that, Bill, I remember in 1993, you were pushing a concept
that I had not thought about before, which was language-based systems. You
had some notion that the barrier between languages and operating systems
that we had grown up with was the wrong model, and that somehow tying the
language and the system together made sense. You came up with a language,
a theory, a set of platforms, and a whole model. Can you talk about that?
Joy:
Right. In late 1993 and early 1994, some of the thinking that we were doing
about the Internet here, was that there were three basic concepts that I
was interested in pushing. One was the concept of netcentricity, which,
I guess, has now been adopted by IBM as a corporate strategy. The idea that
the network should be the focus of what we do, and that the protocols are
the most important. I think this idea is widely understood. Basically, a
new protocol can make a new company, much like Netscape was built on the
Web protocol.
The other idea was that it was important to be able to send live or executable
content around. This is something we tried to do with the news windowing
system that James had worked on before, which wasn't commercially successful.
So the idea had been around and we saw the Net, and the Web especially,
as a way of pushing that again, because it was still a good idea.
But the most important of the three ideas, and probably the one that's been
least understood is the one that you mentioned, Eric, which is language-based
systems; the idea that I don't really want to write programs for a complicated
operating system-I just want to write a program. I want to be able to understand
my application in terms of the programming language, because the programming
language is well defined; it has good semantics; it has debuggers and so
on. This is the basic idea of building systems that have less operating
system and more application, and getting all that complexity that's hard
to understand and hard to debug out of the way.
Schmidt:
Marc, let's talk a little bit about this notion of netcentricity. Your company,
and you personally, have been driving a lot of new standards. I think folks
in our audience are well aware of the Atlas products, Navigator 3.0, and
so forth. It seems like a lot of the activity is going to move to the server
and to networking protocols. Can you talk about how those protocols get
set? What are they going to be? Is it finally going to be possible for me
to find something on the Web?
Andreessen:
Sure. We think that what is happening increasingly is that there's a set
of protocols coming out of the Internet world, which include things like
IMAT FreeMail, NTP for discussion groups, and many others. The set of protocols
that exist now are sufficient to replace all the proprietary systems people
have built, such as Notes or Exchange.
The ability to build a corporate network, built on Internet standards, that
doesn't have any proprietary server extensions, or protocols, or anything
associated with it is something that's within our reach right now. A lot
of companies are already doing it. A lot more companies will be doing it
over the next nine months. And by 1997 it will certainly be the broadly
accepted way for all companies to build up these networks.
What we're doing at Netscape is building a server suite that we call Suite
Spot that has several different types of servers to enable these different
services based on these protocols. So email is through the Internet protocols,
groupware-capability, database access, and then there's a set of underlying
services for the network administrator and people who have to run the network,
as well as the users, like directories, management, security, and replication.
All these are going to be based on Internet protocols, and all these are
going to be just as rich, or more rich, than the proprietary systems that
are out there. Amdahl has APIs that are accessible through Java, so they
can all be programmed as a uniform system with a set of Java code.
Schmidt:
If you were to predict, (this room certainly knows the buzzwords: HTML,
HTTP, RTP, RSVP coming out later this year) what are the most interesting
new standards or protocols that we're likely to encounter as a programming
community? I'm thinking particularly in the encryption- security domain
and in the directory and services domain. These seem like the hottest areas
right now.
Andreessen:
Sure. Directories is a huge area right now. On networks, historically as
many people know, directories have been a big nightmare, because directories
have either been built into the network operating system, like Netware,
or into the application like Notes, or into the operating system, like Windows
NT or UNIX.
Now, for the first time with LDAP, which is already the Internet standard,
there's a way for directories to be built on an Internet protocol; to be
distributed throughout the network on all the different platforms; and to
be accessible to the applications, the network operating systems, and the
underlying operating systems themselves. That's a really big deal.
Tie that in with things like SSL and X.509 for certificates, for security
and authentication. And then tie that into user level functionality, like
email with IMAP, security mail with S/MIME and discussion group with groupware
capabilities with NNTP, and you have a really powerful environment.
Schmidt:
Bill, you and I have talked at some length about this notion of where the
simplicity, the complexity of the networks should be. How do you think the
network services, the executable content model will emerge? Again, this
group of people in our conference are all people developing the key next-generation
of network-centric applications. How should they do it? Where do they put
the computation? Does it matter?
Joy:
I think it's a little bit like what happened in printing where we had the
ability to send executable content to the printers once we had Postscript.
But there certainly was a long period when we didn't have Postscript, or
we couldn't assume Postscript on every printer. We saw Postscript clones,
but it took a while for all that to shake itself out.
What we've seen with the adoption of the Java Virtual Machine into the different
operating systems and different platforms, is a very high confidence level
that applets and bits of code can be sent to almost any machine, executed
and get the same result, in the same way that Postscript became ubiquitous,
except this is happening much more quickly.
I think the most significant thing for the developers is that all these
system vendors have adopted Java into their platforms. We just have to wait
for one release cycle now for that to be a part of the substrate that everyone
can assume.
Schmidt:
Does it matter when they build their applications how they architect them?
Does Java solve all of those problems?
Joy:
I think Java allows you to ask the questions. There's obviously many different
places at which you can cut a distributed application. You make different
assumptions about what the end device can do. The important thing is that
you can put the interactivity, the part that needs the quick response, close
to the user. I think a lot more of the computation is going to be migrated
to the servers, which is where the databases are. Because what makes browsing
the Web interesting is that there are interesting databases out there that
you can access, and you can potentially get an agent, or some similar code
to yours, and by coding an advanced query close to the database, really
look through it. That's not something you're going to do on a traditional
model of a personal computer where all you have is your own information,
or maybe a CD-ROM's worth of information, which isn't very much to look
through.
Schmidt:
Let me ask you both. A lot of people have attempted to solve the problem
of corporate data and corporate data computing-the client/server model grew
out of that. How do you think that will shape out? I know, for example,
Bill, you've been very interested in the tubal space ideas and research.
I don't know, in your area you've looked at a number of the CORBA standards
and things that are beyond that. How are they going to play out? As corporations
move to the Web, as this tornado I described goes through-and it sounds
like we agree on that tornado touching everything, and you certainly said
the same thing as I did in that area. How does the company, how does the
corporation get the data organized? Do they go and buy SQL databases and
build Web front ends? Do they write programs in Java? How does it play out?
Either one.
Joy:
Well, I'd say the first phase is that a lot of information that was relatively
easy to put on the Web is already there. The second phase is that people
will be front ending their existing databases, a lot of which are SQL-based,
to be on the Web. And the third phase is when people develop ways of storing
and accessing information that's more natural for the Web. For example,
object-oriented things and passing Java code around to make things happen.
Very clearly, we're in the second phase now.
Schmidt:
Marc?
Andreessen:
What we're seeing is very similar to what Bill talked about, which is that
it's very easy for a company to make the decision to put Netscape Navigator
on every desktop. That gives them a single interface, and a lot of information
and organization that makes it easy to bring up static information, and
a lot of the materials they have to distribute. Then they very rapidly start
to use that to front end onto databases and applications they already have.
I think, clearly, we're moving into stage three as companies migrate more
and more of their mission-critical activities into the Internet environment.
As they migrate a lot of the computational processes into Java, and replace
or upgrade a lot of the applications, email systems, groupware systems,
or database applications into a full Internet model, it changes everything
inside the organization, making it all a lot more flexible, and a lot more
powerful.
Schmidt:
So continuing the discussion with Netscape, and I know there's a lot of
folks in the audience who wonder, and pardon the question, but, how does
Netscape make money? You've driven the ubiquity, you're an extraordinary
brand, but how are you going to make money in this? Because ultimately,
there's going to have to be some serious revenue coming into the company.
Andreessen:
We sell software. On the basis of selling software, we're looking to be
the fastest growing first-year-sales startup company ever with $80 million
revenues last year. We're at about a $220 million run right now, and all
that really goes to show is that there's tremendous demand out there; first
in corporations, both for client and server software for making the stuff
a reality, and for actually implementing it.
There's huge end-user demand, and there's huge demand from companies to
extend their enterprises out onto the Internet. So we sell a lot of client/server
site licenses, Navigator, Suite Spot and other products into corporations.
At the moment Navigator in a box, or Navigator Personal Edition is the second
best selling PC software product right behind the Windows 95 upgrade. And
the demand for people to build services that are on the Internet is increasing
all the time.
Schmidt:
Bob Metcalfe, by the way, has coined the term "extranets," for
the projection of the intranet out into the Internet. The idea is that you
have all of this corporate activity and information that's sitting anywhere-
there are many examples around the world-and you take that and make it available
to customers who have browsers.
Andreessen:
Right. One key concept is that companies increasingly look at this as one
system. It's not two different systems. For example, you shouldn't run Notes
inside and the Internet outside. You should run the same set of software,
the same set of standards, the same set of protocols on both sides of the
firewall. That leverages the capabilities of your own organization and it
makes it a lot easier for your employees to navigate through all the information.
Schmidt:
Let me ask both of you again. What are the limits to this? Bill, you, for
example, have believed that dynamic compilation is an extraordinary advance,
that dynamic compilation is a very positive thing. Can you talk a little
bit about the limits? One of the complaints about Java a year ago was it
was too slow, although it appears that is being addressed?
Joy:
Let me first say, to follow on from the last point, that I think one of
the limits is the number of people who are trained and up-to-date on what's
going on in the Net. It's changing so fast. A substantial percentage of
the world's resource of trained professionals in this area are in the room
with you people. And one of my answers could be: How is Netscape going to
do well? If someone asked me that question, I'd say anybody who can collect
a reasonable number of people who have competence in this area is going
to do well, because we don't have enough trained people to address the opportunity
that the Net presents. It's like having a shortage of doctors, therefore
doctors will do well. We have a shortage of networkers, or whatever you
want to call this group of people who can take advantage of the Web.
But to answer your specific question, Eric, dynamic compilation is one of
the key technologies we envisioned with Java, where you take the byte codes
that you can interpret; but more commonly you'll accelerate them either
by compiling them into specific machine code for the machine that you run
on when the code arrives, or by using some special silicon. You can quite
clearly see that you can run a dynamic compilation as fast as any compilation
you could run today by simply taking whatever compiler you've compiled the
stuff with and running it at runtime.
But what's also true is that when you're running at runtime, you're compiling
dynamically, you're bringing together bits of a dynamically loaded program,
and you have more information available than you had at compile time. Things
that were not constants at compile time may be constants at runtime, like
the size of a certain array. When things are well determined like that,
when you have more information, you can optimize across bits of code that
were developed by separate organizations; for example, inlining a procedure
that manufacturer A wrote into the code of manufacturer B, you can outperform
static compilation.
Now we're obviously not there today. We started quite a bit slower than
say C code, but looking at it as technologists, we can see that ultimately
dynamic compilation should be the fastest. And so I would expect there will
be a point before the turn of the century where we'll see Java code routinely
beating C++ code on real benchmarks.
Schmidt:
Thanks, Bill. Do either of you have some final comments? We need to wrap
up this segment. Marc or Bill?
Andreessen: I have one final comment. We just rolled out version 2.0 of
our developer program which we call DevEdge. I want to encourage everyone
to take a look at http://developer.netscape.com,
which is our developer site. We've got a lot of activities, a lot of resources
reporting into this in terms of support, early information, early access
to software, comarketing, copromotional activities, catalogs, and so on.
So I'd really appreciate it if everyone could take a look at that when you
get a chance and let us know what you think.
Schmidt:
Thank you. Bill, do you have any final words for us?
Joy:
I look forward to using all the software that all the people in the room
are going to write.
Schmidt:
Thank you, Bill, for coming and visiting, thank you for taking the time.
Marc, thank you again for being with us today.
It is my pleasure to introduce the segment of this program around the Java
Cup International. One of the privileges of being the CTO is that I get
to host this, and I'm going to be assisted by Barbara Gordon. Barbara is
the Vice President of Education and Research for Sun Microsystems, and her
group initiated the Java Cup Contest this fall. Barbara...
Gordon:
Hi, nice to see you, Eric. Thank you.
Schmidt:
It's also my pleasure to introduce Beverly Fleischmann, who will be over
there, demonstrating applets as we bring people on. The Java Cup International
Contest, cosponsored by Sun Microsystems, Oracle, SunSoft, and Netscape
Communications, was the first to use the Internet as the sole means of communicating
contest rules, and collecting input from judges at workstations around the
world. Barb's team actually did this. 360 applets were accepted and judged
under criteria set for the contest, and by the way, Bill Joy and Marc Andreessen
were two of the judges who participated.
Gordon:
As was Eric. We have three of the judges here today.
Schmidt:
Unfortunately, I was, therefore, not eligible. Our technical and luminary
judges selected a first-now get the rules right-a first and second prize
winner in each category, as well as a team winner in each category. You
can imagine the trouble we had with all the rules during the judging. In
addition, they also selected a grand prize winner, a total prize for all
of these people of over $1 million in-you guessed it-Sun equipment. In addition,
and thank goodness for this, Oracle Corporation has added additional software
prizes totaling over $100,000, for which we're very thankful.
And now Barbara will assist me in announcing the winners.
[Eric Schmidt and Barbara Gordon proceed to congratulate each of the
Java Cup prize winners. To see the winning entries, go to http://www.gamelan.com/winners_circle.]
Gage (Host):
Well, I'm very impressed. Would everybody that won stand up again? Could
we see the winners as a mass here? I think everybody should give them really
a serious round of applause. There's everybody over there. You can hold
your boxes up. They all have prizes. It's amazing. Life is getting better.
You can put $200,000 worth of Sun equipment into something you can carry
now. Well, maybe not.
Dr. Eric Schmidt/JavaOne Page