Human Interface Guidelines
HIG
  iOS
  1. Platform Characteristics
    The Display Is Paramount, Regardless of Its Size
      The display of an iOS-based device is at the heart of the user’s experience
      physically interact with the Multi-Touch screen to drive their experience (even when they can’t see the screen).
      The comfortable minimum size of tappable UI elements is 44 x 44 points.
        Find tools to measure pixels or points
        automate measuring the pixel for all UI elements in an app
      The quality of app artwork is very apparent.(Apple cares even on your apps artwork ... no wait Apple cares for theirs and your customer)
      The user’s focus is on the content.
      Resolution
        iPhone 4 :: Portrait 640 x 960 pixels :: Landscape 960 x 640 pixels
        iPad :: Portrait 768 x 1024 pixels :: Landscape 1024 x 768 pixels
        Other iPhone and iPod touch devices :: Portrait 320 x 480 pixels :: Landscape 480 x 320 pixels
        Keep an eye on new devices and resolutions
    Device Orientation Can Change
      People can rotate iOS-based devices at any time and for a variety of reasons
      On iPhone and iPod touch, the Home screen is displayed in one orientation only, which is portrait, so all app should open portrait
      On iPad, the Home screen is displayed in all orientations, so users tend to expect iPad apps to launch in the device orientation they’re currently using.
    Apps Respond to Gestures, Not Clicks
      Tap
        To press or select a control or item (analogous to a single mouse click).
      Drag
        To drag an element.
        To scroll or pan (that is, move side to side).
      Flick
        To scroll or pan quickly.
      Swipe
        With four fingers, to switch between apps on iPad.
        With one finger, to reveal the Delete button in a table-view row or to reveal Notification Center (from the top edge of the screen).
      Double tap
        To zoom out (if already zoomed in).
        To zoom in and center a block of content or an image.
      Pinch
        Pinch close to zoom out.
        Pinch open to zoom in.
      Touch and hold
        In editable or selectable text, to display a magnified view for cursor positioning.
      Shake
        To initiate an undo or redo action.
      people can move the iPhone 4S itself to activate Siri.
      People expect all these gestures to work the same, regardless of the app they’re currently running.
    People Interact with One App at a Time
      Only one application is visible in the foreground at a time
      Pre iOS 4 quitting app was immediately removed from memory
      iOS 4 and later, the quitting app transitions to the background, where it may or may not continue running
      Some applications might need to continue running in the background while users run another app in the foreground like Email, music players
    Preferences Are Available in Settings
      Preferences in the Settings app are of the “set once and rarely change” type
        most apps do not need this type, so they don’t have preferences in the Settings app.
    Onscreen User Help Is Minimal
      Mobile users have neither the time nor the desire to read through a lot of help content
      help content takes up valuable space to store and display.
      iOS-based devices and their built-in applications are intuitive and easy to use
    Most iOS Apps Have a Single Window
      An iOS application has a single window, unless it supports an external display
        Test for external display apps
    Two Types of Software Run in iOS
      iOS Apps
        application you develop using the iOS SDK to run natively on iOS-based devices.
        People install iOS apps on their devices and use them just as they use built-in applications,
      Web content
        Web apps
          A web app often hides the UI of Safari on iOS so that it looks more like a native app.
          Using the web clip feature, a web app can also supply an icon for people to put on the Home screen
          Need to explore more get some web apps
        Optimized webpages
          Tests for iOS optimizatied websites
        Compatible web pages
          Tests for iOS compatible web sites
      Native App plue web content
        Apps like new channel apps?
    Safari on iOS Provides the Web Interface
      Safari on iOS supports cookies.
        Tests for Mobile Safari cookies effective usage by website
      No support
        Flash
        Java, including Java applets
        third-party plug-ins within web content.
      Supports
        HTML5 <audio> and <video> tags to provide audio and video streaming,
        CSS3 transforms, transitions, and animations to display animated content
        JavaScript
  2. Human Interface Principles
    Aesthetic Integrity
      not how beautiful an app is
      how well the appearance of the app integrates with its function
      Email, contacts app
        keeps decorative elements subtle and in the background
        giving prominence to the task by providing standard controls and behaviors
        a clear, unified message about its purpose and its identity.
      Games
        beautiful appearance
        promises fun and encourages discovery
    Consistency
      allows people to transfer their knowledge and skills from one application to another
      take advantage of the standards and paradigms people are comfortable with
      Is the application consistent with iOS standards?
      Does it use system-provided controls, views, and icons correctly?
      Does it incorporate device features in a reliable way?
      Is the application consistent within itself
      Does text use uniform terminology and style?
      Do the same icons always mean the same thing?
      Can people predict what will happen when they perform the same action in different places?
        is the application consistent with its earlier versions?
      Do custom UI elements look and behave the same throughout the app?
      Have the terms and meanings remained the same?
      Are the fundamental concepts essentially unchanged?
    Direct Manipulation
      instead of tapping zoom controls, people can use the pinch gestures to directly expand or contract an area of content.
      game, players move and interact directly with onscreen objects.
      Rotate or otherwise move the device to affect onscreen objects
      Can see that their actions have immediate, visible results
    Feedback
      People expect immediate feedback when they operate a control
      operations that last more than a few seconds, a control shows elapsing progress,
      list items highlight briefly when people tap them
      Sound
        shouldn’t be the primary
        shouldn’t be the solo
    Metaphors
      users quickly grasp how to use the app.
      Classic Example : Folder Icon
      People physically interact with realistic onscreen objects
      operating them as if they were real-world objects
      Ex
        Tapping Music playback controls
        Dragging, flicking, or swiping objects in a game
        Sliding On/Off switches
        Flicking through pages of photos
        Spinning picker wheels to make choices
    User Control
      People, not applications, should initiate and control actions
      Although an application can suggest a course of action or warn about dangerous consequences
      it’s usually a mistake for the app to take decision-making away from the user
      Best apps find the correct balance between
        giving people the capabilities they need
        while helping them avoid dangerous outcomes.
      people expect to be able to gracefully stop an operation that’s underway.
  3. UI Design Basics
    Take advantage of the whole screen
    Reconsider visual indicators of physicality and realism. focus on the content and let the UI play a supporting role
    Let translucent UI elements hint at the content behind them
    Let color simplify the UI
      A key color—such as yellow in Notes—highlights important state and subtly indicates interactivity
    Ensure legibility by using the system fonts
    Embrace borderless buttons. By default, all bar buttons are borderless.
    Use Depth to Communicate
      iOS often displays content in distinct layers that convey hierarchy and position
    App Anatomy
      Navigation bar
      Segmented Control
      Map view
      Tap bar
      Tool bar
      Alert
    Build In Adaptivity
      People want to use their favorite apps on all their devices and in any orientation
      Maintain focus on the primary content in all environments
      Avoid gratuitous changes in layout
      Support both variants of an orientation
    Starting and Stopping
      Start Instantly
        As much as possible, avoid displaying a splash screen or other startup experience
      Delay a login requirement for as long as possible
      Think carefully before providing an onboarding experience
      In general, launch in the device’s current orientation
      Provide a launch file or image
        gives users the impression that your app is fast
      When your app restarts, restore its state so users can continue where they left off
    Navigation
      Hierarchical
        users navigate by making one choice per screen until they reach their destination
        To navigate to another destination, users must retrace some of their steps—or start over from the beginning
      Flat
        users can navigate directly from one primary category to another because all primary categories are accessible from the main screen
      Content- or experience-driven
        it works well to combine more than one navigation style in an app
        Users should always know where they are in your app and how to get to their next destination
        Use a navigation bar to give users an easy way to traverse a hierarchy of data
        Use a tab bar to display several peer categories of content or functionality
        Use a page control when each app screen represents an individual instance of the same type of item or page
      Your job is to implement navigation in a way that supports the structure and purpose of your app without calling attention to itself
    Modal Contexts
      Modality—that is, a mode in which something exists or is experienced
      It can give users a way to complete a task or get information without distractions, but it does so by temporarily preventing them from interacting with the rest of the app. Ex. Share screen
      Keep modal tasks simple, short, and narrowly focused
      Always provide an obvious and safe way to exit a modal task
      Reserve alerts for delivering essential—and ideally actionable—information
    Interactivity and Feedback
      Tap
        To press or select a control or item.
      Drag
        To scroll or pan—that is, move side to side, To drag an element.
      Flick
        To scroll or pan quickly.
      Swipe
        With one finger, to return to the previous screen, to reveal the hidden view in a split view controller, or the Delete button in a table-view row.
        With four fingers, to switch between apps on iPad.
      Double tap
        To zoom in and center a block of content or an image.
        To zoom out (if already zoomed in)
      Pinch
        Pinch open to zoom in; pinch close to zoom out.
      Touch and hold
        In editable or selectable text, to display a magnified view for cursor positioning.
      Shake
        To initiate an undo or redo action.
      Avoid associating different actions with the standard gestures
      Avoid creating custom gestures that invoke the same actions as the standard gestures
      Use complex gestures as shortcuts to expedite a task, not as the only way to perform it
      In general, avoid defining new gestures unless your app is a game
      In a regular environment, consider using multifinger gestures
      Feedback Aids Understanding
      Integrate status and other relevant feedback information into your UI
    Animation
      Communicate status and provide feedback
      Enhance the sense of direct manipulation
      Help people visualize the results of their actions
      Add animation cautiously, especially in apps that don’t provide an immersive experience
      When appropriate, make custom animation consistent with built-in animation
      Strive for realism and credibility in custom animation
    Branding
      iOS makes it easy to use custom icons, colors, and fonts to create a distinctive UI that sets your app apart
      Incorporate a brand’s assets in a refined, unobtrusive way
      Don’t take space away from the content people care about
      Resist the temptation to display your logo throughout the app
    Colour & Typography
      If you create multiple custom colors, make sure they work well together
      Pay attention to color contrast in different contexts
      Take bar translucency and app content into account when you use a custom bar tint
      Be aware of color blindness
      Consider choosing a key color to indicate interactivity and state
      In most cases, don’t let color distract users
      Text Should Always Be Legible
      Prioritize content when responding to text-size changes
      When appropriate, adjust the layout when the user chooses a different text size
      Make sure all styles of a custom font are legible at different sizes
      In general, use a single font throughout your app
    Icons & Graphics
      The app icon is an important part of your app’s brand.
      The best app icons are unique, uncluttered, engaging, and memorable
      Bar Icons
        iOS provides a lot of small icons—representing common tasks and types of content—for use in tab bars, toolbars, and navigation bars
      Support the Retina display
      Display photos and graphics in their original aspect ratio, and don’t scale them greater than 100%
    Terminology and Wording
      Use terminology that you’re sure your users understand
      Use a tone that’s informal and friendly, but not too familiar
      Think like a newspaper editor, and watch out for redundant or unnecessary words
      Give controls short labels or use well-understood icons
      Take care to be accurate when describing dates
  4. App Design Strategies
    List All the Features You Think Users Might Like
    Determine Who Your Users Are
    Filter the Feature List Through the Audience Definition
    Tailor Customization to the Task
    As much as possible, avoid increasing the user’s cognitive burden
    Aesthetic Integrity - it represents how well an app’s appearance and behavior integrates with its function
    Consistency - lets people transfer their knowledge and skills from one part of an app’s UI to another and from one app to another app
    Direct Manipulation - directly manipulate onscreen objects instead of using separate controls to manipulate them
    Feedback - acknowledges people’s actions, shows them the results, and updates them on the progress of their task.
    Metaphors
    User Control
  5. User Experience Guidelines
    Focus on primary task
    Elevate the Content that People Care About
    Think Top Down
      Most frequently used information near the top
    Give People a Logical Path to Follow
      Path through the information - logical and easy for users to predict
    Make Usage Easy and Obvious
      Main function of the application - immediately apparent
    Use User-Centric Terminology
      Use terminology you’re sure that your users understand
    Minimize the Effort Required for User Input
      Balance any request for input by users with what you offer users in return
      Make it easy for users to input their choices
      Get information from iOS, when appropriate
    Downplay File-Handling Operations
      allow people to manage documents without opening iTunes on their computer
    Enable Collaboration and Connectedness
      make it easy for people to interact with others and share things
    De-emphasize Settings
      Avoid including settings in app if possible
        Very few, & simple settings, available in the app itself
      Let users set the behavior they want by using configuration options in your application
      Offer configuration options in the main user interface or (in iPhone apps) on the back of a view
        No such option provided
    Brand Appropriately
      Incorporate a brand’s colors or images in a refined, unobtrusive way
      Avoid taking space away from the content people care about
    Make Search Quick and Rewarding
    Entice and Inform with a Well-Written Description
      Be sure to correct all spelling, grammatical, and punctuation errors
      Keep all-capital words to a minimum
      Consider describing specific bug fixes
    Well-Written Description
    Be Succinct
      Briefly express, clearly, concisely
    Use UI Elements Consistently
      Follow the recommended usages for standard user interface elements
      For an app that enables an immersive task, such as a game, it’s reasonable to create completely custom controls
      Avoid radically changing the appearance of a control that performs a standard action
    Consider Adding Physicality and Realism
    Delight People with Stunning Graphics
    Handle Orientation Changes
      Only portrait view provided. Landscape view could also be provided
    Make Targets Fingertip-Size
      Give tappable elements in your application a target area of about 44 x 44 points
    Use Subtle Animation to Communicate
      Add animation cautiously, especially in applications that do not provide an immersive experience
      Make animation consistent with built-in applications when appropriate
      Use animation consistently throughout your app
    Support Gestures Appropriately
      Avoid associating different actions with the standard gestures users know
      Use complex gestures as shortcuts to expedite a task, not as the only way to perform a task
      In general, avoid defining new gestures
      For iPad, consider using multifinger gestures
    Ask People to Save Only When Necessary
    Make Modal Tasks Occasional and Simple
      Keep modal tasks fairly short and narrowly focused
      Always provide an obvious and safe way to exit a modal task
    Start Instantly
      Display a launch image
      Avoid displaying an About window or a splash screen
      On iPhone, specify the appropriate status bar style
      Launch in the appropriate default orientation
      Avoid asking people to supply setup information
        Focus your solution on the needs of 80 percent of your users
        Get as much information as possible from other sources
        If you must ask for setup information, prompt people to enter it within your application
      Delay a login requirement for long as possible
      Restore the state of the app to that in use when the user last stopped using the application
    Always Be Prepared to Stop
      Save user data as soon as possible and as often as reasonable
      Save the current state when stopping
    Don’t Quit Programmatically
      Display an attractive screen that describes the problem and suggests a correction
      If only some of your application's features are not working, display either a screen or an alert when people activate the feature
    If Necessary, Display a License Agreement or Disclaimer
      If possible, avoid requiring users to indicate their agreement to your EULA when they first start your application
      If possible, provide a disclaimer within your application description or EULA
    For iPad: Enhance Interactivity
      Resist the temptation to add features that are not directly related to the main task.
  6. iOS UI Element Usage Guidelines
    Bars
      Status Bar
        Always appears at the upper edge of the device screen
        Displays important information about the device and the current environment
        Prevent scrolling content from showing through the status bar
        Avoid putting distracting content behind the status bar
        Think twice before permanently hiding the status bar
        Consider hiding the status bar—and all other app UI—while people are actively viewing full-screen media
        Choose a status bar content color that coordinates with your app
        When appropriate, display the network activity indicator
      Navigation Bar
        Enables navigation through an information hierarchy
        When it adds value, use the title of the current view as the title of the navigation bar
        Consider putting a segmented control in a navigation bar at the top level of an app
        Avoid crowding a navigation bar with additional controls, even if it looks like there’s enough space.
        Make sure text-titled buttons have enough space between them
        As much as possible, make sure that the look of a customized navigation bar is consistent throughout your app
        Make sure that a customized back button still looks and behaves like a back button
        Consider hiding the navigation bar when users want to focus on conten
      Toolbar
        Contains controls that perform actions related to objects in the screen or view
      Tab bar
        gives people the ability to switch between different subtasks, views, or modes
        use a tab bar to organize information at the app level
        Don’t use a tab bar to give users controls that act on elements in the current screen or app mode.
        Consider badging a tab bar icon to communicate unobtrusively
        Avoid crowding the tab bar with too many tabs
        As much as possible, display the same tabs in every orientation
      Search bar
        Accepts text from users, which can be used as input for a search
        Placeholder text
        Bookmarks button
        Clear button
        The results list icon
        A descriptive title, called a prompt
      Scope Bar
        available only in conjunction with a search bar—helps users define the scope of a search.
    Standard Buttons for Use in Toolbars and Navigation Bars
    Content Views
      Activity
        Is a customizable object representing a task that an app can perform while users are in the app
        Is represented by an icon that looks similar to a bar button icon
      Activity View Controller
        presents a transient view listing system-provided and custom tasks that can act on some specified content.
      Collection View
        manages an ordered collection of items and presents them in a customizable layout.
      Container View Controller
        manages and presents its set of child views—or view controllers—in a custom way
      Image View
        displays one image or an animated series of images
      Map View
        presents geographical data and supports most of the functionality provided by the built-in Maps app
      Page View Controller
        uses one of two styles to manage transitions through multipage content—scrolling or page-curl
      Popover
        a transient view that can be revealed when people tap a control or tap in an onscreen area.
      Scroll View
        helps people see content that is larger than the scroll view’s boundaries
      Split View Controller
        a full-screen view controller that manages the presentation of two child view controllers.
      Table View
        presents data in a scrolling single-column list of multiple rows.
      Text View
        accepts and displays multiple lines of attributed text.
      Web View
        is a region that can display rich HTML content
    Controls
      Activity Indicator
        shows that a task or process is progressing
        Spins while a task is progressing and disappears when the task completes
        Doesn’t allow user interaction
      Contact Add Button
        lets the user add an existing contact to a text field or other text-based view
        Displays a list of the user’s contacts
        Helps users add a contact to the view that contains the Contact Add button
      Date Picker
        displays components of date and time, such as hours, minutes, days, and years
        Displays up to four independent wheels, each of which displays values in a single category, such as month or hour
        Uses dark text to display the current value in the middle of the view
        Can’t be resized (the size of a date picker is the same size as the iPhone keyboard)
        Has four modes, each of which displays wheels containing a set of different values:
      Detail Disclosure Button
        reveals additional details or functionality related to an item
      Info Button
        reveals configuration details about an app, sometimes on the back of the current view.
      Label
        displays static text.
      Network Activity Indicator
        appears in the status bar and shows that network activity is occurring.
      Page Control
        indicates the number of open views and which one is currently visible
      Picker
        displays a set of values from which a user picks one
      Progress View
        shows the progress of a task or process that has a known duration
      Refresh Control
        performs a user-initiated content refresh—typically in a table
      Rounded Rectangle Button
      Segmented Control
        is a linear set of segments, each of which functions as a button that can display a different view.
      Slider
        allows users to make adjustments to a value or process throughout a range of allowed values
      Stepper
        increases or decreases a value by a constant amount
      Switch
        presents two mutually exclusive choices or states
      System Button
        A system button performs an app-specific action
      Text Field
        accepts a single line of user input
    Temporary Views
      Alert
        gives people important information that affects their use of an app or the device
      Action Sheet
        displays a set of choices related to a task the user initiates
      Modal View
        that is, a view presented modally—provides self-contained functionality in the context of the current task or workflow
  7. Custom Icon and Image Creation Guidelines
    Enlist the help of a professional graphic designer
    Use universal imagery that people will easily recognize
    Embrace simplicity
    Use color and shadow judiciously to help the icon tell its story
    In general, avoid using “greek” text or wavy lines to suggest text
    In general, create an idealized version of the subject rather than using a photo
    Avoid using iOS interface elements in your artwork
    Don’t use replicas of Apple hardware products in your artwork
    Don’t reuse iOS app icons in your interface
    Portray real substances accurately
    Use transparency when it makes sense
    Application icons
      Ensure that your icon is eligible for the visual enhancements iOS provides
      Give your application icon a discernible background
    Launch images
      A launch file or image provides a simple placeholder image that iOS displays when your app starts up.
      gives users the impression that your app is fast and responsive because it appears instantly
      Design a plain launch image that improves the user experience
    Bar Button Icons
      Refresh, Action, Add, and Favorites...etc
    Newsstand Icons
    Web Clip Icons
  8. iOS Technology Usage Guidelines
    App Extensions
      App extensions increase the reach of your app, giving users access to focused parts of its functionality while they use other apps
      You deliver an app extension inside a fully functional iOS app that you submit to the App Store
      Today Widgets
      Share and Action Extensions
        Action button, Action extensions are listed in the bottom row and Share extensions are listed above them
      Photo Editing Extensions
      Document Provider Extensions
      Custom Keyboards
    Notification Center
      Single, convenient place in which to view notifications from their apps
        Keep badge contents up to date
        Don’t send multiple notifications for the same event
        Provide a custom message that does not include your app name
        Optionally, provide a custom title for the action button in an alert
        Provide a sound that users can choose to hear when a notification arrives
        Optionally, provide a launch image
      Notification Center has two views: Today and Notifications.
        The Today view displays an editable list of widgets.
        The Notifications view displays recent notification items from apps that users are interested in
      A local notification is scheduled by an app and delivered by iOS on the same device
      A remote notification (also called a push notification) is sent by an app’s remote server to the Apple Push Notification service, which pushes the notification to all devices that have the app installed
      A banner is a small translucent view that appears onscreen and then disappears after a few seconds.
      A notification alert is a standard alert view that appears onscreen and requires user interaction to dismiss
      A badge is a small red oval that displays the number of pending notification items
      A custom or system-provided sound can accompany any of the other three notification types.
    Multitasking
      Multitasking allows people to switch quickly among recently used apps
      Be prepared for interruptions, and be ready to resume
      Make sure your UI can handle the double-high status bar
      Be ready to pause activities that require people’s attention or active participation
      Ensure that your audio behaves appropriately.
      Use local notifications sparingly
      When appropriate, finish user-initiated tasks in the background
    Social Media
      Consider giving users a convenient way to compose a post within your app
      When possible, avoid asking users to sign into a social media account
    iCloud Storage
      Respect the user’s iCloud account
      Determine which types of information to store in iCloud storage
      Make sure that your app behaves reasonably when iCloud storage is unavailable
      If appropriate, make it easy for users to enable iCloud storage for your app
      Avoid asking users to choose which documents to store in iCloud
      Avoid giving users the option to create a "local” document
      When appropriate, update content automatically.
      Warn users about the consequences of deleting a document
      Tell users about conflicts as soon as possible, but only when necessary
      Be sure to include the user’s iCloud content in searches
      Avoid giving users the option to create a "local” document
    HealthKit
      apps can use HealthKit to both read and write data from the Health app, the central storage location for a user’s health-related data
      Request access to health data only if you have a compelling reason to do so
      Avoid asking for health data before users have a chance to understand what it will be used for.
      Use the system-provided UI to request permission to access the user’s data
      Don't use Health app icons, images, or screenshots in your UI
      Don't use the term “HealthKit” in your UI
    Passbook
      The Passbook app helps people view and manage passes, which are digital representations of physical items such as boarding passes, coupons, membership cards, and tickets
      As much as possible, avoid simply reproducing an existing physical pass
      Be selective about the information you put on the front of a pass
      In general, avoid using a plain white background
      Use the logo text field for your company name
      Use a white company logo
      Use a rectangular barcode when possible
      Enhance the utility of a pass by updating it when appropriate
    Apple Pay
      Apple Pay is an easy, secure, and private way to make payments on iOS devices
      Don’t display any Apple Pay UI if a user can’t use Apple Pay
      Display the payment sheet immediately after a user taps the Apple Pay button
      Display the Apple Pay button at the same size or larger than other visible payment buttons
      Make sure to display only the information that’s necessary to complete the transaction on the payment sheet.
      Let users choose their delivery method within the payment sheet
      As much as possible, create line item labels that can display on a single line
      Use Apple Pay to accept single-item purchases if your app doesn’t have a shopping cart
      Use Apple Pay to offer an express checkout
      Let users specify additional information for in-store pickup before displaying the payment sheet.
      Display an order confirmation or thank you page.
      If appropriate, note Apple Pay on your confirmation page.
    In-App Purchase
      In-App Purchase lets people buy digital products within your app
      Elegantly integrate the store experience into your app
      Use simple, succinct titles and descriptions
      Don’t alter the default confirmation alert
    Game Center
      lets people play games, organize online multiplayer games
      Don’t create custom UI that prompts users to sign into Game Center
      In general, use the standard Game Center UI
      Give users the ability to turn off voice chat
    iAd Rich Media Ads
      Banners
        Standard Banner
          Standard banner view dimensions
            iPad
              Portrait
                768 x 66
              Landscape
                1024 x 66
            iPhone
              Portrait
                320 x 50
              Landscape
                480 x 32
          Avoid displaying banners on screens that users are likely to see only briefly
          Don’t allow standard or medium rectangle banners to scroll off the screen
        Medium Rectangle Banner
          Place a medium rectangle banner view where it doesn’t interfere with the user’s content
        Full-Screen Banner
          Full screen banner view dimensions
            iPad
              Portrait
                Height
                  911 points to 1024
                Width
                  768
              Landscape
                Height
                  655 points to 768
                Width
                  1024
          Present a full screen banner modally when there are interludes in the user experience
          Present a full screen banner nonmodally when there are transitions between app views
          Don’t stop an ad, except in rare circumstances
          While people view or interact with ads, pause activities that require their attention or interaction
    AirPrint
      Wirelessly print content from your app and use Print Center app to check on a print job
      Use the system-provided Action button
      Display the Print item when printing is a primary function in the current context
      If appropriate, provide additional printing options to users
      Don’t display print-specific UI if users can’t print
    Accessing user data
      Location Services allows apps to determine people’s approximate location geographically, the direction they’re pointing their device, and the direction in which they’re moving
      system services—such as Contacts, Calendar, Reminders, and Photo Library—also allow apps to access the data people store in them.
      Make sure users understand why they’re being asked to share their personal data.
      Describe why your app needs the information, if it’s not obvious.
      Avoid making programmatic calls that trigger the alert before the user actually selects the feature that needs the data
      For location data, check the Location Services preference to avoid triggering the alert unnecessarily
    Quick Look Document Preview
      users can preview a document within your app, even if your app can’t open the document
      On iPad, display a document preview modally
      On iPhone, display a document preview in a dedicated view, preferably a navigation view
    Sound
      Understand User Expectations
      Define the Audio Behavior of Your App
      Manage Audio Interruptions
      Handle Media Remote Control Events, if Appropriate
    VoiceOver and Accessibility
      increases accessibility for blind and low-vision users, and for users with certain learning challenges.
    Routing
      A routing app provides information about transit options for the currently selected route
      People expect routing apps to be quick, easy to use, and—above all—accurate
      Streamline the UI for ease of use
      Focus on the route
      Provide information for every step of a route
      When users transition to your app from Maps, don’t ask them to reenter information
      Display transit information both graphically and textually
      Enrich map views with additional information
      Give users different ways to sort multiple transit options
      Consider using push notifications to give people important information about their route
    Edit Menu
      Users can reveal an edit menu to perform operations such as Cut, Paste, and Select in a text view, web view, or image view.
      Display commands that make sense in the current context
      Accommodate the menu display in your layout
      Support both gestures that people can use to invoke the menu
      Avoid creating a button in your UI that performs a command that’s available in the edit menu
      Consider enabling the selection of static text if it’s useful to the user
      Don’t make button titles selectable
      Combine support for undo and redo with your support of copy and paste
      Create edit menu items that edit, alter, or otherwise act directly upon the user’s selection
      List custom items together after all system-provided items
      List custom items together after all system-provided items
    Undo & Redo
      Supply brief descriptive phrases that tell users precisely what they’re undoing or redoing
      Avoid supplying text that is too long
      Avoid overloading the shake gesture
      Use the system-provided Undo and Redo buttons only if undo and redo are fundamental tasks in your app
      Clearly relate undo and redo capability to the user’s immediate context, and not to an earlier context
    Keyboards and Input Views
      you can create a custom keyboard extension that people can use instead of the system-provided keyboard
    Location Services
      Avoid making any programmatic calls that trigger the alert before the user actually selects the feature that needs the information
      Check the user’s Location Services preference to avoid triggering the alert unnecessarily
      Check the user’s Location Services preference to avoid triggering the alert unnecessarily
      Make sure users understand why they’re being asked to turn Location Services on
    No ads as of now
  9. Case Studies: Transitioning to iOS
1. Webpages that are optimized for Safari on iOS display and operate as designed
2. unsupported technologies, such as plug-ins, Flash, and Java
3. An optimized webpage correctly scales content for the device screen and is often designed to detect when it is being viewed on iOS-based devices
1. Webpages that are optimized for Safari on iOS display and operate as designed
2. unsupported technologies, such as plug-ins, Flash, and Java
3. A compatible webpage does not tend to take extra steps to optimize the viewing experience on iOS-based devices, but the device usually displays the page successfully.
An iOS app might combine native UI elements with access to web content within a web content–viewing area
Use of cookies can streamline user interaction with web content by saving the user’s context, preferences, and previously entered data.