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 BlackBerry 5810 builds considerably on the capabilities of early two-way wireless messaging devices. The 5810 boasts lots of 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 from http://www.blackberry.net .
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 e-mail 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 dial-up range (approximately 19Kbps).
The system runs on a 32-bit processor, backed by 8MB of flash memory and 1MB of battery-powered RAM. RIM employs a modified JVM (Java virtual machine) that's optimized for its environment. It doesn't run Java bytecode directly, making RIM's specialized Java IDE (integrated development environment) necessary. RIM's Java SDK (software developer's kit) 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 takes care of 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 of 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 will feel lost: no pointing device, one-bit graphics, and a strange assortment of interface components. On the plus side, the foreground application gets complete control of the 5810's QWERTY keyboard and trackwheel. 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.

Sign up to receive InfoWorld Resource Alerts
