Donald J. Patterson

Best Practices for iOS User Interface Design


“Best Practices for iOS User Interface Design” Launched!

Getting things out the door is the best feeling in the world because the process of creating them can be so painful. So we have just shipped the third course in an online series of 6 courses that Sam Kaufman and I are developing with UCI Distance Learning for Coursera on iOS User Interface design.  We snagged the awesome URL: for this one.

iOS User Interface Design Concept for a Map

iOS Concepts and Adaptivity

In the first chunk we look into the design documents for the iOS platform and cover the concepts that are baked into the software development kit. This involves taking a peek at some of the material in the Apple Human Interface guidelines. The reality is that user interface design today is a fragmented process as you are inevitably designing for many different devices, views, locations, languages, and use environments. So we end the first chunk with a project that utilizes the layout constraint engine that is baked into iOS. To be honest, learning more about the constraint engine was one of the things that I liked the most about putting this course together.

HCI Principles

In this part of the course we look at what interface modalities are available out of the box in iOS and we veer outside of the Apple echo chamber to talk about general HCI principles. At one point we channel our inner Donald Norman and rant about the design of hamburger menus and push back on Apple’s design concepts which aren’t all universally wonderful.

Constructing User Interfaces

In the third chunk we look at the basic View Controllers like the UIScrollView, and the Navigation View Controller. Then we do a case study project in working with the Map View. We plot some locations and show how to plot the user on the map while they are moving.

iOS User Interface Design Concept for a To Do List

Table View and Core Data

Finally we tackle a big one: Interfacing a table view with persistent data. This ends up with a case study project in making a to do list application. It synthesizes lots of the pieces from the first parts of this course into a nice mini-capstone project that you could actually imagine using.

Try it out!

I hope folks will take it and learn something new about iOS User Interface design.   We also simultaneously launched a discussion forum for the course so that people could get peer support from each other. It’s based on the open-source project “discourse” and you can check that out here:


Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.