↓ Archives ↓

Category → iphone

Book Review: Tapworthy

Tapworthy
Tapworthy
Designing Great iPhone Apps
by Josh Clark
Publisher: O’Reilly Media
Released: June 2010
320 pages

I’m a programmer who occasionally dabbles in user interface design when I’m doing solo projects. I know enough to know when a UI is bad or good, but I’m at a loss on how to create good UI from scratch. On my iPhone games, I do my own UI. There’s the iPhone Human Interface Guide, but I feel that it’s a bit hard to digest and I feel that it’s too specific to non-gaming applications.

Tapworthy takes iPhone HIG then mixes it with insights from recent user interface research and human psychology. The result is a very readable guide with specific do’s and don’ts to follow in designing your iPhone app interface. The tips, along with the long but readable discussion on the principles behind those tips, are general enough that even game developers will find them useful.

For example, the recommended hit region for user interface elements should be 44×44 pixels. This is a very important principle to follow (n00b mistake: on an app I was developing, I started with swipeable coins that are 20×20. Not surprisingly, on my first user tests, the users found the coins too small and very hard to swipe). The iPhone HIG actually mentions this, but this tip is buried in there and is only mentioned three times. In Tapworthy, this tip has its own section title (“The Magic Number is 44″) and is mentioned more than a dozen times to really drill in the point.

Another solid tip from the book: Do not use text in designing the app’s icon. It won’t be readable, and it will just add visual clutter to the icon. This tip is actually part of an entire 30-page chapter (Chapter 7) devoted to App Icon Design.

I can’t find anything that I don’t like about this book. It can use some improvements, though:

  • Given that roughly half of iPhone apps are games, it could add more tips specific to gaming applications. Maybe games aren’t in the author’s repertoire, and that’s a topic for another book.
  • The book contains lots of internal references, e.g. “…a concept explained in the Facebook case study on page 236…”. On the PDF version, the references aren’t links, though. What’s more, on the ePub version, when reading it on Stanza for the iPhone, the links are meaningless because the ePub pages on Stanza doesn’t really match the PDF’s page numbers. This isn’t major, though, and it’s something O’Reilly can easily fix with an updated digital release.

If I have to describe this book in a nutshell, I’ll say it’s Alan Cooper’s About Face, translated to the iPhone world. Great work.

This post by Rad Batnag is from Radamanthus Batnag.

iPhone SDK TOS 3.3.1: One Month later

If you’ve been living in a cave, “3.3.1″ refers to section 3.3.1 of the iPhone Developer Program License Agreement. Section 3.3.1 for the iPhone 4.0SDK beta reads:

3.3.1 — Applications may only use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs. Applications must be originally written in Objective-C, C, C++, or JavaScript as executed by the iPhone OS WebKit engine, and only code written in C, C++, and Objective-C may compile and directly link against the Documented APIs (e.g., Applications that link to Documented APIs through an intermediary translation or compatibility layer or tool are prohibited).

It’s been about a month since 3.3.1 came out. The most obvious impact of this is on Adobe Flash CS5. Prior to 3.3.1, Adobe has announced that Flash CS5 will include a Flash-to-iPhone compiler. Now, Adobe has cancelled that feature.

Here’s a roundup of how the other iPhone development tool providers have reacted to 3.3.1. Except for funkaster, writer of shinycocos, most of them seem to be optimistic that they’re in the clear.

AnscaMobile (Corona SDK):
http://blog.anscamobile.com/2010/04/corona-and-iphone-os-4-0/

Torque (iTorque):
http://www.torquepowered.com/community/blogs/view/19715

Unity:
http://blogs.unity3d.com/2010/04/10/unity-and-the-iphone-os-4-0/

funkaster (shinycocos):
http://github.com/funkaster/shinycocos/commit/9ebda7fcfc853db266b4b49c01bdbc5fa5a9be42#comments
(see the comments below the git commit)

Rhomobile:
http://rhomobile.com/2010/04/09/iphone-4-0-sdk-rules/

Me? I’ll stick to learning plain XCode, Objective-C, plus the Cocos2d Library.

This post by Rad Batnag is from Radamanthus Batnag.