Wizard API updated!
Tim Boudreau has released a new version of the Swing Wizard library (version 0.997) that fixes the WizardException bug reported in JavaWorld's recent Open Source Java Project profile. The article's examples have been reworked to test out the new, improved WizardException. Thanks, Tim, for this helpful fix!
Open Source Java Projects: The Wizard API

Newsletter sign-up

Sign up for our technology specific newsletters.

Enterprise Java
View all newsletters

Email Address:

Shirt-pocket Java: BlackBerry Java SDK

RIM brings Java development to the BlackBerry 5810 wireless handheld

Three years ago, when we first tested a two-way pager, we didn't notice its squinty display and cramped keyboard. Instead, we saw a tiny, battery-powered, programmable system with a built-in wireless modem. The potential for custom client/server applications seemed enormous despite the device's miniscule memory and low data transfer rate.

The Research In Motion (RIM) BlackBerry 5810 builds considerably on the capabilities of early two-way wireless messaging devices. The 5810 boasts numerous technical advantages over pagers and RIM's other products, and as a programmable device, it distinguishes itself primarily by running Java. RIM encourages custom development for the 5810 by offering its JDE (Java development environment), including a respectable Java editor/debugger and an accurate hardware simulator, free for download.

The combination of RIM's JDE with the 5810's Internet connectivity creates possibilities that can't be matched by notebooks or cell phones. The full keyboard, large (for a handheld) display, and mobile-tuned Java class libraries enable not only messaging but also sales automation, delivery tracking, database retrieval, and a host of other applications.

What's inside

As are RIM's previous handhelds, the 5810 is primarily a wireless email client. This latest unit doubles as a cellular phone—on the AT&T Wireless and VoiceStream GSM (Global System for Mobile communications) networks—and the 5810's modem uses the AT&T-VoiceStream GPRS (General Packet Radio Service). GPRS simulates a constant network connection with typical data transfer speeds in the low dialup range (approximately 19 Kbps).

The system runs on a 32-bit processor, backed by 8 MB of flash memory and 1 MB of battery-powered RAM. RIM employs a modified JVM that's optimized for its environment. It doesn't run Java bytecode directly, making RIM's specialized Java IDE necessary. RIM's Java SDK also includes command-line tools for converting Java classes to 5810-compatible binary files and for downloading applications to the device. RIM's Java IDE peforms the conversion and download automatically.

Within the lines

Java programs are by nature compact, but most Java programmers aren't used to working in the tight quarters imposed by an embedded system. RIM's documentation does an excellent job describing common Java programming inefficiencies, such as leaving unused resources lying around—some garbage is never collected—and using 64-bit integers when 32-bit integers would do.

Perhaps the biggest shock in moving from a full JVM to RIM's embedded environment is the 5810's limited user interface. Developers spoiled by the colorful, pixel-hungry Swing GUI (graphical user interface) will feel lost: no pointing device, 1-bit graphics, and a strange assortment of interface components. On the plus side, the foreground application gets complete control of the 5810's keyboard and track wheel. A text-intensive application, such as a mortgage or insurance claim questionnaire, is workable on the 5810 whereas it would be close to impossible on a Palm, Pocket PC, or keyboardless smart phone.

1 | 2 |  Next >

For more enterprise computing news, visit InfoWorld. Story copyright InfoWorld Media Group, Inc.

Resources