Sweat the Little Things
My company has been doing Java development on PDAs since 1997 using virtually every Java-capable platform including the popular Compaq iPaq and now the Sharp Zaurus SL-5500. The Zaurus SL-5500 is the first PDA we have seen to date that ships with Java tightly integrated from the factory. This integration lets developers build seamless Java solutions within the framework of the PDA.
|Figure 1. Classic AWT: Though this interface may take you back to the early days of AWT, it is an example of a 'finger friendly' application.|
Little things make a big difference when it comes to providing a good user experience. One example is application switching. In every Java PDA we saw prior to the Zaurus, switching between applications was extremely inconvenient. For example, on the iPaq when a Java application looses focus, returning focus is not a simple one-tap operation. Returning focus to a Java app on an iPaq requires seven taps: Start | Settings | System | Memory | Running Programs | <desired app> | Activate.
A similar scenario is true when running Java apps on a Psion netBook or netPad running the Symbian OS, aka EPOC32. On the Psion however, getting the app back in focus requires only three taps System | <desired app> | Go to file
because the system option is always visible.
The app-switching exercise is annoying, however an even more egregious oversight in these environments is that there is no readily visible indication that the Java app is running in the background when it loses focus. This problem is magnified because nearly every button push on a PDA will launch a new application, and thus causes a focus change.
In the line of duty, PDAs are stuffed into bags, tossed on airplane and car seats, sat on, and dropped, so it is virtually impossible to prevent the occurrence of accidental button pushes (remember this when designing your PDA applications). In one Java GPS mapping application we implemented, even after significant training, users were still starting multiple copies of the app when it lost focus. This was very problematic as the application was using the PDA serial port to read the GPS receiver, causing the all instances of the app after the first to fail when they attempted to access the serial port.
The Zaurus eliminates both of the previously mentioned problems because Java apps behave exactly like any other app. The Zaurus uses the Qtopia application environment. When a Java app is launched within the Qtopia environment, an icon is placed on the taskbar just as with any non-Java application.
This behavior is not rocket science, and it is exactly what I expected to see on PDAs years ago. Sharp, however, is the first company I have seen that managed to integrate it on a PDA. WinCE on the H/PC has this feature, but the H/PC is a different class of device than a PDA. Neither Palm4 (obviously since it is single tasking), nor PocketPC 2002 have this feature. Figure 1 shows a Zaurus with three apps running, including the Java app currently in focus. All apps have an icon on the taskbar allowing the user to switch between them by simply tapping on the icon. Should you start a Java application that is already running, the Zaurus will simply bring the running application into focus.