O'Reilly Book Reviewer

I review for the O'Reilly Blogger Review Program

Wednesday, March 28, 2012

Book Review: Mobile Design Pattern Gallery by Theresa Neil (O'Reilly)

Mobile apps have become quite the rage. Forget about consumer apps, these days even enterprise IT teams have been asked to develop corporate apps for the tablet. I was quite surprised myself when my project lead took me aside the other day and asked me, "When can we have a lite version of our web app on the iPad?". A lite version! I had no idea what that meant or where to begin. For sure I knew that the web app that looks super cool on the desktop would look like a disaster on the tablet. Think Mobile First! Who does that? Certainly not me. Old UI habits die hard. However, as Darwin said, "It is not the strongest of the species that survives, nor the most intelligent that survives. It is the one that is the most adaptable to change."

I knew I had to start with my screens. Unfortunately my years of knowledge of desktop browser UI designing was of not much use. I can throw a hundred UI components in the desktop browser and it will just work. Mobile UI design is a totally different ball game. So I got this book!

This book will not teach you mobile programming. There are plenty of other books to do that. This is the ONLY reliable book that has a catalog of all mobile UI design patterns. Do you like the Facebook and LinkedIn apps? Did you know the names of the layouts for each of the screens in those apps? I didn't until I read this book. I learned quite a lot about designing navigation, forms, tables & lists, searching, charts, etc. The chapter on designing Invitations was pretty intuitive. I really hadn't noticed the power of invitations and how useful they are for mobile apps until I read this chapter. The book ends with a powerful chapter on anti-patterns - things not to do in a mobile app should be a part of your strategy in designing your mobile apps. Appendix at the end provide valuable additional resources including the website of this book. Also provided is a summary of all the UI design gallery in this book so you can always go to the end of the book when you are in a hurry.

Tuesday, March 13, 2012

Book Review: jQuery Mobile: Up and Running by Maximiliano Firtman (O'Reilly)

jQuery Mobile has taken the world of mobile development by storm. With an incredible fully enhanced A-grade AJAX support for all the major platforms and desktop browsers, it has become a viable choice to start coding mobile applications quickly compared to the step learning curve for native development. Not only that, you can also deploy your jQuery mobile webapp natively to many mobile devices using the phenomenal PhoneGap. This book will teach you how.

One of the drawbacks of this book is that it assumes you know jQuery, which is fine for the most part. Event handling and Theme rolling are explained very nicely. You would need another jQuery book to supplement this jQuery Mobile book.

You don't need this book if you are not doing any mobile development but, if you are, then this is one of the books you must have on your bookshelf (or a mobile device like Kindle or iPad).

Sunday, February 19, 2012

Book Review: The Little Book on CoffeeScript by Alex MacCaw

Whether you love it or hate it, JavaScript is back with a louder than ever bang, thanks largely to HTML5. However, frameworks like JQuery provide concise syntax that eliminates the need to write buggy and verbose code. So why CoffeeScript? Curiosity led me to pick up this "little book". It turns out that CoffeeScript is a language that compiles down to JavaScript with a syntax inspired by Ruby and Python. In a little book of 6 chapters and 48 pages, Alex MacCaw cuts to the chase and explains the nuts and bolts of CoffeeScript neatly.

In the first chapter, the author goes over the CoffeeScript syntax, variables, scope, functions, looping, flow control, etc - the usual, gentle, "hello world" type introduction. Things start getting interesting from chapter 2 as the book dives into CoffeeScript classes and goes into a little bit more detail into OO related topics pertaining to CoffeeScript. Chapter 3 covers CoffeeScript idioms like iterating over arrays, using Maps, select filtering, and other operations related to arrays. This chapter also covers how to use external libraries (like JQuery) which is extremely useful.

Chapter 4 introduces the Cake (yummy!) build system to compile CoffeeScript. This is the best chapter in my opinion as it contains detailed information on how to maintain your code and not let it burgeon into sphagetti. I was delightfully surprised to see a section on deployment with Heroku. Chapter 5 guides you into avoiding pitfalls using CoffeeScript. This is really good to know as it will avoid hours of debugging later. Chapter 6 provides a conclusion about the intent and philosophy of CoffeeScript emphasizing that "It's Just JavaScript". The book invokes your curiosity to try out other compile-to-JavaScript languages on your own. The book will not make you an expert in CoffeeScript but does a great job of laying down a strong foundation.

Wednesday, February 15, 2012

Book Review: Beginning PhoneGap by Thomas Myer (John Wiley & Sons, Inc)

There are two times PhoneGap made big waves in the mobile developer community. The first time was when the first PhoneGap code was authored at the San Francisco iPhoneDevCamp in August 2008. The second time was at the Adobe MAX in October 2011 when Adobe announced that it had bought Nitobi, the maker of PhoneGap. PhoneGap is an amazing technology that lets you unleash mobile applications to 7 platforms using the same code base. It makes the "write once, deploy anywhere" aspiration come true. Beginning PhoneGap by Thomas Myer is an excellent book to get started with PhoneGap.

This book is targetted for anyone with an intermediate knowledge of HTML, CSS, and JavaScript that is looking to develop mobile applications quickly using PhoneGap. Step-by-Step the author explain using PhoneGap to develop applications for the 3 major platforms - iOS, Android, and Blackberry, with an honorable mention of the other platforms like Symbian and WebOS. The first three chapters are devoted to learning the basics of setting up PhoneGap on your machine. From chapter 4 through chapter 14, the author dives straight into the PhoneGap API with Events, Network and Notifications, Accelerometer, Compass, Geolocation, Media, Camera, Storage, Files, Contacts, and Capture. Each chapter introduces the topic, provides sample codes to try out, then explains clearly what the code does. The last chapter contains information on how to design and build an app from scratch using the Capture, Geolocation, Storage, and Files API.

There is very little fluff and lots of useful and to-the-point stuff. I finished reading the first five chapters in less than an hour. I was able to finish the rest of the book over the weekend. The author has provided lots of screenshots and sample code to make it easy to learn. Buy this book and make your PhoneGap foundation strong. I strongly believe PhoneGap has a promising future and this book is the first step to lead you there.


Saturday, February 11, 2012

Book Review: Software Change Management: Case Studies and Practical Advice by Donald Reifer

Unlike other books on Software Change Management, Donald Reifer brings a fresh new perspective dedicated to the fearless few and brave agents of change. Introducing or changing software processes is not for the faint of heart but Donald bring his decades of mastery in this field into a dozen chapters with 10 real-life scenarios. The nice thing about this book is that it explains how to introduce change by using sensible and politically sound tactics. Indeed some change agents fail miserably because even though their intent was good, their expressions might come across as combative and without senior management buy-in. This book teaches not just "what" to do but also "how" to do it and what to "watch out" for.

This book is targeted for Project Managers, CIOs, Senior management, and anyone desiring to be a lean practitioner in the IT industry. Overall, the author has done an excellent job writing this book unlike other books on this topic that are quite dry.

Tuesday, January 31, 2012

Book Review: Arduino Cookbook by Michael Margolis

The best way to describe Arduino is "open-source electronics". The hardware and software combination provides a platform for interactivity designers to prototype embedded devices before beginning any mass production. Arduino cookbook is one of the best books I have read on this platform that explains step-by-step how to program and build interesting circuits that fascinate and make you stand out among your peers.

This book assumes no previous knowledge on the part of the reader. Indeed you must have some basic understanding of electronics but just enough to be able to connect the Arduino board to your PC and also install and run the IDE software. If you know just that much, this book will take you to the next level. The information on Arduino is so scattered on the Arduino website and other sites, this book will provide the basis for a strong foundation for you. I like the style of cookbooks in general as "problem statements" and "solutions" are presented together followed by a "discussion" paragraph. This is a huge book of 724 pages covering the entire gamut of simple programming, serial communication, analog and digital input, using sensors, visualizing the output, audio output, etc. It has entire chapters devoted to I2C and SPI communications, wireless, and Ethernet networking. Followed by a chapter on creating your own libraries. The appendix sections at the end help you understand about electronic components, schematic diagrams and data sheets, using a breadboard to build and connect the circuits, and tips on troubleshooting software and hardware problems. You can grab this book as an absolute beginner and graduate to become an Arduino master at the end.

Wednesday, January 18, 2012

Book Review: Head First Mobile Web by Lyza Danger Gardner and Jason Grigsby (O'Reilly)

First of all, I am a big fan of the Head First series. That doesn't necessarily mean I have read all the books in the series. However, for the most part, the books that I have read have consistently reinforced my knowledge in that subject area. By creatively repeating the concepts via different perspectives, like two inanimate objects engaged in a debate, interviewing of a new technology, bubble speeches, etc, the books are a pleasure to read and absorb. I feel that the authors have put a lot of work into making difficult concepts easier to understand.

The Head-First Mobile book is an exceptional book. The mobile development space is obfuscated by the variety of technologies, devices, screen sizes, and so on. This book dispels the complexity and puts everything in perspective. For example, it talks about responsive web design in which you can adjust the formatting of your content dynamically depending on the device that is asking for the content, all done using the same HTML and CSS file. How cool is that! Later chapters talk about intermediate and advanced concepts like mobile-optimized websites, device databases, and mobile development frameworks. All in all, this book does a great job of demystifying the complex workspace of mobile application development and clearly explains how to design and develop bullet-proof websites.