Sunday, 29 May 2011

Book review - Pro Android 3

There's no shortage of books you can use to start Android development. There is "Hello", "In Action", "Learning", "Beginning", "Tech Yourself", "Fully Loaded", "Programming", "101" and "For Dummies". But what to read when you want to take your Android skills to the next level?

Pro Android 3
Publisher provided information:

Authors Satya Komatineni , Sayed Hashimi , Dave MacLean
ISBN13: 978-1-4302-3222-3
950 Pages
User Level: Intermediate to Advanced
Publication Date: April 21, 2011
Available eBook Formats: EPUB, MOBI, PDF
Publisher Apress
http://www.apress.com/9781430232223


About technical books in general
What are technical books for nowadays? In my opinion they should be the reliable source for best practices and the authority of software engineering in general. Books that try to be tutorials to languages face strong competition from free youtube videos, free online tutorials and more rich multimedia tutorials.

On the other hand books that try to be reference manuals cannot compete against web's massive, constantly updated, knowledge base. A tech reference book can be outdated in few months or some times even before the book starts to ship.


Tech books are also suffering from their massive size. Pro Android 3 book is 950 pages. It is very difficult to find the best wisdoms in the midst of hundreds of pages. I personally prefer much more compact books. The authors should trust their readers and not to explain every small detail.


Book content
Unfortunately, Pro Android 3 has the same problem than so many other books. It starts from the very beginning of Android development. Topics like Android structure, Dalvik overview, downloading and installing SDK don't belong into book like this. This is especially unacceptable in case of Pro Android book series as the same publisher has another book titled "Beginning Android"in their selection.

Why does this matter? Can't the readers just skip the first few chapters to get to the good content? Not really. The authors have included relevant bits and pieces that are relevant in the middle of these chapters. For example gems like Strict mode are buried in there.

If you're an Android dev with experience building few apps already you'll probably skip chapters 1 - 8. In my opinion all those chapters should have been compressed down into 1 - 2 chapters only talking about advanced features. Once you've read the rest of the book it might be worth getting back to these chapters to browse through and see if some of the subsections have additional info for you.

The rest of the chapters in this book all handle one Android API each(for example, home screen widgets, search, etc). Any of these chapters have potential to help a developer to get up to speed with an API he or she has not used before. To get started on a chapter you should take few minutes to browse the chapter through to get good overview of the topic. The book will give you good understanding what features and advanced features each API has and you can then get back and read the relevant parts..

The book covers pretty much all of the big APIs in the Android OS. Skimming thought the whole book will help you understand what bits of Android can help you with your project and you can go back to them to get deeper knowledge.

Source code examples in this book are very well thought out but reading code from a book is always a bit painful. The examples can help you understand the more complex APIs though.


Updates from Pro Android 2 - Android 3.0 Honeycomb
Google's speed of Android development is very fast. Print media is having difficulties to keep up with the developments. In this latest edition of this book the authors have added three new chapter to talk about Android Honeycomb features.

Of course Google has already moved on and released Android 3.1 (still Honeycomb). The section about Honeycomb widgets should already be updated with the new resizable widget APIs.



Who is this book for?
This book can be used for two purposes. It is easily one of the best books to start Android development with as long as you know Java already. The first chapters can be used as crash course for Android development.

This book is also a very functional as a reference book. The chapters are clearly separated and can function as stand alone manuals of each topic.



What's good?
This book covers all the essential APIs of Android platform. It is well organised and easy to use as reference book. In the multitude of Android books out there it is one of the best. It doesn't just go through the very basic but also takes a look with more advanced APIs.


What's bad?
The book should be much more compact.


What's missing?
Pro Android 3 is basically an API reference. It lacks any information that would make the readers better Android developers. Knowing APIs is a good start but good developers need to know best practices and patterns. Currently there are not many books out there that contains that info. I'd hope Pro Android series would shift their focus to that direction and let the Beginning Android series be the tutorial / reference book.




Disclaimer
I did get this book for free to review it. I don't, however, receive any money from the publisher either from writing the review or linking to their site (even if someone purchases the book).