Return to Keynotes

KEYNOTE

Jeff Johnson, Hubble Space Telescope,

Graphical User Interface Team Lead,

Lockheed Martin Space Mission Systems

April 4, 1997

John Gage: Good morning. Well, the bright sunshine outside has perked all of you up. This is a neoreligious movement, you know. This is the tent meeting. The revival continues and it goes all day, so husband your strength. How silly were you last night? That's the question.... I probably don't need an answer to that.

We have to move quickly because the orbital mechanics, the timing for the satellite feed, are very important and so we'll have the opening of the satellite window in 45 seconds. So let me show you what we're going to do. We're all going to be transported to NASA Goddard inside the command and control room. Let me show you quickly a video about what that means.

[Video plays a mix of images taken by the Hubble.]

With that dramatic music, you saw a mixture of engineering and science. The scientific data you saw is dependent upon the engineering telemetry that makes all that complicated device work. There are 7,000 variables­the state information is kept for 7,000 separate sensors, and all of the telemetry has been automated with Java applets so that you can make sense of what's going on. Now to tell you about that, I want to introduce you for the second time to Jeff Johnson. You all know Jeff as the husband of Adie. Yesterday, Dana Carvey looked across the front row and found the only two normal looking people, and decided to sing a song about them. So I want to bring Jeff up, Jeff Johnson from NASA Goddard. It's ``Hubble, Hubble, don't get in trouble,'' that's my song. Jeff, would you come up here and lead us off to Goddard?

Jeff Johnson: Good morning. It's kind of hard to follow that up, but first things first. My wife's name is Adie, A-D-I-E, for all those hundreds of people that asked us last night. Sorry to get you all up early this morning.

I have here, well, a visual aid. This is the mission schedule for Hubble for this week, and unfortunately, the schedule says that there's no data 8:30 to 9:30 today. Not even Bill Gates can change the schedule, so we had to move the keynote.

I'd like to thank Sun for inviting me to speak here today. We're very excited, of course, to be here. As most of you can probably tell, I'm not a CEO. I didn't invent the Internet. I'm not a rock star; nor a comedian. I'm just one of you. So I really appreciate the chance to be here today, and I hope that you will look at this as representative of the kind of work that some of you folks are doing at your own organizations.

I'm here today to represent the Hubble Space Telescope Project. We're based at the Goddard Space Flight Center, which is in Greenbelt, Maryland. The Hubble, as you know and as you just saw, is an extremely impressive scientific resource. In 1977, Congress approved funding for Hubble, and they started building a spacecraft. It took ten years and 10,000 people to build it. It's hard to believe it's been 20 years since Hubble started, and we've seen a lot of changes in that time in the computer industry­ it's been through several lifetimes already. From mainframes to PCs, to client/server, and now the Internet. Some of you were probably still in diapers when Hubble started. For myself, I was just learning how to program using the keypunch. So times have changed.

At the same time that they were building the Hubble, they were also working on building the Control Center. The ground system is an extremely important part of the operation of Hubble. We'll talk about that in a little bit.

The Control Center has two primary responsibilities: the first is to manage the execution of the observation schedule. Hubble is an observatory; astronomers put in proposals and requests to look at a certain target, and so a schedule of commands has to be generated that tell the Hubble they have to maneuver to that position; they have to lock on to that; they have to use certain settings of the science instruments on board. All those things have to be configured by commands that are sent up from the Control Center.

The Control Center also monitors all the engineering telemetry that comes down; not the science data, but the state of the spacecraft, the temperatures, the voltages, the currents, the pressures, and the state of all the switches. All that information about the equipment itself, about the Hubble as a spacecraft, as a satellite, has to be monitored.

In 1990, 13 years after they got started, Hubble launched. And as you maybe aware, the deployment was flawless and the first pictures that came down were awesome; people were very excited. But then after a period of months during the checkout, they discovered a problem with the curvature of the the primary mirror. So in 1993, the first servicing mission was already scheduled. They didn't just say, ``Oh, it's broken, we have to go do a servicing mission and fix it.'' It was already scheduled, but instead of replacing a science instrument with another science instrument, they replaced one with some corrective optics and we'll show you that in a minute.

The corrective optics worked flawlessly, and Hubble has been working flawlessly ever since, as you can tell from the kind of images that Hubble is returning. If any of you are astronomy buffs which I know most programmers tend to be­­science fiction geeks, whatever, you know­­the pictures are astounding. Hubble's working great.

In 1995, NASA Goddard started a program called Vision 2000, which is an entire re-engineering effort to revamp the ground system. Hubble is constantly being upgraded in orbit; we're going to upgrade the ground system as well. And that's all aspects: the Control Center, the flight software development, and the science data processing, with the intention of lowering the costs of operating the Hubble so that they can operate it through the end of the scheduled mission, and possibly extend that. The mandate from the project for us, was to use state-of-the-art technology to lower the operational costs. And if we did that, then we win; and if we don't, well, Congress says, ``Go update your resumes.''

So the challenges that we were facing at the Control Center were kind of twofold: one is that we have a very long-term software system. We have software that was written starting in about 1980-1981 that'll still be in the system when Hubble stops flying, whenever that may be: 10, 12, or 15 years from now.

We also have a variety of user communities, and we'll talk about those a little bit later, but they use the system in different ways for different reasons. They're in different locations. They're controlled by different organizations. And so these two things­­the longevity and the variety of user communities­­create for us a complete need for platform-independence.

So what we did was come up with an operational concept that was extremely simple but also unprecedented in terms of how control centers are typically built. We wanted to provide access to all the engineering data to all of our users any time, anywhere. Remember this is 1995, okay. We found what we needed with Java.

In about June of 1995, we were surfing the Web­that's an allowed business expense­and we discovered the Java demo applets out there, and in particular the stock price strip chart applet, which showed Sun's stock price coming out live over the Web, being updated on your screen.

Well, that's exactly the kind of thing that we wanted to do; we wanted to pump live data out to our users. You have to remember that Java was virtually unknown at that point. I mean, Sun wasn't even pushing it. It was kind of there on the Web, posted there if anybody wanted to go see it; it was still in the alpha release. But we saw that that was the kind of thing we were looking for; we were intrigued by that, so we jumped in feet first, downloaded the JDK, and started doing some prototyping in the summer with the beta JDK.

And what we found as we started doing our prototyping, was that most of the people we talked to, the other developers, were still really just playing around with Java, looking at it, maybe doing a little bit of prototyping. But almost everyone was just using Java to spruce up their web pages with little bouncing heads and so forth. We didn't see Java that way. We saw Java as being a serious end solution, even if it was in its infancy.

So by the fall we were really up to our elbows in Java programming and we loved it. Java is a great language; we love programming in it. We also got a lot of questions from our project and from the people we were dealing with­­things like: ``What's Java; who else is using it; what does it run on; is it fast enough to do real-time display of telemetry? And what about all the security things that we keep hearing about with Java?''

So the kind of reaction we were getting was, ``We want state of the art, but it's got to be mature!'' So fortunately for us, Netscape, and I guess it was around September 1995, licensed Java, and then a few months later pretty much the rest of the industry, even Microsoft, licensed Java. To us that was a tremendous validation of industry support for Java, that Java was here to stay, it was here for the long haul, it was a serious­­almost an industry, not just a language.

So we got very excited about that. NASA gave us the go ahead to use Java in the operational system that we have now built. I'll show you a demo of that in a few minutes. We're using Java for the user interface and the display portion of the Control Center. The system you're going to see was used to support the second servicing mission that just occurred in February.

What I'd like to do now is roll the video and show you a few highlights of the second servicing mission, and then we'll do a demo of the Java Control Center.

[Video plays]

Here's the launch of Discovery. Here's the Hubble being docked into the shuttle payload bay, so the astronauts can work on it. Hubble is unique in that it's designed to be serviced in orbit. So here they're opening the aft shroud bay doors. There's a $100 million in that guy's hand right there!

This is showing how the instruments are replaced­basically plug and play. [laughter] This is how they fix the Hubble. They had these little robot arms with prescription contact lenses on them that focus the light, and shoot it in the science instruments.

The impact for us on the ground system of having the Hubble be able to change its state­there's the existing Control Center­­is really enormous, because our system has to change every time the Hubble changes. It changes everything; changes the telemetry we get down, it changes the commands that go up. Plus we have to support all the old data. So it's really an enormous impact, and every three years we have to go through this change where the Hubble essentially turns into a new spacecraft.

That's a micro-meteorite hole in one of the high gain antennas­so we have some unique problems to deal with in our situation. Here's the Hubble being released from the shuttle to continue its science mission after a successful servicing mission.

I hope you think that it's as beautiful as I do. It's an awesome piece of equipment.

I'd like to go on to the demo now, and my co-worker Joe Schmitz is going to be driving the demo. He did a lot of the work on the Java programming. What we're going to show is our system here. It's running on servers at Goddard in Maryland.

What we're going to do first, is create a real-time engineering telemetry display. So now we are just a user of the system. We can be located anywhere in the world. What we're going to do is bring up this essentially blank slate. We're going to drop your standard Java tabs folder type situation on there. Now we're going to bring up a dialog that has a way for us to query the operational database to say what the current telemetry values are that are coming down from the Hubble that we can choose from. So we're going to select some of the parameters that are describing the onboard batteries. Hubble uses these enormous solar arrays to charge up batteries, and then when they go into the earth's shadow, they run off the batteries. I think we're at about our 39-thousandth orbit right now.

So what we've done here is, we've dropped an animated strip chart component onto our tab. We're selecting some of the engineering telemetry values, and now when we say ``accept,'' it goes off and registers with the server to say, ``Start pumping me the real-time telemetry.'' So now we're seeing live Hubble data in the strip chart there. [applause] Thank you.

The data that we're seeing has to go from Hubble to what's called a TDRS satellite which is in geosynchronous orbit. Hubble is in about a 380-mile altitude orbit, and it's being beamed from the TDRS satellite down to New Mexico; it goes from New Mexico to Greenbelt, Maryland; and now it's coming from Greenbelt to us.

So what we're seeing here is a strip chart that has several of the batteries­are those current Joe, currents or voltages? One of those two. Joe never tells me what he's going to pick. And now what we've done is, here's a page that we created earlier that has dozens of values on it, and you can see the data flowing. Joe, why don't you zoom in on the strip chart there. We have a number of parameters and you can zoom in so you can distinguish the values and you can see some spikes in the data there. This is the kind of display that our users want to look at because they want to see moment by moment what's happening with the Hubble. Is it doing what it's supposed to be doing? Are those voltages correct? Are we having a problem somewhere? Because when you have a spacecraft that costs $2 billion, you want to make sure it's working okay.

Again, this is the kind of display that they use. We use the tabs so they can quickly and easily get to a large variety of data. The users in our community really like density. They really pack the information together. And unfortunately we've had to blow the screen up a little bit, and the page is getting truncated because there's so much information on it, but I hope you'll bear with us on that.

We also have these textual values where they can look at the actual quantitative versus qualitative information. This is just our first release. Basically the kinds of displays, and so forth, that we're providing, are the displays that they have on the current system. But in the future, we're going to be really leveraging off of Java and the tremendous energy of Java. Things like the 3-D APIs and all the new and wonderful things that are coming out with Java to go beyond the basics, to really come up with some high-impact dynamic displays, because we have this constant firehose of data coming down, and we want our users to be able to interpret it quickly and easily.

One of the other nice things about Java, at least for us, is that it uses local compute power, so we don't have to buy all the servers and have all the load be on us. So things like Java, the strip charts, and all the animation power are being run off the user's PC, not off the server. We've run our system regularly off the 28.8 modem; and users are connected via modem with a PC.

We can also access historical telemetry values as opposed to real time, and what we're going to do now is request some historical data. As soon as the real-time telemetry comes down, it's captured into a permanent archive that will be maintained until the end of the mission. And all of the data can be examined and queried by any of our users. This is all Java applets that you're seeing, just running from a web browser. We run off of Netscape and Internet Explorer­equal opportunity!

Here we're seeing the request is now on the server side. It's going out to get the data. And we have a little Java applet that tells you what's going on, so you can watch that. What the users do with this data is look for anomalies, anything that might be a problem, as well looking at very, very long term trends to see if a component is degrading, where it may fail in two or three years, and they need to say, ``Well, we need to schedule a replacement for the next servicing mission so that we can replace it before it fails.''

So now the job is done. We will go over to another applet that lets you look at all the data products you've generated. We'll just pick the one that we just did. And we're going to bring that up in a helper application. This is a graph showing the day/night transition. As the Hubble is orbiting the earth, it goes into the earth's shadow and the solar array currents drop off as we go into the earth's shadow. So that's what that wave is. Again, that's the kind of thing we're looking for.

Some of our friends down at Johnson Space Center are doing some Java as well. What we brought up here is a shuttle Control Center applet. They're doing the same kind of thing we are; they're using Java to project the data out to their user community, and this is a prototype. The shuttle is taking off today. It was supposed to take off yesterday, but it's taking off today about 11:00, and are we getting data there, Joe? Looks like we are. It's not flying now, but you can see that some of those numbers are changing, because they've switched over to the shuttle data systems that are now pumping out data.

So unfortunately we can't watch the propellant levels going down or anything interesting like that, but the point of this display, and the reason we wanted to bring it up was twofold. One is that having Java let us bring the data to the users, has let us also, essentially bring up both displays at the same time. So one user can now, if they're an expert, say in power systems, be working multiple missions at one time from a single desktop in their office. They don't have to have a separate data system that's dedicated to each spacecraft, they don't have to have two terminals either, or have to walk to another building, or drive somewhere else to get there. In the current mode it's really not possible. But with Java, a single user can monitor multiple missions simultaneously, even if they use different data systems.

The other reason was that we're sharing code with the Johnson Space Center people is they're writing in Java. We're writing in Java. We've given them some of our code. They've given us some of their code. And neither one of us has had to port it. We work on different development platforms. This is a good thing! [applause]

Question from the audience: Will there be any public applets, and are you going to sell them?

Jeff Johnson: The question was, ``Are there any public applets to view the shuttle?'' Yes, here's one right there. If you want any more information on this, come to the Birds of a Feather. I think it's at 11:30 and we'll be happy to answer questions and give you URLs and all that kind of stuff.

As I said before, the system that we just showed you is operational. We're essentially running in parallel with the existing ground system, because our system does not have full functionality yet, and we want to bring the bugs out and so forth. We have several more releases planned over the next year, and in about mid-1998 the Java-enabled system will become the prime mission system, and we'll be flying the 1999 servicing mission with that system.

I talked a little bit earlier about the different user communities that we have, and they break out into four areas. We have the flight operations team, who are responsible for this kind of moment by moment and round the clock watching of the telemetry and sending up the commands. And that's a fairly limited community. It's shifts of four people working around the clock. But we also have spacecraft engineers who are responsible for being the experts on the individual components of the Hubble, and they also have to have access to the data, even if it isn't on a moment-by-moment basis. But if there's a problem or if there's something that's causing them concern as they look at the data, they need to be able to see the real time as well.

We also have the instrument teams, who are experts in the different science instruments­the cameras and the spectrographs­and they have to have the engineering data so they can calibrate those instruments to get the best possible science out of them.

And we also have external experts, people who are the contractors who built the components, or other outside experts, who are only called in occasionally. All of these people are users and we don't control them. They work for different organizations. We don't want to have to buy equipment and install it at their site, and their system administrators don't really want us to do that either.

So for example, with the current system, if we have these other users who are outside the inner circle and they need to see data, there are really only two choices for us. We either have to install a dedicated system at their site with a dedicated network connection, or we have to fly them in, or drive them in. Some of our users are in Europe, so we don't really like flying them to Maryland.

For servicing missions­every servicing mission­we have to take several of the Control Center workstations, ship them to Houston, install them at Johnson Space Center, just for a couple of months, and then we have to bring them all back, along with the support people that go with them.

So now, with the new system, the users will be able to sit at their desktops, wherever they are, fire up their web browsers, and they're in, and they can get the data. It's a zero-installation client.

We have users on the second servicing mission that we supported on PCs, on SGIs, on Suns, on Digital UNIX, and it all worked without us having to write any code that's specific to those platforms. This is also a good thing.

When we installed the system about a week before the mission, which is kind of cutting it close, the plan was for us to just run in the background. There was already an existing validated system out there that the users were familiar with; they didn't have time to learn a new system during the crisis mode of a servicing mission where everybody is all uptight. So we installed the system, we delivered it to the customer, and we thought we'd just run it in the background and start collecting data so that we'd have it for later.

And what happened really blew us all away. The day after we installed it, we trained our first batch of about 25 users, and then within about 24 hours, there was a problem on board the spacecraft. There was an anomaly. And so the instrument teams­­the anomaly was in one of the science instruments­­and the instrument teams had never before had this direct access to the engineering data. They could get it, but they had to go down a couple floors to the locked room where the dedicated machines were. And for the historical data, they had to drive 40 minutes down to Goddard to request it, and it took a 24-hour turnaround.

But with Java, they could now start getting the data immediately. And we had only just trained them the day before. And they got into our system, they brought it up on their PCs, and they were off and running. They were analyzing the data and working on resolving the anomaly, essentially instantly. It was the day after we trained them, and they were building displays like we just showed you. [applause]

So we're really getting fantastic feedback from our users, from our project management, from higher management at NASA, and the kind of comments that we're receiving are things like, ``Why are we doing control centers any other way?'' We're getting lots of calls, and doing lots of demos. We're getting calls from Johnson, from JPL, from Marshall, the other NASA centers. I think we even got a call from some nuclear power plant somewhere. Other people have these problems, too, right? We've heard that Goddard considers our system to be the most successful software system ever delivered there. That's high praise for us.

With Java, we've changed the way that NASA builds control centers. They're never going to do it the old way again. And Java is helping us achieve the cost savings, and the productivity improvements that we were assigned to accomplish. Java is helping us get the data to our users quickly, easily, and conveniently, regardless of their location, regardless of their platform, and the source code portability of Java is letting us, I think, greatly increase how much code re-use we do within NASA in the future.

So, now we're looking forward to the future. To 1999, the third servicing mission­­as I said, our system will be the prime operational system. They're installing a new camera that will increase Hubble's vision by another factor of ten. They're replacing the main onboard computer. They're upgrading from a 386 to a 486­state of the art, but mature! The reason for that is the stuff has to be flight-certified and radiation-hardened and all the other stuff that you can't buy at Best Buy.

2002 is the fourth servicing mission, and they don't know yet what they're going to put up there. So it makes it hard for us to accommodate that. But that's the whole idea with Hubble; they want to leverage off a new technology, so as new camera detectors are invented or discovered, they can take advantage of that. They don't want to build too far into the future. They want to wait; the future will come.

So 2005 is our scheduled mission end. That's our goal; to get to 2005. But as I said, if it's inexpensive enough to run, who knows? Maybe we'll go on far beyond that, as long as Hubble is capable of doing great science.

So we feel that with Java we have a proven technology. We've proven it in this kind of mission-critical environment, and now we're building a body of expertise within NASA that's familiar with Java; that knows it as a language; that knows the ins and outs; and knows what it's capable of. So I would like to see Java move from just being the user interface, the applet end of it, to being on the server side, the application side, because that's really where the bulk of our development is, and where we'd like to get the most code sharing and those types of things.

It's nice for me as a software engineer to get the validation from our user community and from our project that we did it the right way. But the lasting value of what we've done, and the lasting value from Java is for our users, who can now get the data that they've been screaming for, for so long, and get it delivered to their desktop. I've been working on control centers for most of my career, and the key problem has always been the same. How do we get the data to the users as quickly and as conveniently as possible? And with Java, I think, we can now knock out the middleman, knock out the data operators that take your request, and go punch the thing in, and give you your reports, and all that kind of thing. We just deliver the data to the user at their desktop wherever they are, in whatever format they want, direct.

So thank you Java, and thank you. [applause]

John Gage: That was wonderful. Jeff, you've introduced a new term everyone should learn. It's called ``demo anomaly.'' That's NASA-speak. If Goddard does something, JPL has to do something. So we can have those things out there many millions of miles away and receive telemetry, and talk to them and control them. What about making things crawl around on the surface of Mars? So Miko is going to introduce to you another project with the same must-work idea that underlies, and I think, validates the notion that Java can do the most important tasks. Miko, can you lead us on to moving around on remote desert terrain?

[Two demonstrations follow: The first, presented by Dr. Paul Baccus, is of the Mars Rover, being developed at the Jet Propulsion Laboratories in Pasadena. This demonstration shows how JLP scientists command the Rover on Mars using a Java applet. Dr. Baccus also demonstrated how this same applet can be used for public outreach, so that everybody in the world from their home computers can look at the same data and the same images that have come from Mars, at the same time as the scientists. The second demonstration is presented by Greg Helt, who is on the Human Genome Project that created the GenoBrowser. This demonstration shows how the GenoBrowser enables sceintists from around the world to collaborate on solving human biological problems. This project is being developed at the University of California at Berkeley.]

Miko: Wow. So I really think that Greg's work is truly amazing, and I think that it will really move forward this effort that we have to learn more about ourselves and introspect and think about how our future lives, not just outside, but inside. [referring to demos] I guess, since this is my last moment on stage, I'd just like to say that I'm looking for the killer app, and someone in this audience is going to write it for me. If you do write it for me, just send me email. [Miko holds his head. ] I'm going to get 8,000 emails tomorrow.. Just send me email at miko@miko.com or if you know someone who's writing a killer app, let me know.

John Gage: I've got a secret to tell people about Miko. His doctoral work was in neuroscience at Yale, so anything that has carbon in it is extremely interesting. Any of this molecular biological applications work will hit his heart. Is that right?

Miko: Yes.

John Gage: All right. It's going to be great.

Miko: Thanks, John.

John Gage: I wanted to show you something that drives from the three remarkable demonstrations you've just seen. I think the point is that the science, expensive science, difficult science, can now reach the kids in classrooms. I want to show you something very quickly. It's a project to allow what Java has enabled, that is scientific work to be shared globally instantaneously, telemetry and scientific data to be made visible and understandable, that can now reach every classroom in the world. Now it's going to be at different rates at different times.

If we can take an image from my PC here, I want to show you a map; this is the United States. The dots you see are meter-accurate dots. I gave the street addresses for every school in the United States to Etak. Sony now owns Etak. And they gave me back six decimal points of latitude and longitude, meter accurate.

So each dot there is a school, about 130,000-140,000. Official listings show maybe 10,000 or 20,000 fewer, but I include anything that's got ten kids in a room­­the Baptist schools, the Hebrew schools, the Chinese language schools, the prison schools, all of those entities that often don't make the full lists. Now those dots are red to indicate the state-of-the-network connectivity five or six years ago. Not much.

Last year, almost exactly a year ago­it took an embarrassingly long time one weekend to write some scripts, drawing from that database of school addresses­I made 12,000 Web pages for the schools in California, and then put up at a site called netday.org, the school home pages, and said, ``You want to help your school? Don't call me, go to the home page for your kid's school; where you went to school; some place that you feel strongly about and sign up. And as things go along, check it out.'' If other people sign up, more than two or three people sign up, and if somebody who is not a software person, but actually knows what category five wire is, and knows what a ladder is, and a drill is, is on the list, you have the makings of a successful Saturday morning in wiring a school.

This shows the result. Schools that are green are schools with interior wiring and the blue show network connectivity. Note Utah by state policy has every school in the state on the Net. So in California you see 100,000 people organized themselves using the Web, found themselves on web pages, noticed somebody from Rockwell, or from PacBell, or from Lockheed, or from IBM who knew how to wire things, they'd buy a wiring kit­$350 gets 2,000 feet of cable­and they'd go to the school. There are 4,000 green dots there all of a sudden. So fifty other states got worked up about this and said we can do this­we'll organize ourselves.

There are about 5,000 more schools that were wired during the summer. At the end of last October, over fifty states had volunteers, sometimes arriving at a school and asking the principal to just move over a little bit, because sometimes schools worry when engineers arrive with drills­God knows what parents with drills could do. So sometimes there was a little resistance. But once schools realize this is the technical community coming home and helping, well this is what happened by the end of October. Looks good! [applause]

Now Connecticut did 80% of their schools and libraries in one day. In North Carolina the National Guard airlifted wiring kits into the rural schools. It was easy with politicians: cute kids, high tech, economic development, totally local, no government money. So we had something like forty governors, forty senators out wiring. The United States is the only country, and this is a challenge to everyone else, where the President of the United States and the Vice President of the United States are certified category­five wire installers! So they put it in and we tested it and it worked. So we said. ``You'll always have a job!'' [laughter]

Now this map is in fact a lie because I write out all the red dots first. And then I write the blue and the green out on top, so it looks dense. If I wrote them out in the opposite order, it would turn red again, because half the schools don't have anything. It's particularly apparent in the dense urban regions. Utah stays green. Good for Utah. North Carolina, Florida, 60% of the schools done in one day. Remarkable organization.

I'm showing you this because we're going to do it again April 19th. Not a big deal. So call the school you care about and say, ``Hi, what are you doing April 19th for Net Day?'' There are some other days. Massachusetts, I think, is the week before. Some areas of Silicon Valley are the week after. Just call the elementary school and say, ``What are you doing to wire the school on Net Day? You know the wiring kit wire costs a nickel a foot, let's go do it!''

So even though we are software people, we have an obligation to carry the power that Java brings across the Net somehow, wire, wireless; sooner or later wireless will be cheap enough. And this is now happening in forty countries. So a way to find out what's going on is to simply go to the web site: netday.org. You can zoom down to your house, because the maps lying behind this are meter accurate. These are all in-car driving maps that were merged with GPS, so your car will speak to you and say, ``Turn left; no, not there, you idiot, the next left, your other left.''

Now I want to show you something else that I typed in as I was sitting here on the stage. This is the ribbon list. [Gage reads names from his list.] This is a startling list. I've been told if you sum across all languages, we have 500 Java books

Now, since I didn't get to everybody, and not everyone got a ribbon that was signed by Joy and the little awkward dot that Gosling can now make, having typed too much on keyboards. What we're going to do, I'll give you the web address where you're going to mail your claim for your fully signed ribbon. What you do is go to the java.sun.com site and look for a button. What does the button say? It says ``ribbon.'' Easy. So that's one.

That's also where you're going to find all the materials from this conference: annotations, all the slides you've seen, the transcripts, and any questions, anything more that you want to know about JavaOneSM as we know and love it, this time, if we can survive through this afternoon; And then the upcoming one. Did you like the addition of more technical tracks? I'll answer that for you. I came in here at 5:00 last night and there were 4,000 people in a technical session. That means we need more, and more, and in more depth! So send us mail.

I think what we'll do at the same site is have another button for feedback. So rather than email, hit the Feedback button, it will bring up an email, and you can send us everything you think should be changed, should be added to, should be extended, and any other ideas you have.

Now I want to show you a picture of what came up on the front page of USA Today. My God, who would have thought it? There we are. There's Java, USA Today. It shows McNealy standing up there. ``Java is percolating promise.'' But they didn't get the real story. There's Scott holding up a smartcard. Now I heard him say, and I think you all did too, that he promises that at the next JavaOne conference, every person here will receive a computing device capable of running Java. Didn't you hear him say that? Yeah, I think he said that. So that's what he's saying right there. And that's what we're going to do. We came close this time. I'm hoping that in the enormous competition by all those people making VMs run, we're going to get devices more computationally powerful than a smartcard that we can give you all next time. You're all coming next time? Do I hear you, do I hear any response? [applause]

Of course, all information about next year will be at the Java web site, all the boot camps, and the training sessions. We'll put up another category of ribbon. Remember I gave ribbons away for teachers. If you come up after this, we have the teacher ribbons over here. You have to leave something to tell us who you are. This time I won't scramble them all. I've got people scrambled in four different sets. We've got the Java author ribbons here; and the few remaining VM port ribbons are here; the few remaining ActiveXTM bug-I-fell-into-one-oh-no ribbons are over here.

And now, what are we going to tell you to do for this next time? You learned a lot. All right, so now what do you do? Remember the rule: ``each one teach one.'' Simple, not much to do. Find somebody that is now far behind you in Java knowledge. You spent a lot of time learning things. Take a bit of time to tell them, not a lot, just some. Find a kid and get them started, because they're the ones that are going to eclipse us.

So, thank you all for coming. It's my last chance to say this: let's rejoin next year. Thanks very much.

Return to top

Return to Keynotes