I held a 6-hour workshop at NSConference in both the UK and USA recently, focusing on software design and user experience. Predictably, an extremely popular topic was the iPad, and how to approach the design of iPad applications. I gave a 90-minute presentation on the subject to start each workshop, and I want to share some of my observations here. Please note: this is about the user interface conventions and considerations which apply to creating software for the iPad platform (and touch-screen tablet devices in general). As I watched the iPad introduction keynote, there was one thing above all which struck me: That’s iWork (Keynote, Pages and Numbers) for iPad. It’s not just a big iPhone The iPad may be a larger version of the iPhone in terms of the hardware and operating system, but treating it as the same device would be foolish. When Steve Jobs introduced the iPad, he did so in a very specific way: The iPad is in the middle, between the iPhone and the Mac. The Missing Link Two Hands
Related: UI Design Guidelines
5 Things to Know When Designing for iOSBased on our experience creating great iOS apps, we’ve come up with a list of 5 things we believe designers should keep in mind while conceptualizing interfaces for iOS. While the focus of this article is only on iOS apps, much of the advice here translates directly to other mobile platforms. 1. This seems obvious, but designing apps instead of websites actually represents a huge shift in mindsets. Apps have a completely different user interaction model from websites: taps vs. clicks, views vs. pages, buttons vs. links, etc. In addition to a different interaction model, apps should have different modalities. How users get around in apps vs. on websites is another area of contrast to consider. Navigation is very different on iOS – there is no browser chrome or Back button. Finally, remember that iOS apps run on iOS devices. Wikipedia has a comprehensive breakdown of all iOS devices, but we thought we’d distill that down to a short list of devices running iOS 6. 2. 3. 4. 5.
Deploying iPhone Apps to Real DevicesIn our previous article on getting started with iPhone development, you learnt how to use the iPhone SDK provided by Apple to develop your first iPhone application. For testing purposes, you used the iPhone Simulator, provided as part of the iPhone SDK. While the iPhone Simulator is a very handy tool that allows you to test your iPhone applications without needing a real device, nothing beats testing on a real device. A repeated criticism from iPhone app developers comes from the difficulty they find in deploying their application to a real iPhone or iPod Touch. Sign up for the iPhone Developer Program The first step towards testing your applications on a real device is to sign up for the iPhone Developer Program at Start your Xcode In order to test your iPhone applications on your device, you need to obtain an iPhone Development Certificate from the iPhone Developer Program Portal. Figure 1 Obtaining the identifier for your iPhone/iPod Touch
Cocoa (API)Cocoa is Apple's native object-oriented application programming interface (API) for the OS X operating system. For iOS, there is a similar API called Cocoa Touch which includes gesture recognition, animation, and a different user interface library, and is for applications for the iOS operating system, used on Apple devices such as the iPhone, the iPod Touch, and the iPad. Cocoa consists of the Foundation Kit, Application Kit, and Core Data frameworks, as included by Cocoa.h header file, as well as the libraries and frameworks included by those, such as the C standard library and the Objective-C runtime. One feature of the Cocoa environment is its facility for managing dynamically allocated memory. Starting with Objective-C 2.0, the Objective-C runtime implements an optional garbage collector. The Smalltalk teams at Xerox PARC eventually settled on a design philosophy that led to easy development and high code reuse. Cocoa's design is a strict application of MVC principles.
Introduction to iPhone DesignThis post is the first in a 10-part iPhone Design series featured on Mobiletuts+. Every week, we will dive into a variety of aspects of how to design beautiful and usable mobile interfaces for iOS. To get a reminder each time a new post arrives in this series, be sure to subscribe via email or our RSS feed! Series Overview Are you a web designer, excited by the idea of designing iPhone apps, but unsure of how to get started? The topics you can look forward to in this series include both hands-on techniques and examples as well as mobile related design theory. Designing for the iPhone Audience and the App StoreHow to Use iPhone and iPad Design TemplatesDesigning Apps that Use All Available iPhone FunctionalityHow to Design for the Different Types of iPhone Apps The Mobile Design ProcessThe Pros and Cons of Using Apple Default vs. Designing for Mobile vs. the Web Can't I just start designing apps? Not really. Designing for the Web Mouse clicksKeystrokesMicrophone inputSpeaker audio output
10 things designers need to know about iOS 7 | AppleApple has long been criticised for the slightly haphazard approach it's taken to the user interface design of its apps, and the iOS platform in general. Some apps have featured heavily skeuomorphic design, while others have been purely functional with little or no design flourish. Yesterday, though, that all changed. At its annual developers conference, WWDC, Apple introduced an all-new design language for iOS 7, eschewing the pseudo-3D patent-leather, wood and felt in favour of a clean approach that’s typography-led and heavily (although not exclusively) influenced by flat design. This shift in approach is a game changer to designers responsible for crafting iOS app interfaces. We’ve scoured Apple’s Transition Guide and picked out the 10 most important considerations for designers. Read all our app design-related articles here 01. One of the most important changes in iOS 7 for interface designers is the introduction of transparency and translucency. 02. 03. 04. 05. 06. 07. 08. 09. 10.
iOS Debugging MagicTechnical Note TN2239 iOS contains a number of 'secret' debugging facilities, including environment variables, preferences, routines callable from GDB, and so on. This technote describes these facilities. If you're developing for iOS, you should look through this list to see if you're missing out on something that will make your life easier. Introduction All Apple systems include debugging facilities added by Apple engineering teams to help develop and debug specific subsystems. Many of the details covered in this technote vary from platform to platform and release to release. This technote was written with reference to iOS 4.1. In addition to this technical issue of binary compatibility, keep in mind that iOS applications must comply with various legal agreements and the App Store Review Guidelines. This technote covers advanced debugging techniques. GDB is the system's primary debugging tool. This technote does not cover performance debugging. Basics Enabling Debugging Facilities Notes:
iPhone and iPad Design Templates and How to Use ThemThere is a lot of “process” that goes into designing for mobile devices, but sometimes you just wanna jump in and get your hands dirty! This post is designed to give you the tools you’ll need and the basic design and technical requirements to get you up and running quickly. Standard Screen Sizes and Icon Sizes If you haven’t read the Apple Interface Guidelines for iPhone and iPad yet, you should. What’s the Resolution of the New Retina Display? The iPhone retina screen is a spectacular thing to see. You can see in comparing the two devices that the screen dimensions for iPhone 4 are unchanged from the previous model. When reading about screen resolution it’s easy to quickly become confused. Photoshop Setup Specs: Graphics for the iTunes Store Icon: 512 x 512 px (.tif, .jpg or .png, 72dpi, RGB) iPhone Screenshots: 320 x 480 px or 640 x 860 px (.tif, .jpg or .png, 72dpi, RGB) iPad Screenshots: 1024 x 768 px (.tif, .jpg or .png, 72dpi, RGB) The Future of Screen Sizes Testing Your Design
Apple Publishes iOS 7 Transition Guide To Help Developers Adopt Flat DesignAs expected, Apple is introducing a completely new design language for iOS 7. For developers, this means they will have to adapt their apps to match the rest of the operating system if they don’t want them to look antiquated. Thankfully, Apple today also published a pretty extensive guide to designing for iOS 7 and transitioning apps to the new version that helps developers understand how they should use new UI elements like borderless buttons, translucent bars and full-screen layouts for their apps. As Apple notes, iOS 7 provides “a rare opportunity to revisit the way apps communicate their core purpose and functionality to users.” Here are Apple’s three main themes for developing for iOS 7: Deference. One new feature Apple especially stresses in its documentation is Dynamic Type, which now automates many of the text layout functions in iOS. Here is Apple’s full list of the things it believes an app developer should do to get ready for the next version of iOS 7: