So this book started well, with lots of sensible thoughts like making all the source code available for download to avoid long listings in the book itself. Although as I read through there still seemed to be a fair amount of code (e.g. p109 -113 is all code) but presumably this was still only the "critical" bits of code needed to understand thte points being made. Generally I thought the first three chapters of the book were very strong - the description of CDC, CLDC and MIDP left me feeling more certain about what they actually are:
CDC and CLDC are "configurations" which means JVMs with some basic APIs
MIDP is a "profile" which is additional APIs which will work on top of a "configuration"
Chapter two was particularly interesting, focusing as it did on the different types of PDA available, comparison of prices, relative market shares, and performance specifications for different PDA/Java combinations. Although naturally this look at the current market will date most quickly, it provides an interesting insight into PDA trends in this period. Overall the book gives a strong impression of having been written by a single developer (which it has) who has a lot of hands on experience with Java on PDAs, and thus has a lot of relevant advice to give. This is exemplified in Chapter three where we are taken through a selection of open source and cheap development toolkits, as well as the process of setting these all up to get started developing on the PDA.
Unfortunately after this strong start the subsequent chapters fall to some extent into the standard "work through the API" approach, so that while the chapter on user interfaces encourages us to consider carefully the restricted screen space on PDAs, the body of the chapter is simply a description of the different types of user interface component, rather than a more detailed look at when each of the component should be used and to what effect.
I don't want to be overly critical here since there is a burden on authors of technical works to make sure that important sections of the API are covered, however I find I am not really able to take in more than trivial amounts of code from the page of a book (I need to be running it and making changes to bits before I understand it). The screen-shots from the PDA help here, but really I wanted more from something in book form. Ideally I would like to see a paragraph or two on the pitfalls and advantages of using each kind of UI component in a PDA setting. Even better would be a sample project, where we work through two possible user interface solutions, one designed without much thought on the constraints of the PDA and one designed with the PDA in mind.
To be fair some general guidelines for developing on the PDA are outlined in chapter four but it is fairly short, and lacks examples. To make this book "really useful" rather than just "handy" I would like to see a much more rigorous analysis of two versions of a sample project, one done correctly and one done incorrectly from the PDA perspective. This kind of comparison is hinted at tantilisingly at various points in the book such as the comparison between SOAP, HTTPText and HTTPStream in the networking chapter. The author shows that he is capable of presenting the pros and cons of different alternatives in particular areas, so it is a shame that this approach could not be developed more thoroughly. The very short concluding chapter on Futures, only confirms the impression that more time could have been spent on this book to good profit.
Still, while I think the reader can rightly ask for more, there is still alot here - I am sure that anyone developing Java on PDAs would be well advised to have a copy of this book on their desk. We can only hope that the author will be given more time to develop the themes touched upon in this work in a subsequent publication.