User Interface Design

Exciting things are happening at the Outer Level development labs (my desk) these days. With the recent releases of Apple’s two latest platforms, Mac OS X 10.5 (Leopard) and the iPhone SDK, I’ve been very busy learning the latest development tools and working with the newest APIs.

Things are happening very fast in the technology world, but for a long time it seemed that the user interface portion of software development had hit a very wide growth plateau. Over time the color of system controls changed, fonts adapted to new displays, and small innovations kept things feeling fresh for a time; but progress was linear and slow.

Then suddenly, everything changed. Apple introduced Leopard with its awesome Core Animation framework and the iPhone with its game changing Touch interface.

Designing new applications has become much more interesting with all the new possibilities. All this power and open frontier ahead of us will inevitably bring missteps as well as exciting innovations.

One of the resources that has helped to guide us through user interface design in the past is Apple’s venerable Human Interface Guidelines. Much has been said on how this document has passed its prime and needs to be updated or relocated to the trash bin. But, today Duncan Wilcox argues that The HIG is still good on his new blog, Cocoa Therapy.

The HIG is still good. In fact the first fifth of it is pure gold, still 100% current and relevant.

While the HIG may still be relevant, Duncan’s main point is “content is the user interface”.

An application with visually distinctive window style or control look will never stand a chance against an application with distinctive data visualization and interaction.

The iPhone’s Touch interface and Core Animation’s power means this idea has moved from possible and rare to the new bar in application design — whether that be on the iPhone, the Mac, the web, or any other computing platform.

Now, the hard part is doing it right.

Core Animation Podcast

In my previous post, Mac and iPhone Programming Books, I briefly mentioned the eBook Core Animation for OS X.

Today, the publisher, The Pragmatic Programmers announced a new podcast interview with the book’s author, Bill Dudney.

The podcast is obviously pushing his new book. But, if you have any interest in Core Animation or iPhone development it does have some interesting information and it’s worth listening too.

UPDATE: The Mac Developer Network is also featuring Bill Dudney in their latest Late Night Cocoa Podcast episode, Introduction to Core Animation.

Mac and iPhone Programming Books

The introduction of Apple’s iPhone Software Development Kit has lead several friends to ask me for book recommendations to help them get started developing for the iPhone and Mac.

While the selection is not huge at the moment, the few books that do exist are actually quite good.

There are two primary technologies used to develop iphone and Mac software. Objective-C is the programming language and Cocoa is the framework that provides the building blocks for building applications.

Cocoa Programming for Mac OS X (3rd Edition), by Aaron Hilegass, is probably the most recommended Mac programming book published. The current edition is outdated, but serves as a very good teaching aid for the beginning Cocoa programmer. But, if you can wait until this summer, the 3rd edition of this book will cover the additions and improvements to the Cocoa framework that Apple has added in Tiger and Leopard.

Cocoa uses the Objective-C language and
Programming in Objective-C, by Stephen Kochan, teaches the fundamentals you’ll need to get your work done.

Alternatively, you may want to look into the eBook Learn Objective-C on the Macintosh, By Mark Dalrymple and Scott Knaster. I haven’t read this one, but have heard good things.

One of the cool things about Objective-C is that it’s basically an extension of the C programming language. While programming in straight C is not usually required, it does come up from time to time and it can be very helpful to know what you are doing. If you don’t know C, you many want to check out the eBook Learn C on the Macintosh, By Dave Mark.

The books listed above will get you started programming for the Mac and iPhone, but if you are interested in advanced topics or event Apple Script, the following books might be helpful.

I’ve read most of these books, but the few that I haven’t were recommended to me and have very good reputations.