by Jason English
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 David Bank's HotWired story,
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.
|