Author: Ian Lawrence & Rodrigo Cesar Lopes Belem
Publisher: Wrox, 2009
Aimed at: Anyone who wants to create Ubuntu mobile applications
Pros: Only book on the topic
Cons: Not easy to penetrate
Reviewed by: Harry Fairhead
I approached this book with a great deal of enthusiasm - as did the authors. It is clear from what they write and the way that they write it that they are committed to Linux, and Ubuntu in particular, and think that this is the way to go for mobile. The big problem is that they write as enthusiasts, even if this is in the best sense of the word. They explain the ideas with enthusiasm but don't really have a clear idea of what an outsider doesn't know and needs to know to follow their explanation.
I come from a background in other mobile systems and was keen to discover what a general open source OS could do for me. The first problem I hit was pinning down what the target hardware platform is supposed to be. In this case mobile seems to mean netbook computers and non-mainstream custom devices.
At each point where some aspect of working that depended on the hardware, GPS for example, was discussed I wanted to know exactly what hardware was involved not just the drivers that were available. This could be my fault and I might be missing the point but if so the book still fails to enlighten me and set me on the right track. After all the Introduction does say that the book is for "developers with experience with other operating systems" and this certainly includes me.
The book really gets started with an account of the history of mobile Linux and a lot more besides. This reads like a very personal account and an explanation of how we find ourselves in the position we are in. However a more focused account of what hardware platforms and what the software could do for me would have been more helpful.
Chapter Two is where the practical aspects should start to be explained but first we have to cover the installation and use of the Linux virtual machine system. This is right and proper but, despite the attempt at motivating the use of a VM, a beginner could still be very puzzled - after all a VM isn't used in most other mobile development environments. The second big problem is that if you understand the instructions then you probably are capable of doing the job without them. What we are presented with are a lot of command line instructions with not much enlightenment.
Chapter Three is another hopeful start on actually developing something for a mobile device in that it is entitled "Power Management". However what it presents are the subsystems that control power states and lots of commands and scripts for controlling them. How to do this from a mobile application isn't at all clear.
At last at Chapter Four we have "Application Development" - but nothing about setting up an IDE or even your working environment. Instead its just a "hello world" that you are given the command line compile instruction for. Of course all of this is fine if you are a Linux programmer but for the outsider it makes sure they stay outside.
From here the book continues in the same way - doing its best to sound understandable but simply presenting a very confusing list of project names, packages, tools and interfaces that leave the non-expert still a non-expert. Chapter Five deals with application packaging. Chapter Six is on "Application Selection", a topic that might have been either more to the start or in an appendix, but not in the middle of a book on application development. From here we have a chapter on theming, i.e. GTK+ themes, Kernal fine tuning, Testing an Usability, Tips and Tricks, Putting it all together, Mobile Directions and an appendix on ARM development.
If you have dabbled in Ubuntu Mobile and want to have something on paper that helps then this book probably succeeds. If you are keen to get started with Ubuntu Mobile and don't know the first thing about how to create applications for it then - you will have a hard struggle.
A book that bursts with enthusiasm but doesn't do much to help the outsider get to be an insider.