It’s my #iDevBlogADay turn to write about books. I’ll write about the books I think that are fundamental to indie iOS developers.
The 4-hour workweek (Timothy Ferriss)
This is a must have to anyone looking for any kind of freedom in life. Be it freedom to and from work or freedom to live and enjoy life everyday . It helps you scape the 9/5 and live your dream life everyday, with little or no money. The secret? Automation. It helps you put your life on auto pilot, while you are on a kind of permanent vacation (mini-retirements), and doing things you always wanted to do, like learning new languages, art or just traveling and having good moments around.
Drive: The Surprising Truth About What Motivates Us (Daniel H. Pink)
I’ve read about this book in a Wired issue. It helps you understand the “power of free” and the power to do things by your initiative without external rewards nor punishments. An example: why is Wikipedia, which has persons working without any kind of payment (and even having to pay to write, like paying the computer / Internet connection) more successful than MS Encarta, which had millions of investments and paid writers and specialists? That’s thanks to what Pink calls our “third drive”. Our first drive is our biological drive: we need to eat, drink, sleep, so we do these kind of things to supply our “carnal side”. The second drive is the “carrot and stick” one about rewards and punishments: do your work and you will be paid, don’t go to work and you will be fired, do your homework and your father will gift you an iPod, it’s our “obligation drive”. The third drive is the one when we do things to add value to the world and ourselves, things that make we learn and grow, things that make we help other persons, the ones that make us feel good. And that applies to us, indie game developers: we normally have our daily jobs and make games because is something we love, an activity in which we can learn something new everyday and every task and so on. That’s the third drive.
Programming in Objective-C 2.0 (2nd ed. - Stephen G. Kochan)
This is the book to go to learn Objective-C, even if you aren’t a programmer yet. First chapters talk about basic programming syntax and structure. Then it goes to “The Objective-C 2.0 Language”, with nice chapters about polymorphism, dynamic typing and dynamic binding, categories and protocols. And the most important part: The Foundation Framework in which it has the best and clearer explanation I’ve seen about memory management (which is the darkest side of Objective-C programming).
Beginning iPhone 3 Development – Exploring the iPhone SDK (Dave Mark, Jeff LaMarche)
Once you learn Objective-C this is the sure next step to iOS programming. You will learn all the basics of the iPhone SDK (version 3, but it stills the base to SDK 4.0+ and iPad programming), which will give you the base to write any kind of iPhone and iPad application.
I actually love this book because it has at least 3 chapters that help you write content apps, especially the one about SQLite, directing you to a SQLite Active Record model for the iPhone SDK (similar to the way that Ruby on Rails deals with databases). I’m using this approach in an iPad catalog App and it works amazingly.
Tricks of the Windows Game Programming Gurus (André LaMothe)
Can you imagine everything involved in 2D game programming? (note: only the programming side). It’s hard to think about it. Well, actually this books has everything inside. Although the title “Windows Game”, you can use it to program any 2D game to any platform. It deals with every aspect of game engines: physics, math, graphics, etc. I love its recipe approach to the most variable game problems. Line intersection? No problem. Ray casting? Ok. Bullet physics? You have it. Double buffering? It’s inside.
The same as before, but for 3D, focusing massively on 3D graphics, but still covering 3D physics and general math problems.