20 Apr

If My Shelf of iOS Programming Books Could Talk

A few weeks ago, I moved from New York to St. Louis, and brought with me a stack of iOS programming books, each representing a chunk of time in my professional development.

Starting Out

Objective-C Programming: The Big Nerd Ranch Guide by Aaron Hillegass
objective-c
One day, before heading to work at my job at a patent firm, I sat on a coffee shop patio and while gesturing wildly, karate-chopped coffee directly into the pages of this book. Many months later, after I’d started my first programming job, I took the beat-up thing with me on a solo trip to the beach. The buses back into the city were screwed up, so I had a couple of hours to thumb through it on the way back – more than ample time to brush up on it and pick up a few things I hadn’t caught the first time around. It now smells like sunscreen.
Big Nerd Ranch: @bignerdranch

iOS Development Essentials by Neil Smyth
This series of books made me the programmer I am, and yet I haven’t been able to thank their author. Honestly, it’s 2015 and I can’t find a trace of the guy. Not on Twitter and not on the back cover of his book. At Smith & Sons, we’d make him an honorary member just by virtue of his name. Every year, this elusive author delivers exactly what I needed when I was starting out: focused, self-contained chapters on one simple task. Apple rejected an early app of mine because it was just PDFs of patent office documents, suggesting that I add something a little more native and interesting. Well, one chapter in the iOS 5 version of this book covered touch and animation. After only a few dozen lines of code, tapping on a point on my phone’s screen would rotate and move a blue box just beneath my finger. I was blown away, and promptly added a flying guy in a jetpack to the patent app, just because.
Techotopia: @techotopia

iOS by Tutorials by the Ray Wenderlich Tutorial Team
iOS-7-by-tutorials
Ray Wenderlich. The guy has built a publishing empire with dozens or maybe even hundreds of collaborators, releases new videos every week, and doesn’t even stop to get a new headshot to replace the one where he’s wearing a backpack. Makes sense he’d treasure that bag though, because he has to carry around these books, all stuffed to the gills with information. Imagine if the Wu-Tang Clan operated the 80s Nintendo game counselor help line. It’d be as magical as this.
@raywenderlich

The Core iOS Developer’s Cookbook by Erica Sadun
In the iOS 6 book, there was a really slick tutorial on making a cover flow collection view layout. 3D rotations, scaling, and everything. Honestly, if you came by my desk in March 2013, I don’t care who you were, I was going to subject you to testing a cover flow layout. Bonus points for teaching me how to structure my code, which is now less spaghetti and more one-day old gingerbread house.
@ericasadun

Deep diving

iOS Programming Pushing the Limits by Rob Napier and Mugunth Kumar
pushing-the-limits
About a year into my mobile dev job, I’d settled in comfortably and could rapidly prototype and release some simple apps. But there were a few times when that wasn’t enough, and I had to dig into Instruments, custom drawing of cells, and so on. One Friday night I was taking it easy playing video games when my manager texted the news that my app crashed on his boss’s phone – a dinosaur at two generations old. I consulted this book to streamline the drawing code. Bonus points for referencing Scarface’s Push It To the Limit. Seriously, they thank Rick Ross in the acknowledgments.
Rob Napier: @cocoaphony
Mugunth Kumar: @mugunthkumar

Tapworthy by Josh Clark
Learning iOS Design by William Van Hecke
learning-ios-design
Summer of 2013. iOS 7’s visual overhaul of 6 was on the horizon. At work, I was turning around proofs-of-concept every couple of weeks, and may have been sacrificing interesting design for speed. Luckily, at WWDC, I scored valuable 1×1 time with an Apple designer. I showed him an app where users arrange physical objects in 2D space, among other tasks. I asked him how I should handle object duplication. Long press? Double-tap? He yawned, sighed, pulled his hoodie lower over his eyes, and grumbled that I shouldn’t think in terms of the physical world. Maybe I should have the user hold one finger on the object to duplicate, and write, using my other index finger as a stylus, the number of objects desired. Just write a 5 in the middle of the screen and poof! Five fresh copies. Transcend the physical reality of the object. My mind was blown. I said thanks, he coiled back into the fetal position. The next week I bought these two design books. Tapworthy is a landmark book, a long series of app screens with commentary, which at the time of publishing in 2010 predated almost all mobile design blogs. A few months after, I managed to catch a talk by the author at a Drupal event at 30 Rock and really enjoyed his material. William Van Hecke’s unique and fascinating book reads a little more academic, tackling human/phone interaction theory, and is thus relevant even today.
Josh Clark: @bigmediumjosh
William Van Hecke: @fet

Make It So: Interaction Design Lessons from Science Fiction by Nathan Shedroff and Christopher Noessel
Fun book discussing how speculative interfaces from science fiction films have influenced real-life controls. Awesome mashup of film and UI/UX discussion. After this, I tried to make a crazy sliding grid to help users navigate an org chart. Like Frogger crossed with Minority Report crossed with Robocop. I ended up using a list, through no fault of these fine authors.
Make It So at Rosenfeld Media

Big Nerd Ranch: Advanced iOS Programming by Joe Conway, Aaron Hillegass, and Christian Keur
A couple of years after first purchasing my copy of the BNR Obj-C book, work sent me to the Advanced iOS Boot Camp near Monterrey, CA. My teacher was brilliant (and is a personal favorite on Twitter) but the regimen wasn’t for me. I was reflexively coding and needed to have daily interaction with people not in the industry. Well, as luck would have it, I’d convinced my boss to let me fly into San Francisco and drive through the valley to the camp, rather than fly directly to Monterrey’s airport, so I was one of the few attendees with wheels. I took advantage on Wednesday night and jumped into the car, hung out for an hour in a park along the ocean, drank a hot chocolate in a quaint coffee shop nearby, then tore off down the road to Carmel and ate some pizza, chatting up random strangers at each stop. On the last day of the camp, I had plans to drive up the coast to Santa Clara, and walk the boardwalk featured in the movie Lost Boys. But, that morning, I solicited Facebook for a name of someone at Apple. Well, it turned out that a friend of a friend worked at Apple and could meet me for lunch. So I bolted early (I think I lost out on a camp t-shirt), jumped into my car, and tore up the coast, skipped the boardwalk to fly through the mountain highways to Cupertino, where I got to relax on the grass and eat lunch in the middle of the main building. Went in the gift shop and bought one of those cheap Apple T-shirts in large that shrinks to Baby Gap size.
@randomstep

NSHipster: Obscure Topics in Cocoa & Objective-C by Mattt Thompson
nshipster
A few years ago, I attended a meetup for iOS developers at the New York Times HQ. When introducing Mattt Thompson, the author of the NSHipster blog and this book, the gushing event host said, “I explain it to my girlfriend like this: he’s the Michael Jordan of iPhone development.” Well, I think of him more as Phil Jackson, because he’s sharp, chill, and creates nuggets of wisdom like, “Understanding the concept of nothingness is as much a philosophical issue as it is a pragmatic one. We are inhabitants of a universe of somethings, yet reason in a logical universe of existential uncertainties. As a physical manifestation of a logical system, computers are faced with the intractable problem of how to represent nothing with something.” I wish I could code half as well and write a quarter as well as him. Like Zen and the Art of Motorcycle Maintenance for a bunch of coders.
@mattt

Rounding things out

Offscreen Magazine
offscreen
If you’re reading this blog, and connected in any way with tech, you should have a subscription to Offscreen. Each issue tells of success stories in the industry, but not in that Fast Company-pose-in-the-empty-office-with-shadows-in-the-face way, or the New York Magazine-look-at-these-jerks-with-money way. Everyone is presented in their own words, and given ample pages to offer wisdom learned in their brief but successful careers. A seminal, unique publication operated by one skilled and friendly person, Kai Brach.
@offscreenmag
@kaibrach

Clog Issue 2: Apple
clog-apple
Clog is an interesting architectural journal that features a series of small one-or-two page essays on a single particular topic as it pertains to architecture. I first spotted it at the register at a bookstore – the Sci-Fi issue had a little hologram on the cover and I’d just seen Elysium in the theater. A short time after, I ran across a stack of the Apple issue. The editors devote a lot of space to Apple’s Headquarters, and there’s one particularly disturbing essay about birds fatally swooping into the glass cube store on the southeastern edge of Central Park. DesignBoom has some pages and Clog is still selling this issue if you’re interested in picking up a copy. I’d also recommend the issue on Miami.
Clog’s site
Designboom feature

Games

iOS Games by Tutorials by the Ray Wenderlich Tutorial Team & Friends
A quick way to making a 2D game, with tutorials involving cat physics and rotating zombies. Around the time I was reading this book, while demoing a game for some other people at my company, I realized that I had ended up a video game developer and tester – a fact about which my 10 year-old self would’ve high-fived me.

Learning OpenGL ES for iOS by Erik Buck
learning-opengl-es
In early 2015, I was flown to the UK for a week, to meet a legendary contract developer from Vienna and some British colleagues at our office there. That week, we got the green light to use Apple’s GLKit to make a new, huge game. After the work week, on Friday afternoon, I went into London and wandered rainy streets, browsing the computer sections of Charing Cross bookstores and found this intelligent book buried deep in one multi-story shop. They had a nice little cafe on another floor, and I remembered drinking a soda and embarrassing myself by asking a British gentleman where the “bathroom” was. After I left, I wandered more through the streets, to an old, beautiful umbrella shop, James Smith & Sons, that inspired my own branding, all with dark, lovely, moody London rain falling. If you’re wondering if the book is any good, it is. Without the sample code, I wouldn’t have gotten the app shipped. However, with iOS 8, Apple opened SceneKit for developers, which hides OpenGL ES entirely, and makes GLKit more or less obsolete. Apologies to whomever is maintaining that code I wrote!

Kill Screen – Issue 8: Virtual Reality
kill-screen
My history with Kill Screen, the literary journal on video games:
Issue 2: Bought it
Issue 3: Attended a release party, had some interesting conversions with the issue’s authors and got some free video games
Issue 4: Wrote an essay on the game Passage and was quickly rejected
Issue 8: Attended the journal’s annual conference, TwoFiveSix, for work, and got this issue at the door. Spent the entirety of the day coding an app in the audience.
@killscreenmag

Console Wars by Blake J. Harris
In 2014, I went to Boston for the Games for Health conference. Through a glitch with the company’s hotel booking software, I ended up at a swanky hotel with a massive roof overlooking the city. Each day after the conference, I had a couple of sunny, silent hours on the roof before the bros started streaming in. I’d park myself in a recliner, with a strong drink on the table, a nice cool breeze, and Console Wars – a captivating story of Sega, Nintendo, and Sony centered around the 16-bit era. It’s quick but dense with stories of marketing genius and charming restraint.
@blakejharrisNYC

A few more I want to recommend (brag about reading) but about which I can’t think of a story.
super-mario-2
Super Mario 2 by Jon Irwin (basic but nostalgic gold)
Steve Jobs book by Walter Isaacson (fascinating)
Jony Ive one by Leander Kahney (inspiring)
The Circle by Dave Eggers (cheesy but unsettling)

09 Aug

Finding Inspiration With Design Resources

I have a confession. I don’t download many apps. Not Candy Crush, not Clear, not Dark Sky. My 4 year-old nephew was astounded that his Uncle Drew, who makes apps for a living, only had one game (programmed by me) on his iPad. It’s more than a little embarrassing when I’m asked, as an app developer, about my favorite apps and name check some obvious ones: Instagram, Facebook, Tweetbot and HBO Go. But the reality is that using an app usually just tempts me into creating one.

So, how to I keep up with design trends, stay fresh, and keep an eye on competition? The three resources name-checked below should be the first destination for a potential client. All will get your creative juices flowing, and provide lessons on how the most celebrated apps organize and present complex information.

Pttrns

pttrns

Pttrns focuses on one thing: showing screens of nicely-designed new or recently-updated iPhone and iPad apps. A few thousand app screens are separated by app and type. For instance, users can search for screens for the Airbnb app, or comb through dozens of examples of how newsfeeds or maps are presented in successful apps. To me, it’s a hyper-efficient way of finding inspiration, because I can survey the app landscape without downloading apps and going through a registration process. For anyone approaching me with an idea, it’s a valuable way for us to communicate about design principles effectively. Check it out.

Dribbble

Dribbble features work from a massive number of artists, designers, and coders. It also covers all sorts of devices – not just mobile, but also websites, stamps, stationery, sketches, advertisements, and so on. If Pttrns is the department store whose clothes fit you perfectly, Dribbble is the fashion warehouse. You’ll find a lot of gems, but you’ll need an effective way to search to find things applicable to a specific project. Just searching the site for “iPad” will give you icons, sketches, and photos of iPads alongside actual usable interface ideas. My recommendation is to visit Dribbble when you don’t have a particular project in mind, and are just looking for a little inspiration.

Cocoa Controls

cocoacontrolsCocoa Controls primarily directs its content toward app developers, but others can benefit too. Recently, a potential client wanted a fresh way to present information on people. I googled “circular wheel” and found a very intriguing design that could fit the bill. Cocoa Controls goes beyond just showing users the design – it shows how to code the component. The controls are usually publicly available, and in many cases their creators permits usage by others in their own apps. So, whereas on Pttrns and Dribbble, you can’t usually just copy the design, Cocoa Controls is an excellent place from which you can pluck some great, fresh design ideas. Even better, the fact that most controls have publicly-available code cuts down on project cost. If you’re curious, “Cocoa” is a reference to Apple’s programming interface.

If you know of any other great design resources, send them my way!