Professional Ubuntu Mobile Development Book Review
As the move toward mobile computing continues to progress at an ever-accelerating rate, platforms that began life on the desktop are crossing the chasm to more personal portable designs. Does this book successfully orient desktop developers to this new horizon? Read on to find out.
Written by two software developers from the Insituto Nokia de Tecnologia, Professional Ubuntu Mobile Development moves technically capable readers along at a swift pace. After a brief history lesson, the book establishes reasons why application developers need to embrace mobile development trends and why the Linux operating system provides the foundation for future mobile devices. Several more pages than necessary are spent on obtaining, installing and configuring a virtual development environment using VirtualBox, KVM and/or QEMU; establishing the networking configurations are the most annoying aspects of these open source VM hosts. Once the VM's are ready to go, the book hits its stride with its useful analysis of power management, a 50+ page chapter on application development (recommending Hildon, a handheld application framework, and other tools like Canola, Clutter, EFL, Elementary, Glade and Qt), application packaging using Debian's apt (Advanced Package Tool) and Canonical's Launchpad PPA (Personal Package Archives). The book then evaluates the type of applications that best suit the portable constraints of today's mobile technology. Ideas for business, multimedia, social network and location-aware users are demonstrated.
Chapters on Theming (customizing various Ubuntu distribution files in order to alter the appearance of the boot up, login and desktop GUI's), Linux kernel fine-tuning and even testing and usability are covered. A brief chapter on 'tips & tricks' (ex: configuring a touch screen with the 'evtouch' package and monitoring hard drive activity with the 'iotop' application) is followed by a chapter that "puts it all together" by walking readers through "the process of creating a custom distribution of Ubuntu Mobile" from start to finish. "Mobile Directions" revisits the book's mobile trend premise and posits new problems brought about by the vast proliferation of mobile computing devices.
The book's final chapter on mobile development common problems and possible solutions seemed tacked on and out of place, as these topics should have been part of the tips & tricks section. Appendix A relates a fascinating case study about the construction of a SWARM (Sheeva/Solar Powered, Wireless, Advanced/Application, Running, Memcached/Machines) by MIT students using the SheevaPlug that demonstrates the efficacy of the principles promoted by the book. A solid Git overview, Launchpad project hosting, a Python-based Desktop Power Applet example and a D-Bus overview are covered in Appendixes B through E respectively.
Intermediate and advanced Linux developers won't learn much new reading the book. Even so, after tooling around with the latest Ubuntu Netbook Remix, it's easy to understand how custom applications optimized for this platform could greatly benefit taking into account the screen real-estate constraints, reduced power consumption and CPU capacity current Atom processor-based netbooks have to deal with. The thought of dedicating a few weeks on completely customizing my own remix running my own netbook-centric apps and desktop widgets is enticing. Alas, until I am stranded on a desert island with a couple of working, ruggedized netbooks, a solid WiFi Internet connection and a solar array powerful enough to keep the netbooks powered 24x7, I will have to add such a desire to my ever-growing 'things to do' mind map. In the meantime, students and computing professionals with the hardware, connectivity and available time to tinker will find Professional Ubuntu Mobile Development enough of a catalyst to kickstart the implementation of their own mobile-oriented visions.
Title: Professional Ubuntu Mobile Development
Authors: Ian Lawrence, Rodrigo Cesar Lopes Belem
Publisher: Wriley Publishing