The Spotless System:
Implementing a Java(TM) System for the Palm Connected Organizer
Antero Taivalsaari, Bill Bush, Doug Simon
Introduction by Antero Taivalsaari and Bill Bush
What is this project all about?
The Spotless project developed a small-footprint Java(TM) Virtual
Machine that later became the K Virtual Machine (KVM) product. The KVM is a key component of
Java(TM) 2 Micro Edition (J2ME), a popular implementation of the
Java(TM) programming language targeted specifically at small mass-market
consumer devices such as cell phones, two-way pagers, and PDAs. It has been estimated that more
than 100 million J2ME devices will ship worldwide in 2002, and more than 200 million in 2003.
Why/how is it significant to the field of research or to the particular technology it
describes?
The Spotless system demonstrated that it was possible to build a Java runtime environment that
was significantly smaller (by an order of magnitude) than the mainstream Java runtime environments
of its time (1998). Demonstrating this was critical in convincing major consumer device
manufacturers such as Motorola and Nokia to install the Java platform in their cell phones.
To which of Sun's products or technologies did it contribute?
- K Virtual Machine (KVM)
- Java(TM) 2 Micro Edition (J2ME)
If the paper is a milestone in an ongoing project, what do you envision as a possible future
effect of the technology described?
KVM and related technologies will be used in hundreds of millions of wireless devices all around
the world. The presence of the Java platform in such devices is likely to fundamentally alter
their nature from static, voice-oriented devices to extensible, software-driven platforms that can
support dynamically downloaded software and services.
HOW IT ALL BEGAN - by Bill Bush
The project got started when Antero came into my office one day to tell me about the Rex pocket organizer by Rolodex. It was the size of a credit card. We got to talking about how cool it would be to have Java on it, and how it wouldn't be that hard to do. Right then we went to Neil Wilhelm, our boss, who said fine, just put it on a Palm Pilot first, because Pilots were easy to develop for and many people had them (so demos would be easy). It took maybe half an hour to start the project. That was early 1998.
In May of 1998 we showed Spotless at the Sun Labs Open House, open to all Sun employees. In the program, we advertised that we'd put Spotless on any Palms that people brought in. I figured we'd get maybe five or ten adventurous customers. Both Antero and I spent the entire three hours stuffing Spotless onto Palms. The final count of installations was over a hundred. It was a phenomenon. Significantly, at the Open House, we also met the product people who ultimately adopted Spotless.
In August of 1998 several of us working on small Java implementations met with Mark VandenBrink of Motorola, who wanted to put Java on a pager for a demo at JavaOneSM. We showed him Spotless on the Pilot, and he said he'd been waiting two years for it. He was our first real customer.
The KVM (Spotless renamed) was announced at the 1999 JavaOneSM. To promote it, Sun sold at cost, to all conference attendees, Palm Vs loaded with the KVM. We had about six weeks to make the VM reliable and write some semi-interesting applications for it, which was intense, because mistakes would be really visible. It was manageable, though, because by then a product team was starting to form, so there were five or ten of us working on the JavaOne artifacts. JavaOne itself was another phenomenon, like the Open House. People were captivated by the concept, and the reality, of Java in the palm of their hand.
REFERENCE:
The best reference is the J2ME book that was published in May this year:- Roger Riggs, Antero Taivalsaari, Mark VandenBrink, Programming Wireless Devices with the Java(TM) 2 Platform, Micro Edition. Addison-Wesley (Java Series), 2001. ISBN 0-201-74627-1.
