avaJe XE 1.0 (recently renamed SavaJe OS) is an operating system designed for mobile devices, in particular the Pocket PC-based Compaq iPAQ. The thing that makes SavaJe noteworthy is that it is the only small footprint OS that claims to be able to support the standard edition of the Java 2 JDK. In other words, SavaJe's promise lies in its ability to run full J2SE applications in a handheld device, and saving developers the added step of porting their applications to support the J2ME, the Java environment that is optimized for small devices, although SavaJe does also support the full complement of APIs for the J2ME.
|In virtual mode, the full scope of the application interface is visible via scroll buttons; the device screen essentially acts as a movable window overlay.|
of SavaJe have been positive, but I wanted to really dig below the surface and find out, not just if the product was what it claimed, but how useful it really is in a real world scenario. One issue that seems particularly cogent is to test how SavaJe compensates for constrained interfaces. The amount of available real estate on a device screen is perhaps the most significant point of differentiation between a desktop application and a wireless application. It is not possible to migrate desktop applications to wireless devices without considering the special requirements of the screen size. How well SavaJe's engineers have accounted for this issue will help determine whether the product can be reliably deployed to run J2SE applications originally designed for the desktop. My tests are targeted to recognize such issues.
I will study the GUI-related classes of both AWT (Abstract Windowing Toolkit) and JFC (Java Foundation Classes) and also test the Java networking-related classes. I tested SavaJe XE 1.0 on a Compaq iPAQ 3650 Pocket PC. SavaJe currently only supports 3600, 3700, and 3800 series iPAQs. The company hopes to expand its hardware support soon.
|Implementing AWT and JFC with the same look and feel helps keep the product small and efficient.|
The SavaJe OS offers two screen modesnormal and virtual. Both modes show the GUI components in their original sizes. The normal mode will modify the original application, clip off all the portions of a GUI that it cannot display, and show only the portions that can fit in the real estate of the device screen. The virtual screen is the actual screen size of the original application. In virtual mode, the full scope of the application interface is visible via scroll buttons; the device screen essentially acts as a movable window overlay. For each of our demo apps, we tested the GUI behavior of the product in both modes.