Learning iOS Design: A Hands-On Guide for Programmers and Designers Book Review
|This book is not what I was expecting it to be. I was expecting a book with a ton of screenshots explaining what was wrong with each one, and then providing a solution to the problem. I also expected screenshots of all the different controls you can use and for them to be shown in different states.|
I am happy to report this book did not meet my expectations, it well exceeded them. Quite frankly, my expectation was well surpassed because the author does not just show you what to do and not to do, he explains why you should do things.
Part I: Turning Ideas into Software walks you through the phases of design. The first seven chapters of the book walks through the design process in detail. It points out the importance of following a design process. The chapters in Part I are listed below.
Part I: Turning Ideas into Software
1. The Outlines
2. The Sketches
3. Getting Familiar with iOS
4. The Wireframes
5. The Mockups
6. The Prototypes
7. Going Cross-Platform
Part II: Principles presents universal principles that apply to any design and that you should follow if you want to craft an effective app that people will appreciate and even love. To make sure your app works on every level, each chapter in this part is based on one of the three levels of cognition identified by psychologist Donald Norman. Many of these principles are applicable to all software design, but here they’re tailored to the strengths and challenges of iOS.
The paragraph above is straight out of the book. The author summarized Part II perfectly, so I thought I might as well use that summary. Part II really digs into some topics I have had to deal with in the past developing mobile applications and desktop applications.
The biggest problem we have had in the past was implementing perceived performance. We used a lot of behind the scenes syncing while the user was in one section of the app that would lead them to the section we were saturating with data. We also did a lot of local caching in order to make sure the transaction took place without having to tell the user to try again. This was a normal side effect of slow connections.
In more recent years network bandwidth has increased, but so have expectations in feature rich functionality and the users always seem to want more data.
The chapters in Part II really do a great job of covering the topics you need to understand in order to make your user interface feel like it is just an extension of the user.
Below are the chapters in Part II.
Part II: Principles
8. The Graceful Interface
9. The Gracious Interface
10. The Whole Experience
Part III: Finding Equilibrium contains some really great advice. It's chapters strive to keep your designs in balance. Balance is not something that just happens. If you want a balanced application, you need to think about what you are building. Emergent Design and Emergent Architect are for those that know what they are building because they have already built the same thing 2 dozen times with the same 6 teammates.
I prefer proof of concepts, prototypes, and the advice the author gives in Part III. I have listed the chapters below.
Part III: Finding Equilibrium
11. Focused and Versatile
12. Quiet and Forthcoming
13. Friction and Guidance
14. Consistency and Specialization
15. Rich and Plain
In chapter 3 the author covers controls. I think it is there that he mentions for the third time that you should read the iOS Human Interface Guidelines, and he is right. As he covered the controls in chapter 3 I had a copy of the iOS Human Interface Guidelines sitting by my side so I could read more about the control if I wanted to, or get a look at the control visually.
I found the author's writing style made this very easy to read. I didn't have to force myself to pick it back up, it was something I looked forward to.
The author has a collection of Photoshop and OmniGraffle resources available on the book's companion site.
All in all I found this a very refreshing read. My role as a Software Architect takes into consideration a lot quality attributes, and usability is always one near the top of the list. I will be keeping this book by my side so I can reference it.
If you are a programmer, you must read this book to so you can see how the guys and gals that make our user interfaces go about their process. Understanding the way they think also help to bridge the communication gap that is there sometimes.
Learning iOS Design: A Hands-On Guide for Programmers and Designers