I first read about Jini last summer in an article in the San Jose Mercury News. In the year since then, I've struggled not only to come up to speed on the technology, but also to understand its implications. Fortunately, I've had the opportunity to collect insights from many of the people at Sun who shaped the technology. In this article, I'll tell you what I learned, based mainly on my discussion about Jini with Bill Joy at the recent Jini Community Summit and on my interview with James Gosling prior to the 1999 JavaOne Developer Conference.
Another hardware revolution on the horizon?
On May 19, I flew to Aspen, CO, to attend the first Jini Community Summit. I went to Aspen to learn more about Jini, to see what other people are doing with it, and to attempt to figure out what the Jini community is all about. The first person I met was Torin Sarasas, with whom I had agreed over e-mail to share the expenses of a hotel room. At 6:30 that evening, Torin and I walked over to the community center for an informal cocktail reception. Being rather hungry, I dragged Torin over to a table of cheese, crackers, and vegetables, where I filled up a plate. Then we set out to mingle.
We wandered from group to group, mingling with people and conversing on a variety of topics. One topic that seemed to come up again and again was the rumor that a wireless network of some kind blanketed all of Aspen. I had heard this somewhere before, but I didn't know any details. No one in the groups I landed in seemed to know anything concrete either, but at one point I looked over and recognized somebody who probably would know. "Hey, that's Bill Joy over there," I said to Torin, who said, "Wow." Both Torin and I have always held the utmost respect for Joy because of the high caliber of his technical creations. For a few moments, we both stood and looked at him in awe. Then we rejoined the conversation of our group of people.
Joy was also in a mingling mood, and before long he walked over to our little circle of people. He didn't seem to know anyone in our group, so to get the conversation going, I asked him about the Aspen wireless network rumor. He confirmed the network's existence, informing us that it in fact reaches all the way down to the border of Utah. Even though the wireless network covers about 100 square miles, he told us, it actually consists of a single class C Ethernet network. Joy added that the wireless network works very well, and predicted that every major city will have something like it by 2007. So the rumor was true.
Later that evening, a Jini Community Summit attendee informed me he had checked his e-mail on a small device connected to the Internet via this wireless network. I walked outside onto the patio and located the device and its owner. The gadget in question, which was sitting in the middle of a table on the patio, was a small PC with a tiny keyboard, a tiny screen, and what appeared to be a PCMCIA network card sticking out of its side. I was granted permission to use it, so I leaned over this small PC, fired up telnet to connect to my ISP, ran pine, and read and replied to my e-mail.
Chips and bandwidth
As I worked through my e-mail on the small device, I had a strong sense that my simple act offered a glimpse of things to come. Two emerging hardware trends were to some extent already represented on that patio: the proliferation of small embedded devices -- anything with a microprocessor embedded in it that has a relatively focused functionality -- and the proliferation of high-speed, ubiquitous networks. I was impressed by two things as I checked my e-mail that day: the speed of Aspen's wireless Internet connection, and the complete lack of any wires or cords leading to the PC on the table. The device didn't contain a power cord or network cable. Checking my e-mail involved only me, the device, the electromagnetic spectrum, and a nice view of the mountains.
Examples of embedded devices include cell phones, microwave ovens, VCRs, pagers, clocks, and printers. Although a PC contains an embedded microprocessor, it isn't usually considered an embedded device because it doesn't have a focused functionality. Rather, a PC is a general platform suitable for running many kinds of software. A microprocessor-enhanced typewriter is an embedded device, focused on the job of typing. A PC running a word processor can serve the same purpose as the typewriter, but the PC doesn't qualify as an embedded device because that same PC could be used to run a spreadsheet, surf the Web, or play solitaire.
System on a chip
The proliferation of embedded devices is being driven by the decreasing costs of adding processing power to devices, which is a result of increasing the functionality of the chips -- or chip -- embedded in a system. The morning following the cocktail reception, Bill Joy gave a presentation called "The Jini Vision." During this presentation, Joy said that the personal computer revolution was spawned when Steve Wozniak, cofounder of Apple, fit everything for a computer onto a single motherboard. The single-motherboard computer, a simple but fundamental change in the hardware status quo, made it less expensive to build computers. These days, Joy continued, entire computers can be placed onto a single chip, which he called "systems on a chip." Putting an entire device on a chip, he said, makes the device cheap and reliable. At that point a fellow sitting in the audience, Bruce Christopher, mentioned that his company, a startup called JCan, is doing exactly what Bill Joy was describing. JCan is developing a chip based on Sun's picoJava core that will include the Java and Jini APIs on the chip. Christopher said he hopes to get the cost of his chip, which he called a "silicon motherboard," down to 0 in five years.
As both the cost and size of computers continue to decrease, it becomes cost-effective to include processors in more and more kinds of products. To add value to their products, manufacturers will be enhancing them with embedded processors. In the coming years, this trend will yield an explosion of embedded devices.
Connecting to high-speed networks
The other trend underway in the hardware world is the proliferation of high-speed networks. Companies are basically tripping over themselves to build this infrastructure, spending billions of dollars along the way. High-speed backbones are being built. High-bandwidth pipes are being sent into homes. Wireless networks are being developed. Increasingly over the next decade, the network will be fast, and the network will be everywhere.
The current trends in the hardware world point to a future in which more and more devices that we use every day will be enhanced with embedded processors and interconnected via networks. Over time, our environment will become "smarter," and this promises to bring profound changes in how we do things at work, at home, and everywhere else.
The disappearing computer
One way to describe the coming trends in hardware, a concept that came up a few times at the Jini Community Summit, is the disappearing computer. According to Richard Gabriel, the Summit's emcee, if you look in the 1898 Sears & Roebuck catalog, you can find something called a home motor. In those days, you could buy a general-purpose motor, bring it home, and hook it up to anything that needed turning. Nowadays, consumers aren't inclined to purchase general-purpose motors for the home, and the home motors they do purchase aren't usually thought of as motors. When you purchase a fan for your home, for example, you purchase a motor, but the motor is an integral part of the fan. The motor's sole purpose is to turn the fan. Motors also reside in the home as part of heating systems, refrigerators, dishwashers, washing machines, clothes dryers, hair dryers, lawn mowers, and so on. You can think of all these motors as embedded motors -- motors that are part of devices or machines focused on specific tasks. As motors became smaller and cheaper, the general-purpose home motor, as advertised in the Sears catalog, disappeared into a proliferation of motor-enhanced devices and machines with focused functionalities.
Today, you can go to Sears and buy a general-purpose home computer. But like the motor, the computer may be destined to disappear, over time, into devices and machines with more focused functionalities. Today, motors surround us, but we don't often think about them individually. We think more in terms of the devices and machines in which the motors are embedded. In the coming years, computers will increasingly surround us as embedded devices, but we'll think of them as computers less and less. As computers become embedded inside the things we use every day, they will "disappear" from view.
During his presentation, Bill Joy claimed PCs have four basic types of application: "spreadsheets and word processors and spreadsheets and word processors." In other words, as Joy put it, the only kinds of applications desktop computers are really suited for are spreadsheets and word processors. But, as he pointed out, most people don't do word processing or spreadsheets. "Web and e-mail is what people care about when they turn the machine on," he said. As a result, Joy claimed, "Many people would prefer a simple machine that is more communications-oriented."
The demise of the desktop
At one point in our conversation at the cocktail reception, Bill Joy pulled out his cell phone and began imagining aloud how he would want to do computing in the coming world of embedded devices and ubiquitous networks. He described a flat-panel display currently being manufactured that can be folded or rolled like paper. He said that in the future when he needed to do some work, he'd set down his "handset" (represented by the cell phone), and roll out his flat-panel display. The handset would have a wireless connection to the Internet and a wireless connection to the display. "Forget the desktop," Joy said.
Although Joy's main thrust was predicting the demise of the desktop, what really struck me about this part of our conversation was the foldable display device that he described. It occurred to me that you could think about this device in two ways: as a flat-panel display able to be folded and curled up like a piece of paper, or as "smart paper." I felt this was an excellent example of how computers will be disappearing into devices we use every day, often in surprising ways. It had never before occurred to me that such a ubiquitous entity as paper could become an embedded device.
Jini: A software infrastructure for the hardware revolution
The first talk about Jini I ever heard was given by Jim Waldo, Sun's enthusiastic chief Jini architect, at a Java users group meeting in New York last December. Waldo started his talk by claiming that Jini was not an attempt to wrap existing operating systems, but was an attempt to "change fundamentally the architecture of computing systems." While everyone is in a frenzy about the Internet these days, he noted that the Net itself doesn't represent the fundamental change that's coursing through computing. "The Internet is a symptom of what's really going on," Waldo said. "What's really going on," he continued, "is a switch in the way we think about computers: The network is becoming a central part of what we think of as a computer ... Computers have stopped being computing devices and have started being communication devices."
Waldo then described how in a fit of nerdy enthusiasm one Saturday afternoon, he took a screwdriver to his microwave oven to see what kind of processor was inside. "I know," he said, "I should go down to the video store and rent a life." Embedded in the guts of his microwave oven, Waldo discovered a Motorola 68000 processor, which happened to be the kind of processor used by his very first Sun workstation. It occurred to him at that point that, "I could run V7 Unix on my microwave oven!" Microwave ovens are computers, he told the audience, but "we don't usually think of microwave ovens as computers, because they lack one of the three parts we've traditionally thought of as making up a computer ... a CPU, some memory, and a disk." The microwave oven has a CPU and some memory, but no disk.
Waldo then went on to describe three common assumptions about software in the traditional, disk-centric world:
- Our software assumes it will always have local storage
- There is an intimate connection between CPU and disk
- There is a tight binding between code and the processor
"Since disk drives keep getting bigger," Waldo claimed, "we put all our software on the disk." To demonstrate what he meant by "big," he said that the estimated size of the software required for President Reagan's Star Wars missile defense system was 30 million lines of code. The size of Microsoft's current Windows operating system is 45 to 60 million lines of code. "Solaris isn't that much better," Waldo added. "It is smaller, but not much smaller."
According to Waldo, one of the reasons the Star Wars project was cancelled was due to the belief that it was impossible for human beings to create a 30-million-line program that worked reliably. "Admittedly," he said, "the blue screen of death doesn't fire lasers at you."