A contagious disease that results in oddly colored teeth? A South Seas pirate with a penchant for eating toxic sea food? Or perhaps a superhero with really unhelpful superpowers?
If you answered yes to any of these questions, chances are you've had your Java blinkers on and haven't been paying attention to the rest of the industry. Bluetooth, despite its interesting name (Bluetooth being another name for the Danish king Harald Blåtand, who unified his kingdoms in Norway and Denmark), is a specification intended to provide low-cost, wireless connections between all sorts of devices separated by about 10 meters. A number of high-profile companies are involved in the specification including 3Com, Ericsson, IBM, Agere, Intel, Motorola, Nokia, Microsoft, and Toshiba. The members of the Bluetooth Special Interest Group (SIG) are, at the time of this writing, the nine aforementioned promoter companies, 187 associate companies, and 1,305 early adopter companies of version 1.2.
Here's where it gets interesting. If you've been reading the technology news recently, you may have noticed that the general manager of Intel's Communications Group rather vocally announced that Bluetooth had "already lost the battle to become the wireless network standard" to IEEE 802.11. 802.11b is a full LAN connectivity solution utilizing the same frequency range as Bluetooth, but using different types of spread spectrum technology that's designed to provide network services at Ethernet data rates (whereas Bluetooth is limited to 1Mbps).
So, depending upon whom you decide to believe, either 802.11 has eliminated Bluetooth's chances for world domination, or the two technologies have enough differences that they will eventually find their own place in separate markets.
Let's put aside speculation as to whether Bluetooth or 802.11 will be the choice of the new generation, and imagine a device with enough broadcasting power to beam messages to Mars and change channels on the TV...from the other side of the moon, all without using more than a AAA battery.
Zucotto's Bluetooth Edition of its WHITEboard SDK, with XJB Bluetooth Host Protocol Stack, does none of those things. However, Zucotto's Bluetooth Stack is written entirely in Java; it implements the host portion of the Bluetooth specification and supports the serial port, generic access, and service discovery application profiles. Which doesn't really compare to being able to signal the mothership from across the solar system, but if you're developing Bluetooth-based applications, you might not be too bothered by this.
Exactly what is the Bluetooth WHITEboard SDK? Figure 1 shows the hardware component of the package - two small Class 2 Bluetooth communications boards with radio, baseband, and antenna (and with a power supply and serial cable for each one). According to the Zucotto documentation, each board complies with version 1.1 of the Bluetooth spec and supports one active connection at a time. Also supplied is a Developer's Guide, a Reference Guide, and a CD with the WHITEboard software, which is essentially a Device Editor (used to create simulated device skins), a Device Emulator (with a Motorola phone "skin"), a PNG Painter, and finally the WHITEboard Integrated Development Environment (based upon the NetBeans IDE). Figure 2 shows the IDE in action.
Luckily for your average "not-enough-hours-in-the-day JDJ editor," the software kit also comes with various demonstration MIDlets. Which means it's not too painful to plug the bits and pieces together and get something up and running. Figures 3-5 show screenshots of the ChatServer and ChatClient MIDlets in action. In practical terms, copies of the Device Emulator are running on two laptops, with the communication boards plugged into the serial port of each machine.
Figure 3 shows the ChatClient MIDlet running on one laptop as it connects to the server MIDlet. Figure 4 shows the server after it has received a message and has replied, and Figure 5 shows the receipt of that message.
Problems and Successes
The only problems I experienced with the dev kit were a difficulty running the IDE (after installing JDK 1.4, go figure) and a temporary glitch with one of the comms boards (which fixed itself after being powered off, and never reoccurred). Apart from that, the demo programs started up first time without any hitches, and without any need to diagnose obscure faults in equipment that you don't really understand the intricacies of - sighs of relief all around! The code for the sample applications is included (and fairly well commented), which is exceedingly useful if you're a beginner to the world of funnily colored teeth.
The SDK comes with a fairly hefty price tag, $2,995. Not for your average bedroom coder on a budget. But if you have a product you're going to aim at the Bluetooth market, then a kit like this - to support your development efforts - is probably essential. An educational version of the kit is available at a lower price.
The experience for me, coming from a background that admittedly hasn't generally included Bluetooth devices, was a positive one.
For an overview of the kit visit www.zucotto.com/whiteboard/blue_index.html. For more details on the Developer's Guide visit www.zucotto.com/whiteboard/downloads/WB_SDK_2-0BT.pdf, or simply contact [email protected].
Zucotto Wireless Inc.
4225 Executive Square,
La Jolla, CA 92037
Fax: 858 777-1323
E-mail: [email protected]
Jason Briggs works as a Java analyst
programmer in London. He's been officially
developing in Java for three years
- unofficially for just over four.