It all started with a
blunt letter.
In 1990, Sun Microsystems software engineer Patrick Naughton was fed
up with trying to support the hundreds of different combinations of
software APIs used within the company. When he told CEO and friend
Scott McNealy of his plans to accept a job offer from NeXT, McNealy
didn't take the news sitting down. He asked Naughton to create a list of
his complaints and to suggest a solution "as if you were God."
When Naughton created his list, he didn't pull any punches about Sun's
shortcomings. Naughton said the NeWS software architecture the
company was working on should be scrapped, and he suggested that of
the more than one hundred people working in the Window Systems
Group at that time, most of them wouldn't be needed if Sun straightened
out the technical mess. After Naughton sent the letter to McNealy, he
figured it would be ignored. "Why should I care?" he asked himself. "I'm
leaving anyway."
Much to Naughton's surprise, the letter did make a difference. Quietly, it
was e-mailed to many of Sun's top software engineers. Naughton's e-mail
box was flooded with messages from colleagues who agreed with his
assessment of the company's situation. Bill Joy, a Sun founder, and James
Gosling, Naughton's mentor at Sun, supported his views and added fuel to
the fire by raising many of the same concerns to other senior executives.
The day Naughton was to leave for NeXT, Sun made him a counter offer.
The company would create a team of top software developers and free
them to do whatever they wanted. The only expected deliverable: make
something cool.
The team of six, codenamed Green, went into a self-imposed exile, very
much like the scientists on the Manhattan Project. The team stocked the
refrigerator with Cokes and Dove bars; discussed what they liked and
didn't like about the technologies that were out on the market; and took
apart countless electronic devices, such as Nintendo Game Boys, TV
set-top boxes and remote controls.
The reason for this free-form exploration of Nintendos and other
consumer electronic devices was to find a way for the appliances to talk
to each other. The team discovered early on that electronic devices such
as VCR's, laser disc players, and stereos were all made with different
CPU's. Thus if a manufacturer wanted to add functions or features to a
TV or VCR, they were stuck because they were limited by what the
hardware and its wired-in programming would allow them to do. This,
coupled with the fact that the chips used by many of these devices were
limited in program space, suggested a fresh approach to software
programming that might be a key to enabling innovation in this product
space.
The team's efforts kicked off the development of a new object-oriented
programming language that Gosling called Oak, after the tree outside his
window. Loosely based on C++, the language was stripped down to a
bare minimum in order to be compatible with the limited space the chips in
handheld devices would offer, and was designed to allow programmers to
more easily support dynamic, changeable hardware.
As work on Oak continued, the Green team conducted
extensive research into how and why people were
attracted to certain video games and how they interacted
with various kinds of electronic equipment. After collecting
their research data, the team developed a handheld, remote-control-like
device with a tiny visual interface. The device, dubbed "*7", featured an
animated character named "Duke" who helped guide users through the
easy-to-use, image rich, graphical interface remote control. Central to the
design of the *7 was the conviction that the interface must be engaging
and fun to use, and that the device itself must be a small, personal artifact.
"Duke," created by Joe Palrang, would go on to become Java's mascot.
Sun turned the Green team into a wholly owned company called First
Person. The new Operating Company had an interesting concept but still
no idea what to do with it. After struggling to come up with a marketable
idea, the company decided to pursue the interactive television market that
seemed to be emerging.
A deal with Time-Warner to create set-top boxes fell through at the last
minute. Another potential deal with 3DO was scrapped when that
company's chief executive wanted exclusive rights to the technology. Thus
First Person's foray into creating set-top boxes for video-on-demand
fizzled.
The company's fortune's changed in 1993 when the National Center for
Supercomputing Applications introduced Mosaic, and the World Wide
Web was born. More web technology soon followed, and the Internet,
formerly a home only to computer scientists and educators, began to
bustle with traffic.
In early 1994 the First Person team recommended focusing its limited
resources on a software system for online multimedia. Bill Joy took that
initiative further by positioning Oak as a "language based operating
system" and took up Naughton's suggestion to give it away in source form
on the Internet. The Oak language itself became the product, instead of
part of a device. Arthur van Hoff wrote an Oak compiler entirely in Oak
instead of in C. Naughton and Jonathan Payne built an Oak-ready
browser called "WebRunner." The first applet -- Duke waving back at his
parents over the Internet -- was born.
Sun backed the decision to give the language away, but not before
renaming it Java. Much has been made of the now famous name but
consider the fact that it could have been called Neon, Lyric, Pepper or
Silk.
With Java in the hands of the Internet community at large, all that was
needed was a way to run Java applets. "WebRunner" was renamed the
HotJava browser because of a trademark conflict. Then, Netscape began
supporting Java. Now millions are Java-ready, and Duke has never
looked back.
So what exactly is Java?
It is commonly thought of as a way to make Web pages sexy --
incorporating stock tickers, sound or video into Web pages. It has
evolved into much more. It is becoming known as a computing platform --
the base upon which software developers can build applications.
Developers can build a variety of applications using Java -- traditional
spreadsheets and word processors in addition to mission critical
applications used by the biggest companies: accounting, asset
management, databases, human resources and sales.
Java applications, or applets, are different from ordinary applications in
that they reside on the network in centralized servers. The network
delivers the applet to your system when you request them. For example,
let's say that you want to check your personal financial portfolio. You'd
dial in to your financial institution and use your Web browser to log into
the bank's system. The portfolio data will be shipped to you along with the
applet needed to view it. Let's assume that you're considering moving your
money from one account to another. No need to perform a series of
cut-and-paste exercises. The system will also send you an applet that will
allow you to change the rate of interest and length of investment to
perform a series of "what-if" scenarios.
From the corporations' point-of-view, Java will simplify the creation and
deployment of applications thus saving money. Applications created in
Java can be deployed without modification to any computing platform,
thus saving the costs associated with developing software for multiple
platforms. And because the applications are stored on centralized servers,
there is no longer a need to have people insert disks or ship CD's to
update software.
So what will the future hold for companies and their use of Java? Only
time will tell, but one thing is certain -- it's unlikely that letters such as the
one written by Patrick Naughton complaining about multiple and
incompatible software APIs will ever need to be sent again.
For a more detailed history, read Michael O'Connell's SunWorld
Magazine story Java: The Inside Story, and David Bank's HotWired
account, The Java Saga.
Fortune Magazine has an excellent introduction to the swirling business
currents surrounding Sun and Java in Sun's Java: The Threat To Microsoft
Is Real by Brent Schlender.