This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
<pre>Author/s : C Bala Kumar, Paul J. Kline, Timothy J. Thompson Publisher : Morgan Kaufmann Category :Miscellaneous Java Review by : Lasse Koskela Rating : 9 horseshoes</pre> My prior knowledge about Bluetooth can be described with one word superficial. Therefore, I hail the authors for making a brave move. The book is not just an introduction to the Bluetooth Java APIs but also an introduction to the whole Bluetooth architecture and terminology. The fact that a lot of space is used to explain the underlying protocols specified in the Bluetooth specification can be both a godsend and a sleeping pill. For me, it was a godsend. The book starts with a brief overview to what Bluetooth is as a technology. Then, JABWT (Java API for Bluetooth Wireless Technology) and how is it positioned in the field of various J2ME technologies is explained to set the architectural vision into the reader's mind. This section of the book is a very pleasant read, giving out just the right amount of information. Next, the authors continue by tackling each main acronym one at a time using a recurring pattern: introduce technology, introduce API, illustrate with snippets of sample code. This section covers approximately half of the length of the book and can be labeled "the meat". Some portions, such as the chapters about service records, are slightly too detailed for my liking (as someone new to the whole Bluetooth scene), but mostly, the content is straightforward and easy to grasp. After having discussed all the big things in Bluetooth for Java, two sample applications are introduced. The full source code for examples throughout the middle chapters has been included as appendices for the reader's comfort. Also, the Bluetooth APIs have been included as appendices, which I personally would've left out but also don t mind having it there. Finally, the book contains one chapter that seems somewhat displaced, providing guidance for implementing/porting the JABWT on a device. As a closing remark, I feel that this book is a wonderful piece of work and well worth reading for developers new to Bluetooth technology and the related Java APIs. Its approach suited me perfectly.