What are the best tools to create mock-ups of an iPhone app application storyboard, which describes the app flow and the desired user interaction?
We often recommend and assist our customers to build “wireframes” of an App idea that describes all the screens and the expected user interaction, together with the main features of the project. Creating wireframes for such a storyboard of the iPhone Native App views and screens is also a great way to brainstorm and verify the application flow.
Application prototyping is an important part of the software design process. It’s the first stop in which you layout a rough user interface and define the basics of user interaction you expect from your iPhone app. The Apple iPhone and iPod Touch are all about user experience. For this reason we often spend a little additional time to get high quality wireframing before we get to the actual design and development process.
A detailed storyboard of an iPhone app also allows our designers and developers to create much more detailed and accurate estimates of the involved effort to deliver the app to the iTunes App Store.
Creating an iPhone user interface from scratch can be tricky. There are several official Apple human interface guidelines to be taken in account and a few rules you cannot break in order to get the app approved by Apple. These are all things our engineers will verify before building the app, however following a couple principles will help prevent most of the common mistakes.
First: native is better.
There is no need to add bells and whistles at this stage. What is really needed is a straightforward interface that uses as many standard controls as possible. A “standard control” is an interface element that is available as a native item in the Apple’s Interface Builder library. Interface Builer is an Apple app which is used to build the necessary resources for iPhone and Mac OS X apps to work through a standard GUI and is part of the Apple’s iPhone SDK.

The native interface items include but are not limited to:
- status bar
- navigation bar
- toolbars
- tab bars
- table views (often referenced to as lists), with or without “borders” (the rounded corners like in the Settings app)
- pre-defined buttons and segmented controls
- sliders, switches, spinning wheels
- paging indicators
Second: Size matters
It’s not just how you use a standard control, it’s also about how big it is. The minimum recommended size for an active element (a button or a “hot”, tap-able area) on the iPhone screen is 44×44 pixels. Apple is the first one to break this rule when it makes sense, so it’s not mandatory. Just use your common sense here and, while prototyping, a bigger interface element is a better choice then shrinking everything to make them fit the screen. So if all the controls you want to put in one screen won’t fit, there are probably too many of them.
All right, enough noise now, what should I use to get the job done?
There are a handful of applications you can use to make an iPhone App storyboard.
The fast answer: Adobe Photoshop.
The technical answer: Interface Builder.
The alternative… for the rest of us: OmniGraffle, Keynote… and Powerpoint
- take screenshots of the Interface Builder screens and paste them into Keynote;
- drop any image file to the slide (even OmniGraffle Stencil library items)
What if I don’t have a Mac?
Libraries and resources
The following libraries and resources can be used with OmniGraffle, Keynote, PowerPoint and more apps:
Yahoo! Design Pattern Library – Design Stencils
UI Vector elements by Mercury Intermedia (download link)
iPhone GUI PSD by Teehan + Lax (download link)
Ultimate iPhone Stencil by Patrick Crowley (download link)
iPhone Design Elements by Creative Tech Tips (download link)
iPhone Wire Frames by Theresa Neil (download link)
iPhone 3G by 2Shi (download link)
SMS Chat Bubbles by Alexandergre (download link)
Blank iPhone Buttons by memedbaykal (download link)
iPhone Interface Elements by 320480 (download link)
iPhone Icon Style Kit by Keep the Web Weird (download link)


Hi Mauro,
Thanks for this information! People usually wireframe and prototype websites and other software applications, but not enough developers actually follow these best practices when it comes to iPhone application development.
Our company has a web-based collaborative prototyping tool, ProtoShare, that thousands of people use for website prototyping. Like other companies, we have figured out a way to translate this process to iPhone apps, but viewable directly on the iPhone.
We are currently obtaining feedback from users on our iPhone prototyping proof-of-concept and would be interested in your feedback.
We have a blog post, and a few videos here.
I appreciate your time in looking at the tool; I think you’ll find it interesting. Meanwhile, please let me know if you have any questions, feedback, or would like a demo and/or free trial.
Thanks!
Andrea
[...] How to build an iPhone User Interface prototype that follows Apple Guidelines – Surgeworks Blo… (tags: iphone_tool iphone_dev iphone_tip) [...]
Hi Mauro,
Nice article! To be a little more complete, you could have included Fireworks among the apps that can be used to design for iPhone. I hope you won’t mind me plugging it here :)
Adobe Fireworks (http://www.adobe.com/fireworks) is also an excellent application for designing and prototyping for the iPhone. With this vector toolkit from MetaSpark (http://blog.metaspark.com/2009/02/fireworks-toolkit-for-creating-iphone-ui-mockups/), you can use the iPhone interface elements in Fireworks to quickly create prototypes. Fireworks has a nice feature called Pages, that allows designing each of the screens of your iPhone app. Then you can use the Hotspots feature to link buttons to the various Pages/screens in your app. Very quick and easy.
Luke Kilpatrick shows Robert Scoble how this is done in this video: http://www.building43.com/videos/2009/06/23/mockup-iphone-app-adobe-fireworks/
When your design is complete, you have several options for sharing it with clients and other stakeholders:
+ Export to PDF from Fireworks, which you can send to clients to review using the commenting features in the PDF
+ Export to HTML and Images from Fireworks to view your prototype in the Browser
+ Export to AIR from Fireworks to create an AIR prototype
+ Export to HTML and a Dreamweaver Library from Fireworks and use this jQuery trick (http://unitid.nl/2009/04/prototyping-for-the-iphone-using-fireworks-cs3/) to get the app running on your iPhone without learning Objective C. The jQuery hides the Safari Chrome so it looks and feels like a native app, but ti is running in the Safari browser on the iPhone.
+ Use jQTouch (http://www.jqtouch.com/) which uses a similar method to the above
I’m hearing of people using Fireworks to design and prototype for all kinds of mobile devices such as the iPhone, Palm webOS (Pre and Pixi), BlackBerry, Symbian, Windows Mobile, etc. In fact, people use it for other screen design too, set-top boxes like the TiVo, PS3, Xbox, interactive kiosks, proprietary medical devices, in car interface screens – really any device with a screen.
You can download a free Trial of Fireworks that is fully functional for 30 days. http://www.adobe.com/go/tryfireworks
Thanks!
Bruce Bowman
Fireworks product manager
Glad you mentioned the Keynote / Powerpoint option. It’s too often overlooked yet Powerpoint and Keynote are way more widespread and more familiar than most than any other software.
I just shared my own templates + a vector graphics library for quickly prototyping iPhone apps. I’m sharing it for free under CC license at mockapp.com/download. So no need for screenshots from Xcode.
It also lets you make the mock-up interactive with hyperlinks, animations and transitions since PowerPoint and Keynote can both do that.
[...] discussed in the past what are the best tools out there to create mock-ups for an iPhone application storyboard — a document that describes the app flow and the desired user interaction that will get you [...]
We released an iPhone prototyping app, StencilsApp (http://www.stencilsapp.com), on the AppStore. It lets you design visually directly on the device using all the native widgets. No programming required.
The result can be then run emulating an iPhone app and you can share it with potential users and customers and get their feedback.
It’s a free download and I hope it helps you create better mobile software.