Back in 2001, when I first spotted SavaJe (see Holy handheld, Batman! They put Java where!?), I was rather stunned by what the small startup had done. Today, nearly five years later, I'm equally stunned that the company appears to still be struggling to get it right.
If you swap the "J" and the "S" in "SavaJe," what do you get? Java SE, otherwise known as Java, Standard Edition or more commonly referred to as J2SE. J2SE lives at the heart of both the client (desktop, notebook) and server (Java, Enterprise Edition) versions of Java. So, what did SavaJe do back in 2001? They took a Compaq iPaq (yeah, a 2001-class old slow first generation Pocket PC device), wiped it clean of the PocketPC OS, and replaced it with Lucent's far more compact and elegant Inferno kernel (Inferno reminds me of the sort of engineering that used to come out of DEC), and then installed J2SE (well, most of it) on top of that. You have to remember that one of the top complaints about J2SE back in 2001 was how slow it was. So, to me, the idea of putting J2SE in a handheld was simply ludicrous. But SavaJe proved me wrong. Not only did the company put J2SE in a handheld, it designed a bunch of Java-based Palm-like applications (contact management, calendar, etc.) and even some moving 3D-graphics demos that no one would ever dream of trying on a handheld (much less on a J2SE-based handheld) to prove that a Java-based handheld could be built without sacrificing peformance.
For me, the lightbulbs went off immediately. SavaJe's feat of engineering is what inspired me to predict, in the face of Microsoft's PocketPC, that the PalmOS was not long-lived for this world (a prediction that is coming true) and that if the Palm operating system guys (eventually, PalmSource) wanted to tap a much more vibrant and growing ecosystem of developers (critical to the success and longevity of any platform) that it had to turn the PalmOS into more of a pure Java OS (which is pretty much what Research in Motion did with it's operating system back in 2002. Smart fellows, those Canadiens). In June 2003, I wrote:
Almost two years ago , I suggested to PalmSource CEO David Nagel that he resolve this problem by going to a pure Java platform rather than continuing to evolve the old Palm OS. At the very least, Palm should be doing everything possible to make any Palm-based device the best handheld for running mobile Java applications (whether Java is the native OS or just a virtual machine).
When I first made that suggestion to Nagel, I spoke of the work SavaJe had done and suggested that he contact them. Over the years, the various instantiations and carveouts of Palm (Palm Inc., PalmSource, PalmOne, etc. etc.) dallied in Java, but never was it adopted as new religion. Today, between Palm's addition of Windows Mobile to its list of supported operating systems (see Treo surfaces with Windows Mobile: PalmOS R.I.P.) and the buyout of PalmSource by a Japanese outfit, the PalmOS has just been moved further into oblivion. Just a few more nails in the coffin, and it will be over (much to the chagrin of the many die-hard PalmOS users who still love the OS).
So, why all the tribal storytelling? SavaJe was one of those companies and ideas that I loved because to me, when everyone else was saying it couldn't be done, they were the like the little engine that could. And I always love it when the underdog proves everybody wrong. So, it was with great disappointment that I read this review of SavaJe's latest innovation by Sun's director of Web technologies Tim Bray. Said Bray (see the very appropriately headlined SavaJe Shakedown):
At Java One, I purchased the “conference gadget”, a SavaJe Jasper S20. Since it supports most of Java SE, I thought I’d check out whether a competent Java developer who knows nothing about mobile issues could make it do anything interesting....the software development pack runs only on Windows. It’s got a camera and shoots video, but when I plugged the USB into my Mac, the Mac said “unable to use that disk” and then crashed a few seconds later.....the phone’s preferences menus are lame and limited, so on the screen, I can’t keep the network operator name from over-writing the Date/Time display....SavaJe might turn out to be a good idea, but they’re doing their best to cover that up.
The story gets worse which had to be a bitter pill for Bray to swallow. Here's a guy who works for Sun, who is very much pro-Java, and who probably would prefer to write something positive about a device that represents so much hope for mobilized J2SE and Sun, but who couldn't find anything positive to say about it. So you know when someone like Bray can't find anything overtly positive to say, it has to be pretty bad. Bray eventually updated his review with feedback from SavaJe that the company is aware of the various issues and is addressing them. As much as I've always loved SavaJe, this state of affairs, after more than five years, is unforgiveable.