![](https://csdnimg.cn/release/download_crawler_static/4905954/bg10.jpg)
Designing and Planning Our App
11
When working with clients, insist that the design be signed off before you start coding their app. Clients
often fight this requirement, claiming that their app is a work in progress, and therefore the design is
subject to change. This is just bad planning on their part.
By taking the time to sketch out every screen design before starting code, your clients will save you
copious amounts of wasted development time—and, therefore, wasted budget. They will save money if
they invest in good planning!
It’s amazing how many potential user interface design problems can be solved on paper. This process of
sketching out screens in advance of code is also known as paper prototyping. It enables individuals and
teams to examine each screen and discuss the implications of one type of layout vs. another.
Designing an intuitive and engaging user interface is a process that this book will frequently reference, but
if you want to delve in deeper at this stage, then who better to learn from than the gurus of user interface
design themselves: Apple.
Let me introduce you to the HIG—Apple’s Human Interface Guidelines, which you can read at your leisure
on the Apple Developer web site at
http://developer.apple.com/library/ios/#documentation/
UserExperience/Conceptual/MobileHIG/Introduction/Introduction.html
.
The HIG takes you, very clearly, through every aspect of good user interface design for iOS apps.
Everything from the minimum hit area of a button (44
44 points) through every finger gesture (tap, slide,
flick, etc.), and exactly how your user will expect your app to respond.
People become very familiar with the way apps and the operating system functions on their smartphone.
Unexpected user interface behavior results in annoyance from our users. It’s not that difficult to keep them
happy and enjoy using our app. The HIG provides you with everything you need to do just that.
A walk-through of app designs
In order to get you thinking in the terminology of the iOS SDK, I’m going to refer to each of the screens in
our app as views. I’ll go further into the details of views and view controllers in Chapter 3, but it’s good to
recognize at this early stage that each screen in our app is a view.
In iOS, each of our main views has a corresponding view controller class.
This is our first introduction to Apple’s implementation of the Model-View-Controller (MVC) paradigm in the
iOS SDK. Don’t worry if you’re already getting confused. I’ll be fleshing out more details about views, view
controllers, and MVC in iOS in Chapters 4, 5, and 6.
Birthday Reminder will consist of the following main views (each controlled by its own view controller):
Home view (birthday listings)
Birthday detail view
Birthday notes view
Add or edit a birthday view
Import from Address Book view