Chapter 1

What Is Gamelan?


CONTENTS

The First Java Day, 1995

It was a sweltering Indian summer day in New York City in October, 1995. EarthWeb's team of crack Internet programmers had managed to get tickets to the very first Java Day. We had heard of Java before, and a few of us had kept up with the white papers and Usenet groups. We knew something was afoot, but to that day all that we had heard could be classified as hype without substance. This would be Sun's chance to prove that Java would live up to its reputation.

Everybody who was anybody in the East Coast cyberworld sat crammed together in the standing-room only auditorium. The conference began with a highly-polished sound and light extravaganza, featuring a giant fake coffee percolator (no joke!). We witnessed some of the most famous programmers in the world dancing on the stage to loud rock music as if it were Letterman. We sat through elaborate introductory remarks peppered with terms like "object oriented," "robust," "platform independent," and "network aware." We were amused but not convinced: These terms were so overused already that on their own they didn't mean much.

There was a tangible feeling of electric excitement throughout the room. Everyone could tell something really new was beginning and we all were a part of it. Things began to heat up during a tongue-in-cheek dialogue between Eric Schmidt and Arthur Van Hoff, where they demoed Java running inside of Netscape for the first time. Poor Arthur had been up debugging this demo for at least 84 hours and was a bit punchy. We still hadn't seen any code yet, but we had to admit, this was cool.

Bill Joy stood up and told us about the history of the Java language. Java began as a small entrepreneurial experiment by a group of Sun engineers. They had begun with a radical, if somewhat misguided, project: to design a new operating system for set-top boxes and consumer electronics devices. The team examined existing languages to see if they were up to the task and found that none of them had both the power and simplicity that this goal required. Their solution: Write a new language. Their approach promised to result in a language that was as powerful as C++, as object-oriented as Smalltalk, as easy to learn as Perl, but that avoided the particular headaches of each, and that worked seamlessly over the Internet.

But what did this language look like? For the developers in the audience, the crucial turning point was Frank Greco's tutorial, "Your First Jolt." Finally, we all got to sink our teeth into the code itself. This was the moment we had been waiting for. And oddly enough ... it looked like C! We had been expecting some esoteric new hybrid syntax from another planet. This was a bit of a letdown for about a second and half, and then we realized that the very familiarity of Java code would enable it to catch on like wildfire.

As the day progressed we were shown a number of early demos of what Java could do on the Web. Miko Matsumura, from HotWired, showed some of the first animated media applets and blew us all away. Dimension X showed their cool Vectorman demo and a prototype of their VR rendering engine-it looked like a gray Pop Tart floating in space, but it showed promise (later this evolved into Liquid Reality). We also sat through a very boring talk about connecting content feeds to some weird server hardware that had essentially nothing to do with Java but that everyone thought was cool anyway because we were all so excited. Finally, Danny Hillis delivered a fascinating speech on the grand scheme of human evolution and the future of information technology, in which he masterfully unified it all with Java in the final sentence (what a genius!).

We realized that a new stage of the Internet revolution was about to start. Dozens of fledgling Java companies were already forming in the audience as developers began to brainstorm. The Java community was forming before our eyes. We realized that this new community would need a central meeting place-a Web site where Java developers could share information, learn, and keep abreast of the state of the art.

But we knew, with all due respect, that Sun's Java site just wouldn't cut it. The Java Team engineers at Sun were busy enough working on the language itself and would not have time to maintain this central community site. We also knew that for our own purposes, we needed access to this kind of information if we were going to be leaders in developing Java software for the Internet. Like the original Java Team itself, we saw a need, assessed existing resources, and chose to create our own solution.

During the lunch break between free Danish, we cornered Kim Polese and Lew Tucker of Sun and convinced them to endorse the project. They agreed that a site of this nature would be an invaluable catalyst for the growth and adoption of the Java paradigm. By the end of the day we had a mission-now all we needed was a name.

Gamma-What?

On the island of Java there is a traditional form of performance art in which a troupe of musicians, dancers, and puppeteers enact famous tales from the Mahabarata, one of the Hindu classics. The leader of the puppeteers is known as the Dalang. The performance sometimes lasts all day or even for many days. Delicately carved leather puppets dance behind backlit curtains, projecting phantom shadows before the audience. Dancers wearing brightly painted masks depicting gods, goddesses, and demons cavort to the rhythms of a large orchestral ensemble. Unlike a western orchestra, the music is composed in an exotic tuning and the instruments are mostly percussive-including gongs, metallophones, drums, and zithers.

This orchestra is called a Gamelan.

Why did we use this weird name? Well, first of all, we liked it because it sounds cool. Secondly, the Java Revolution had barely begun and all the good coffee names were already taken (we discovered this after fruitless hours searching the Internet for every coffee-related domain name imaginable. Sun had taken many of them in a vast defensive maneuver. By the way, java.com was already owned by Mr. Coffee, Inc.!). We also liked the name because it related to the island of Java and a few of us had actually played in real Gamelan orchestras in college. Like a Gamelan orchestra, our Gamelan site would bring together both creators and audience for an entertaining and educational community experience. The only downside of the name has been the large number of people who come up to us at trade shows and compliment us on our cool "Game-Land" site. Gamelan is actually pronounced as "gamma-lawn," and is actually not about computer games-it's about gardening.

The Beginning

Once we had a name, we really got to hacking-well, actually it was Alex Chaffee who did all the work. The rest of us just breathed down his neck and made comments that he mostly ignored. We started with a simple text-based database backend populated with the few existing applets and other resources that we found on Sun's "Applets at Other Sites" page and on a few other sites on the Net. Two weeks after we started writing code, the site went live and we commenced our marketing strategy: Build it and they will come. After only a few postings to the new Java mailing list (there wasn't yet a Usenet group), Gamelan began to receive hits.

Among the first of them were a number of visits by students from universities in Indonesia wondering what this new Gamelan site was about. Soon after that we were paid very cordial visits by various Javanese dignitaries: the cultural ambassador for Indonesia, and the head of the largest Gamelan orchestra in the USA. The ambassador was very interested in our project and thought it was wonderful that a New York Internet company would create a major Web site to promote Gamelan music and Javanese culture. We tried to explain that we were promoting Java software, and he seemed to understand. However, as he left our office, he happily suggested that we collaborate on future Gamelan performances in the USA.

Within a few weeks, Gamelan became the central site for Java on the Internet. Java developers and programmers from around the world flocked to the site to find out what was going on. We were pleased to see domains from the best labs and companies in the world in our log files, coming back every day, and sometimes every few hours. Soon our applet listing was larger than Sun's. Not long after that, Sun's Java Team abdicated to us, stopped listing new applets on their Java site, and simply linked users to Gamelan instead. Within a few weeks of launch, Gamelan was the most successful site EarthWeb had ever built. And it didn't stop there-Gamelan kept growing and growing.

We received our one millionth hit on the thirtieth day after launch. Soon we were receiving up to 200,000 hits a day and we moved the site from its training wheels (a shared Sparc 10) to a dedicated Sparc 20. We started running ads for Symantec. Within two months hit levels had grown beyond 500,000 hits per day and even the new server was groaning. We appealed to Sun for help and Alex Davidson and Kate Christopherson, of Sun's Netra Internet Server division, came through by providing us with sponsorship in the form of a custom built, prototype Ultra Sparc server. On the basis of this new, much faster machine, we launched the second version of Gamelan, which was more graphically intensive and incorporated a number of our own Java applets into the interface. A few months later, we moved the site and the Ultra to a dedicated 10MB port on a T3 Internet hub point. Now we were really wired!

Gamelan Today

Gamelan's primary mission is to serve as a central registry and directory of Java resources. Much like Yahoo! (http://www.yahoo.com), Gamelan collects links to resources stored on other sites across the Web. However, unlike Yahoo!, which attempts to index all the possible categories of information on the Internet, Gamelan's mission is much more specific. Gamelan collects and classifies pointers to resources related to Java and JavaScript. This specificity allows us to go into more depth than Yahoo!; we collect a wealth of information on each entry, including its URL and a brief description, and also information about its author, links to related resources, documentation, and so forth.

All of this information is searchable in Gamelan, so in addition to finding a resource by way of its category, you can find it by entering arbitrary keywords or specific search criteria. The resources we accept range from applets-Java programs you can add to Web pages-to articles about Java, announcements and press releases, Web sites and developers' groups devoted to Java, people and companies, and even source code and programming examples. We constantly update and expand the directory, classifying new submissions, reorganizing categories, and adding fields. It's a lot of work, but we love it.

Gamelan also serves as a showcase for the latest and greatest in Java technology. We also have separate sections on the site listing "What's Cool" and "What's New." Plus, every week or two, we select a new submission as the "Featured Applet." This applet is meant to illustrate an aspect of Java or an implementation of a technique that we find especially instructive, well-executed, or just plain cool. The Featured Applet has become so popular that we have actually crashed someone's Internet service provider by featuring their applet-they got so much traffic that their host couldn't sustain the load. We now ask for permission before designating Featured Applets.

Our own applets are often released on the Gamelan, and have frequently served to illustrate new applications of Java to solve real problems faced by Webmasters that had previously been unsolvable. For example, our Gamelan Navigator applet provides a "bird's-eye" view of the Gamelan hierarchy, allowing visitors to our site to step back and get a broader sense of the information space. Our Site Monitor applet provides a real-time view of the accesses to the site, and demonstrates the use of Java to communicate between client and server. And Java allowed us to create EarthWeb Chat, the first online chat room that is truly seamlessly integrated with the Web, which is also featured within Gamelan.

In addition to being a directory and a showcase, Gamelan is the de facto center of the Java community. Most serious Java developers visit our site every day to keep up with breaking developments and new techniques (not to mention their competitors!). Using EarthWeb Chat, they can communicate immediately with each other to exchange observations and techniques. They can also visit our Who's Who section to discover the interests, activities, and e-mail addresses of hundreds of other Java developers and users. Plus, our Announcements section allows them to unveil their latest projects and to keep abreast of current events. Gamelan is really much more than a directory-it's an online community.

Gamelan's Audience and Industry Position

Gamelan focuses on Java, a somewhat technical subject. However, our audience comprises a broad spectrum of the Internet population. Our users come from all around the world, and are primarily early adopters. In particular, significant portions of our audience come from high-tech companies. However, increasing numbers of casual Internet surfers are visiting Gamelan to play with the latest Java applets. As of this writing (May, 1996), Gamelan averages between 500,000 and 1,000,000 hits a day, for an average of approximately two to four million pages (as opposed to raw hits) a month. Our audience constitutes one of the most prized market segments for Internet advertisers, and we now run advertising for technology leaders such as Symantec, Borland, Sun, and others.

Gamelan has achieved an industry position as the central site for Java developers and users on the Internet. As well as winning numerous industry awards, Gamelan has been ranked among the top 25 most popular Internet sites by PC Magazine, based on an analysis of Internet traffic. Gamelan has been featured in the press countless times, including such well-known publications as WIRED magazine, the Washington Post, PC Magazine, Communications Week, Interactive Age, Inter@ctive Week, and on c|net television, among many others. We have even heard reports of Java focus group studies which indicated that Gamelan is used by nearly 80 percent of Java developers as their primary source of information on Java. Gamelan is endorsed by Sun, and specifically by JavaSoft, SunSoft, and SMCC, and is linked off of Netscape's "Directory" and "Search" pages as a primary Internet resource. Gamelan is linked to by numerous other major Web sites and by most, if not all, Java related sites. As a testament to Gamelan's growing brand-name status it is now the subject of books and CD-ROMs (for instance this!). We couldn't be more pleased by the popularity of Gamelan; it proves that hard work and community service on the Internet can be highly successful and even rewarding.

Where Gamelan is Headed

Gamelan has certainly come a long way since it started-is there anything left to be done? Oh, yes! Behind the scenes, our procedures for classifying entries and maintaining the database are continually being improved. We recently changed the database backend to a more modular and powerful setup, which will allow us to make changes more easily and robustly. We are also adding more information to the database-including ratings and comments-and establishing a new database in which to store event and announcement information. We are also considering establishing a searchable source code library (though that might take a little work). Finally, we are expanding and unifying the search capabilities of the site, allowing more sophisticated field-based searching as well as the existing keyword search.

The user interface of Gamelan is also becoming more and more refined. We were one of the first sites to use HTML 3.0 frames to provide a unified navigational view. We were also the first to use a Java applet to give an alternative to the maze of twisty little links that most of us call Web surfing. Look for future enhancements along those lines, including a graphical site navigation aid. Moreover, we are working on applets that will allow you to both view and edit the database itself, again fulfilling Java's promise to allow Internet computing to match and surpass current GUI operating system functionality. We are also developing Web sites related to Gamelan. Our new site, Toko: The Java Shop, builds on the success of Gamelan to provide an online venue for buying and selling Java software ("Toko" means "shop" in Indonesian). Toko is positioned to catalyze the growth of a commercial Java industry, just as Gamelan catalyzed the growth of a Java development community.

Gamelan started from a flash of inspiration during a conference. That's the way a number of Internet innovations were actually invented and we're proud to uphold this tradition. Today, Gamelan is an important feature of the next-generation Internet that is evolving before our eyes. It seems like Java is being licensed into just about everything these days-we would not be surprised to find Java actually licensed into consumer devices such as handheld computers, fax machines, cellular phones, game machines, and perhaps (in an interesting recursive twist of fate) even coffee machines. In any event, we are glad to be situated comfortably in the eye of this technology hurricane and we hope you enjoy our site.