SlideShare a Scribd company logo
1 of 84
Preparing for Release to the
App Store
Geoffrey L. Goetz
who is @ggeoffre?
@ggeoffre
I have a blog...
GigaOm’s - The Apple Blog
http://gigaom.com/author/ggeoffre/


I wrote a book...
Wiley and Son’s - Mastering JBuilder
http://www.wiley.com/WileyCDA/WileyTitle/productCd-0471267147.html


I am standing in front of you...
CodeMash 2.0.1.2 - Sessions
http://codemash.org/Sessions/Technology/Mobile#Preparing+for+Release+to+the+App+Store


I have long hair!
@ggeoffre

                          F T
Mobile Architect at Compuware




        R A
Writer for “The Apple Blog” (GigaOm)
Entrepreneur




D
Previously at Nationwide, Borland and ACTS
Co-Author “Mastering JBuilder”
why are we here?
Why are we here...
              The global mobile applications market is
              expected to be worth $25.0 billion in
2015, growing at a CAGR of 29.6% from 2010 to
2015.
Why are we here...
                 Although Android is likely to grow its
                 smartphone market share faster,
Apple will probably maintain a 70%+ share of mobile
app dollars spent over the next 3 or 4 years.
Apple has about 85% to 90% market share of the total
dollars spent on mobile apps.
Apple developers have made more than $3.4
billion since 2011, compared with less than $240
million for Google developers.
Why are we here...
                     There are approximately 370,000
iOS                   apps from 78,000 publishers with
an average price of just $2.52 U.S. per app.

While there may have been over 10 billion app
downloads, that number spreads the $2 billion that
Apple has paid to publishers over its three-year lifespan
very thin.

These numbers translate into an economy where there
is just over $8,500 per publisher per year to go around.
Good Artist Copy,
Great Artist Steal.
lets get started!
to


                                      ^
Taking an App from the Market
 Basics of Getting Started
 Creating a Relationship with Apple
 Field Testing Opportunities
 Submission to the App Store
 Managing User Feedback
Basics of Getting Started
 Research ‘Like’ Apps
 Human Interface Guidelines
 App Store Review Guidelines
 Templates, Tools and Napkins
 Procuring Test Devices
 Learning Xcode, Objective-C and iOS
Research ‘Like’ Apps
Research ‘Like’ Apps
Search Term
Category
Device
Rating
Popularity
Research ‘Like’ Apps
Get a solid list of three to
ten ‘like’ Apps
  Read User Feedback on
  App Store
  Visit the App’s Web
  Sites
  Look for Blogger
  Reviews
  Watch YouTube
  Walkthroughs
Research ‘Like’ Apps
148Apps.biz - a good source for the current state of
the App store.
Research ‘Like’ Apps
AppShopper.com - Great resource to see how other
App developers have modified their pricing as well as
how often they release updates.
Research ‘Like’ Apps
iTunes JSON Interface - Not only a good place to get
information on competitors Apps, but also a great way
to keep data in sync between your web site and the
App store.




 http://itunes.apple.com/search?parameterkeyvalue
Human Interface Guidelines
Human Interface Guidelines




    http://developer.apple.com/library/ios/
 #documentation/UserExperience/Conceptual/
                  MobileHIG/
Human Interface Guidelines
Focus on the Primary Task          Handle Orientation Changes

Give People a Logical Path to      Make Targets Fingertip-Size
Follow
                                   Use Subtle Animation to
Make Usage Easy and Obvious        Communicate

Minimize the Effort Required for   Support Gestures Appropriately
User Input
                                   Start Instantly
Be Succinct
                                   Always Be Prepared to Stop
Use UI Elements Consistently
                                   Don’t Quit Programmatically
App Store Review Guidelines
App Store Review Guidelines




https://developer.apple.com/appstore/resources/
             approval/guidelines.html
App Store Review Guidelines
Lots of kids downloading lots of apps...
If your app doesn't do something useful or provide some
form of lasting entertainment, it may not be accepted...
App looks like it was cobbled together in a few days...
Content or behavior that Apple believe’s is over the line...
Don’t run to the press, appeal to the Review Board...
Unethical practice will result in expelled from the
developer program
Templates, Tools and Napkins
Templates, Tools and Napkins

      Graffletopia - Stencil Library for OmniGraffle
      http://graffletopia.com/



      speckyboy - PSD Stencils and Vector Images
      http://speckyboy.com/
Templates, Tools and Napkins
         UISketcher




   MockingPad

                                           Blueprint

http://gigaom.com/apple/5-great-ipad-tools-for-designing-apps/
Templates, Tools and Napkins




      http://www.uistencils.com/
Procuring Test Devices
iOS Models


iPhone                      iPod Touch                   iPad
 Original iPhone               1st Generation
 iPhone 3G                     2nd Generation
 iPhone 3GS                    3rd Generation
 iPhone 4                      4th Generation               iPad
         Source: http://en.wikipedia.org/wiki/List_of_iOS_devices
Timeline of iOS Models




    Source: http://en.wikipedia.org/wiki/List_of_iOS_devices
Historic Hardware Releases
iPhone                    iPod Touch                   iPad
  June 29, 2007              Sept 5, 2007
  July 11, 2008              Sept 9, 2008
  June 19, 2009              Sept 9, 2009
  June 24, 2010              Sept 8, 2010              April 3, 2010




      Source: http://en.wikipedia.org/wiki/List_of_iOS_devices
Common Features
iPhone                   iPod Touch                   iPad
 Multitouch                 Multitouch                   Multitouch
 Wi-Fi                      Wi-Fi                        Wi-Fi
 Bluetooth                  Bluetooth                    Bluetooth
 Accelerometer              Accelerometer                Accelerometer




     Source: http://en.wikipedia.org/wiki/List_of_iOS_devices
Unique Features
iPhone                   iPod Touch                   iPad
 GPS                                                     GPS*
 Magnetometer*                                           Magnetometer
 Gyroscope*                 Gyroscope*
 Retina Display*            Retina Display*
 Camera                     Camera*


     Source: http://en.wikipedia.org/wiki/List_of_iOS_devices
Learning Xcode, Objective-C
and iOS
Apple Developer Connection
SDK Downloads
Online Documentation
Support Forums
WWDC Session Videos



        developer.apple.com
Apple Developer Forums
Apple Moderators
Apple Engineers
Fellow Developers
Variety of Topics



         devforums.apple.com
Apple Developer Videos
WWDC Session Videos
 iOS
 Mac
 Safari



   developer.apple.com/videos
iTunes University Courses
Stanford University
CS193P iOS Development
Winter 2010, Fall 2011




           itunes.stanford.edu
Creating an                Relationship
Starting a New Company
Creating a Corporate Developer Account
Roles within the Apple Developer Connection
Keeping Everything Separate
Starting a New Company
Get a Lawyer to draw up the papers
Register with your State of choice’s Secretary of State
Request an EIN from the IRS for the Company
Consult with a Tax advisor on how to fill out W9
Establish a banking presence for the Company
Keep Everything Separate!
Apple Developer Connection




 http://developer.apple.com/programs/which-
                   program/
Business Requirements
The person enrolling on behalf of the company or organization must
have the legal authority to bind his or her company to any legal
agreements that may be presented during the enrollment process or
membership year. This person may also need to provide business
documents including, but not limited to: Articles of Incorporation,
Business License, etc. as part of our identity verification process.

Apple may request the submission of business documentation
including, but not limited to, Articles of Incorporation and Business
License to verify your company's identity. Additionally, the reference
provided during the enrollment process will be contacted to ensure
the enrolling developer has the legal authority to enroll the company
in the iOS Developer Program.

http://developer.apple.com/contact/phone.php
ADC Account Roles
Device - Can execute .ipa files built by members.
Member - Can request the ability to build as well as
build .ipa archives for distribution to devices.
Administrator - Can approve requests (even their
own), to build .ipa archives for distribution to devices
Agent - Can submit apps to the app store and do
everything an Administrator can do.
iTunes Connect Contracts
Request Contracts - A listing of the types of contract
you can request based on the ADC programs you are
registered with.
Contracts in Process - Contracts that you have
started filling out information for, or are being reviewed
by Apple.
Contracts in Effect - Contracts that you have signed
off on and Apple has approved.
iTunes Connect Submission
Contact Info - Information about the Agent that is
submitting and signing for the contract with iTuens
Connect.
Bank Info - Information on how the funds generated
by the sale of the App are handled.
Tax Info - Information that will be submitted with the
IRS for tax purposes.
iTunes Connect Development
Generic Development - Basic sort of App with no
additional features that requires Apples involvement.
Specialized Development - If the App you are
developing requires support for iCloud, GameCenter, or
In App Purchases.
Field Testing Opportunities
 Collecting Metrics in Development
 Using Xcode Instruments
 Provisioning Test Devices
 TestFlight for Distribution
Collecting Metrics in Development
Flurry Analytics




        http://www.flurry.com/
Flurry Analytics




        http://www.flurry.com/
Flurry Analytics
 Plan out your User Events.
 Think Checkpoint, not Data Collection.
 Use Parameters for Complex Events that have many
 Options.
 Can be used to see who has been testing what.
Using Xcode Instruments
What Apps Should Do
• Start Quickly (Launch and Resume)
 - First Launch following Initial and Update
    Installs
• What They Are Advertise To Do
• Not Crash!
What Apps Should Do
• Wrap Up Background Tasks Quickly
• Use as Little Memory as Possible
  when Suspended
• Resume as Quickly as Possible
• Move Processing off of the Main
  Thread
What Apps Should Do




* Taken From WWDC 2010 Session 131
Build and Analyze
Allocations Instrument
Leaks Instrument
Zombies Instrument
Time Profiler
Energy Diagnostics




* Taken From WWDC 2010 Session 309
Provisioning Test Devices
Where to Test?
• Writing Code in the Editor
• On a Mac in the Simulator
• On an iOS Device
• In the Field Prior to Release
• With Your Customers
Provisioning Test Devices




   Create a Provisioning Profile
   Download and install Certificates
   Build and Deploy Xcode Archives
Provisioning Test Devices
 Tools
   Xcode Organizer for iOS Devices and Profiles
   ADC Development Provisioning Portal
   ADC Development Provisioning Assistant
 Certificates
   WWDR Intermediate Certificate
   Developer Certificate
   Provisioning Profile Certificate
Xcode Organizer
Plug iOS Device into Mac
Open Xcode Organizer
Select the Device
Use for Development

Select Provisioning
Profiles from Library
Click New/Refresh
ADC iOS Provisioning Portal
               Manually Manage
                Devices
                Developers
                Profiles
                App IDs
When Things Go Wrong...
Technical Note TN2250 - Understanding and
Resolving Code Signing Issues
TestFlight for Distribution
TestFlight Distribution




      https://testflightapp.com/
TestFlight Distribution
 Setup a free TestFlight account and create a team.
 Invite and gather the UDIDs from the team members.
 Add devices to your ADC Provisioning Profile.
 Build an .ipa archive in Xcode and upload to TestFlight.
 Distribute the build and manage the feedback.
TestFlight Distribution
Submission to the App
Store

                                 F T
               R A
Generating an App ID and Certificates
Modifying the Xcode Project




     D
Planning a Release Date
Managing User Feedback

Create a Web Presence
Instrument the App with User Analytics
Download Statistics and App Store Rating
Social Outlets, Email and User Forums
Plan for the Next Release
Create a Web Presence
GoDaddy Domain Hosting
WebHosting for Company, App and Support
Blog for Release Updates
Means to Collect User Feedback
YouTube a Walkthrough
Facebook, Twitter, LinkedIn, Google+
T
iWeb MobileMe GoDaddy


            F
         RA
       D
http://gigaom.com/apple/how-to-host-godaddy-
          domain-names-on-mobileme/
Flurry Analytics
 Plan out your User Events.
 Think Checkpoint, not Data Collection.
 Use Parameters for Complex Events that have many
 Options.
 Can be used to see what features users are actually
 using.
 Can be used to show
Flurry Analytics
Plan for the Next Releases
 Post Release Major Bug Fix
 Scope Out Additional Features
 Perhaps an iPad Version (universal)
 User Feedback Enhancements
iOS App Checklist
Get a Lawyer, File with State,   Start Developing the App
Request an EIN, Create Bank
Account(s), Keep things          Field Test the App with
Separate                         Instruments

Purchase ADC Subscription,       Beta Test the App through Ad-
Setup iTunes Connect             Hoc or TestFlight Distribution

Research Like Apps, Read         Establish a Web Presence
the HIG                          for the App/Company

Start Designing the App          Submit the App to the App
                                 Store
Learn Xcode, iOS and
Objective-C                      Respond to User Feedback
Preparing for Release to the App Store

More Related Content

What's hot

iOS 7 Accessibility
iOS 7 AccessibilityiOS 7 Accessibility
iOS 7 AccessibilityTed Drake
 
Life Cycle of an iPhone App
Life Cycle of an iPhone AppLife Cycle of an iPhone App
Life Cycle of an iPhone AppJohn McKerrell
 
iOS Developer Interview Questions
iOS Developer Interview QuestionsiOS Developer Interview Questions
iOS Developer Interview QuestionsClark Davidson
 
iTunes App Store Submission Process
iTunes App Store Submission ProcessiTunes App Store Submission Process
iTunes App Store Submission ProcessAnscamobile
 
Appium overview (Selenium Israel #2, Feb. 2014)
Appium overview (Selenium Israel #2, Feb. 2014)Appium overview (Selenium Israel #2, Feb. 2014)
Appium overview (Selenium Israel #2, Feb. 2014)danielputerman
 
Basic iOS Training with SWIFT - Part 1
Basic iOS Training with SWIFT - Part 1Basic iOS Training with SWIFT - Part 1
Basic iOS Training with SWIFT - Part 1Manoj Ellappan
 
2012 mobile testingsummit-moet
2012 mobile testingsummit-moet2012 mobile testingsummit-moet
2012 mobile testingsummit-moetEing Ong
 
Using API Platform to build ticketing system #symfonycon
Using API Platform to build ticketing system #symfonyconUsing API Platform to build ticketing system #symfonycon
Using API Platform to build ticketing system #symfonyconAntonio Peric-Mazar
 
2012 star west-t10
2012 star west-t102012 star west-t10
2012 star west-t10Eing Ong
 
TiCalabash: Fully automated Acceptance Testing @ TiConf EU 2014
TiCalabash: Fully automated Acceptance Testing @ TiConf EU 2014TiCalabash: Fully automated Acceptance Testing @ TiConf EU 2014
TiCalabash: Fully automated Acceptance Testing @ TiConf EU 2014Andrew McElroy
 
Robotium at Android Only 2010-09-29
Robotium at Android Only 2010-09-29Robotium at Android Only 2010-09-29
Robotium at Android Only 2010-09-29Hugo Josefson
 
Building apps for multiple devices
Building apps for multiple devicesBuilding apps for multiple devices
Building apps for multiple devicesTerry Ryan
 
Xamarin.Android Introduction
Xamarin.Android IntroductionXamarin.Android Introduction
Xamarin.Android IntroductionGuido Magrin
 
Ti.conf titanium on firefoxos
Ti.conf titanium on firefoxosTi.conf titanium on firefoxos
Ti.conf titanium on firefoxosAlessio Ricco
 
Android Development for Beginners with Sample Project - Day 1
Android Development for Beginners with Sample Project - Day 1Android Development for Beginners with Sample Project - Day 1
Android Development for Beginners with Sample Project - Day 1Joemarie Amparo
 
Testing Techniques for Mobile Applications
Testing Techniques for Mobile ApplicationsTesting Techniques for Mobile Applications
Testing Techniques for Mobile ApplicationsIndicThreads
 

What's hot (20)

iOS 7 Accessibility
iOS 7 AccessibilityiOS 7 Accessibility
iOS 7 Accessibility
 
Life Cycle of an iPhone App
Life Cycle of an iPhone AppLife Cycle of an iPhone App
Life Cycle of an iPhone App
 
iOS Developer Interview Questions
iOS Developer Interview QuestionsiOS Developer Interview Questions
iOS Developer Interview Questions
 
iTunes App Store Submission Process
iTunes App Store Submission ProcessiTunes App Store Submission Process
iTunes App Store Submission Process
 
Appium overview (Selenium Israel #2, Feb. 2014)
Appium overview (Selenium Israel #2, Feb. 2014)Appium overview (Selenium Israel #2, Feb. 2014)
Appium overview (Selenium Israel #2, Feb. 2014)
 
Basic iOS Training with SWIFT - Part 1
Basic iOS Training with SWIFT - Part 1Basic iOS Training with SWIFT - Part 1
Basic iOS Training with SWIFT - Part 1
 
2012 mobile testingsummit-moet
2012 mobile testingsummit-moet2012 mobile testingsummit-moet
2012 mobile testingsummit-moet
 
Using API Platform to build ticketing system #symfonycon
Using API Platform to build ticketing system #symfonyconUsing API Platform to build ticketing system #symfonycon
Using API Platform to build ticketing system #symfonycon
 
2012 star west-t10
2012 star west-t102012 star west-t10
2012 star west-t10
 
TiCalabash: Fully automated Acceptance Testing @ TiConf EU 2014
TiCalabash: Fully automated Acceptance Testing @ TiConf EU 2014TiCalabash: Fully automated Acceptance Testing @ TiConf EU 2014
TiCalabash: Fully automated Acceptance Testing @ TiConf EU 2014
 
Robotium at Android Only 2010-09-29
Robotium at Android Only 2010-09-29Robotium at Android Only 2010-09-29
Robotium at Android Only 2010-09-29
 
Building apps for multiple devices
Building apps for multiple devicesBuilding apps for multiple devices
Building apps for multiple devices
 
Xamarin.Android Introduction
Xamarin.Android IntroductionXamarin.Android Introduction
Xamarin.Android Introduction
 
REST easy with API Platform
REST easy with API PlatformREST easy with API Platform
REST easy with API Platform
 
Android - Getting started with Android
Android - Getting started with Android Android - Getting started with Android
Android - Getting started with Android
 
Ti.conf titanium on firefoxos
Ti.conf titanium on firefoxosTi.conf titanium on firefoxos
Ti.conf titanium on firefoxos
 
Desarrollo AIR Mobile
Desarrollo AIR MobileDesarrollo AIR Mobile
Desarrollo AIR Mobile
 
Android Test Automation Workshop
Android Test Automation WorkshopAndroid Test Automation Workshop
Android Test Automation Workshop
 
Android Development for Beginners with Sample Project - Day 1
Android Development for Beginners with Sample Project - Day 1Android Development for Beginners with Sample Project - Day 1
Android Development for Beginners with Sample Project - Day 1
 
Testing Techniques for Mobile Applications
Testing Techniques for Mobile ApplicationsTesting Techniques for Mobile Applications
Testing Techniques for Mobile Applications
 

Similar to Preparing for Release to the App Store

Life cycle of iPhone application
Life cycle of iPhone applicationLife cycle of iPhone application
Life cycle of iPhone applicationSiva Prasad K V
 
Ideas to App Store (2010)
Ideas to App Store (2010)Ideas to App Store (2010)
Ideas to App Store (2010)Joseph DeSetto
 
Learn How to Get Started with iOS App Development.pptx
Learn How to Get Started with iOS App Development.pptxLearn How to Get Started with iOS App Development.pptx
Learn How to Get Started with iOS App Development.pptx75waytechnologies
 
iOS Application Development Step by Step to develop an iOS App.pdf
iOS Application Development Step by Step to develop an iOS App.pdfiOS Application Development Step by Step to develop an iOS App.pdf
iOS Application Development Step by Step to develop an iOS App.pdfJPLoft Solutions
 
Keep an eye out for the Top iPhone App Development Trends for 2023.pdf
Keep an eye out for the Top iPhone App Development Trends for 2023.pdfKeep an eye out for the Top iPhone App Development Trends for 2023.pdf
Keep an eye out for the Top iPhone App Development Trends for 2023.pdfTechugo
 
Mse july13 (1/3)
Mse july13 (1/3)Mse july13 (1/3)
Mse july13 (1/3)IIITA
 
Mobile Application Design & Development
Mobile Application Design & DevelopmentMobile Application Design & Development
Mobile Application Design & DevelopmentRonnie Liew
 
Alt tab mobile company overview - feb 2015
Alt tab mobile   company overview - feb 2015Alt tab mobile   company overview - feb 2015
Alt tab mobile company overview - feb 2015Roger Jones
 
Mobile App Development for Dummies
Mobile App Development for DummiesMobile App Development for Dummies
Mobile App Development for DummiesClark Davidson
 
Hybrid app development
Hybrid app developmentHybrid app development
Hybrid app developmentHarshul Shah
 
Differences Between Developing for iOS and Android.pdf
Differences Between Developing for iOS and Android.pdfDifferences Between Developing for iOS and Android.pdf
Differences Between Developing for iOS and Android.pdfTechugo
 
Smartphone Reporting Done Smarter
Smartphone Reporting Done SmarterSmartphone Reporting Done Smarter
Smartphone Reporting Done SmarterVictor Hernandez
 
Introduction to iPhone App Development - midVentures DESIGN+DEVELOP
Introduction to iPhone App Development - midVentures DESIGN+DEVELOPIntroduction to iPhone App Development - midVentures DESIGN+DEVELOP
Introduction to iPhone App Development - midVentures DESIGN+DEVELOPKeyLimeTie
 
Step-by-Step Guide to Developing a Successful iOS App.pdf
Step-by-Step Guide to Developing a Successful iOS App.pdfStep-by-Step Guide to Developing a Successful iOS App.pdf
Step-by-Step Guide to Developing a Successful iOS App.pdfBytes Technolab Inc.
 
Step-by-Step Guide to Developing a Successful iOS App.docx
Step-by-Step Guide to Developing a Successful iOS App.docxStep-by-Step Guide to Developing a Successful iOS App.docx
Step-by-Step Guide to Developing a Successful iOS App.docxBytes Technolab Inc.
 
MOBILE APPLICATIONS DEVELOPMENT AND SERVICES.pptx
MOBILE APPLICATIONS DEVELOPMENT AND SERVICES.pptxMOBILE APPLICATIONS DEVELOPMENT AND SERVICES.pptx
MOBILE APPLICATIONS DEVELOPMENT AND SERVICES.pptxmuthulakshmi cse
 

Similar to Preparing for Release to the App Store (20)

Life cycle of iPhone application
Life cycle of iPhone applicationLife cycle of iPhone application
Life cycle of iPhone application
 
Ideas to App Store (2010)
Ideas to App Store (2010)Ideas to App Store (2010)
Ideas to App Store (2010)
 
Learn How to Get Started with iOS App Development.pptx
Learn How to Get Started with iOS App Development.pptxLearn How to Get Started with iOS App Development.pptx
Learn How to Get Started with iOS App Development.pptx
 
iOS Application Development Step by Step to develop an iOS App.pdf
iOS Application Development Step by Step to develop an iOS App.pdfiOS Application Development Step by Step to develop an iOS App.pdf
iOS Application Development Step by Step to develop an iOS App.pdf
 
Keep an eye out for the Top iPhone App Development Trends for 2023.pdf
Keep an eye out for the Top iPhone App Development Trends for 2023.pdfKeep an eye out for the Top iPhone App Development Trends for 2023.pdf
Keep an eye out for the Top iPhone App Development Trends for 2023.pdf
 
Mse july13 (1/3)
Mse july13 (1/3)Mse july13 (1/3)
Mse july13 (1/3)
 
Mobile Application Design & Development
Mobile Application Design & DevelopmentMobile Application Design & Development
Mobile Application Design & Development
 
Alt tab mobile company overview - feb 2015
Alt tab mobile   company overview - feb 2015Alt tab mobile   company overview - feb 2015
Alt tab mobile company overview - feb 2015
 
ArtemisProjects
ArtemisProjectsArtemisProjects
ArtemisProjects
 
Alex jubien-think mobile
Alex jubien-think mobileAlex jubien-think mobile
Alex jubien-think mobile
 
600 most amazing apps PDF
600 most amazing apps PDF 600 most amazing apps PDF
600 most amazing apps PDF
 
Mobile App Development for Dummies
Mobile App Development for DummiesMobile App Development for Dummies
Mobile App Development for Dummies
 
Hybrid app development
Hybrid app developmentHybrid app development
Hybrid app development
 
Differences Between Developing for iOS and Android.pdf
Differences Between Developing for iOS and Android.pdfDifferences Between Developing for iOS and Android.pdf
Differences Between Developing for iOS and Android.pdf
 
Smartphone Reporting Done Smarter
Smartphone Reporting Done SmarterSmartphone Reporting Done Smarter
Smartphone Reporting Done Smarter
 
Introduction to iPhone App Development - midVentures DESIGN+DEVELOP
Introduction to iPhone App Development - midVentures DESIGN+DEVELOPIntroduction to iPhone App Development - midVentures DESIGN+DEVELOP
Introduction to iPhone App Development - midVentures DESIGN+DEVELOP
 
Step-by-Step Guide to Developing a Successful iOS App.pdf
Step-by-Step Guide to Developing a Successful iOS App.pdfStep-by-Step Guide to Developing a Successful iOS App.pdf
Step-by-Step Guide to Developing a Successful iOS App.pdf
 
Step-by-Step Guide to Developing a Successful iOS App.docx
Step-by-Step Guide to Developing a Successful iOS App.docxStep-by-Step Guide to Developing a Successful iOS App.docx
Step-by-Step Guide to Developing a Successful iOS App.docx
 
Tablets Soft and Apps
Tablets Soft and AppsTablets Soft and Apps
Tablets Soft and Apps
 
MOBILE APPLICATIONS DEVELOPMENT AND SERVICES.pptx
MOBILE APPLICATIONS DEVELOPMENT AND SERVICES.pptxMOBILE APPLICATIONS DEVELOPMENT AND SERVICES.pptx
MOBILE APPLICATIONS DEVELOPMENT AND SERVICES.pptx
 

Recently uploaded

Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 

Recently uploaded (20)

Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 

Preparing for Release to the App Store

  • 1. Preparing for Release to the App Store Geoffrey L. Goetz
  • 3. @ggeoffre I have a blog... GigaOm’s - The Apple Blog http://gigaom.com/author/ggeoffre/ I wrote a book... Wiley and Son’s - Mastering JBuilder http://www.wiley.com/WileyCDA/WileyTitle/productCd-0471267147.html I am standing in front of you... CodeMash 2.0.1.2 - Sessions http://codemash.org/Sessions/Technology/Mobile#Preparing+for+Release+to+the+App+Store I have long hair!
  • 4. @ggeoffre F T Mobile Architect at Compuware R A Writer for “The Apple Blog” (GigaOm) Entrepreneur D Previously at Nationwide, Borland and ACTS Co-Author “Mastering JBuilder”
  • 5. why are we here?
  • 6. Why are we here... The global mobile applications market is expected to be worth $25.0 billion in 2015, growing at a CAGR of 29.6% from 2010 to 2015.
  • 7. Why are we here... Although Android is likely to grow its smartphone market share faster, Apple will probably maintain a 70%+ share of mobile app dollars spent over the next 3 or 4 years. Apple has about 85% to 90% market share of the total dollars spent on mobile apps. Apple developers have made more than $3.4 billion since 2011, compared with less than $240 million for Google developers.
  • 8. Why are we here... There are approximately 370,000 iOS apps from 78,000 publishers with an average price of just $2.52 U.S. per app. While there may have been over 10 billion app downloads, that number spreads the $2 billion that Apple has paid to publishers over its three-year lifespan very thin. These numbers translate into an economy where there is just over $8,500 per publisher per year to go around.
  • 9.
  • 10. Good Artist Copy, Great Artist Steal.
  • 11.
  • 13. to ^ Taking an App from the Market Basics of Getting Started Creating a Relationship with Apple Field Testing Opportunities Submission to the App Store Managing User Feedback
  • 14. Basics of Getting Started Research ‘Like’ Apps Human Interface Guidelines App Store Review Guidelines Templates, Tools and Napkins Procuring Test Devices Learning Xcode, Objective-C and iOS
  • 16. Research ‘Like’ Apps Search Term Category Device Rating Popularity
  • 17. Research ‘Like’ Apps Get a solid list of three to ten ‘like’ Apps Read User Feedback on App Store Visit the App’s Web Sites Look for Blogger Reviews Watch YouTube Walkthroughs
  • 18. Research ‘Like’ Apps 148Apps.biz - a good source for the current state of the App store.
  • 19. Research ‘Like’ Apps AppShopper.com - Great resource to see how other App developers have modified their pricing as well as how often they release updates.
  • 20. Research ‘Like’ Apps iTunes JSON Interface - Not only a good place to get information on competitors Apps, but also a great way to keep data in sync between your web site and the App store. http://itunes.apple.com/search?parameterkeyvalue
  • 22. Human Interface Guidelines http://developer.apple.com/library/ios/ #documentation/UserExperience/Conceptual/ MobileHIG/
  • 23. Human Interface Guidelines Focus on the Primary Task Handle Orientation Changes Give People a Logical Path to Make Targets Fingertip-Size Follow Use Subtle Animation to Make Usage Easy and Obvious Communicate Minimize the Effort Required for Support Gestures Appropriately User Input Start Instantly Be Succinct Always Be Prepared to Stop Use UI Elements Consistently Don’t Quit Programmatically
  • 24. App Store Review Guidelines
  • 25. App Store Review Guidelines https://developer.apple.com/appstore/resources/ approval/guidelines.html
  • 26. App Store Review Guidelines Lots of kids downloading lots of apps... If your app doesn't do something useful or provide some form of lasting entertainment, it may not be accepted... App looks like it was cobbled together in a few days... Content or behavior that Apple believe’s is over the line... Don’t run to the press, appeal to the Review Board... Unethical practice will result in expelled from the developer program
  • 28. Templates, Tools and Napkins Graffletopia - Stencil Library for OmniGraffle http://graffletopia.com/ speckyboy - PSD Stencils and Vector Images http://speckyboy.com/
  • 29. Templates, Tools and Napkins UISketcher MockingPad Blueprint http://gigaom.com/apple/5-great-ipad-tools-for-designing-apps/
  • 30. Templates, Tools and Napkins http://www.uistencils.com/
  • 32. iOS Models iPhone iPod Touch iPad Original iPhone 1st Generation iPhone 3G 2nd Generation iPhone 3GS 3rd Generation iPhone 4 4th Generation iPad Source: http://en.wikipedia.org/wiki/List_of_iOS_devices
  • 33. Timeline of iOS Models Source: http://en.wikipedia.org/wiki/List_of_iOS_devices
  • 34. Historic Hardware Releases iPhone iPod Touch iPad June 29, 2007 Sept 5, 2007 July 11, 2008 Sept 9, 2008 June 19, 2009 Sept 9, 2009 June 24, 2010 Sept 8, 2010 April 3, 2010 Source: http://en.wikipedia.org/wiki/List_of_iOS_devices
  • 35. Common Features iPhone iPod Touch iPad Multitouch Multitouch Multitouch Wi-Fi Wi-Fi Wi-Fi Bluetooth Bluetooth Bluetooth Accelerometer Accelerometer Accelerometer Source: http://en.wikipedia.org/wiki/List_of_iOS_devices
  • 36. Unique Features iPhone iPod Touch iPad GPS GPS* Magnetometer* Magnetometer Gyroscope* Gyroscope* Retina Display* Retina Display* Camera Camera* Source: http://en.wikipedia.org/wiki/List_of_iOS_devices
  • 38. Apple Developer Connection SDK Downloads Online Documentation Support Forums WWDC Session Videos developer.apple.com
  • 39. Apple Developer Forums Apple Moderators Apple Engineers Fellow Developers Variety of Topics devforums.apple.com
  • 40. Apple Developer Videos WWDC Session Videos iOS Mac Safari developer.apple.com/videos
  • 41. iTunes University Courses Stanford University CS193P iOS Development Winter 2010, Fall 2011 itunes.stanford.edu
  • 42. Creating an Relationship Starting a New Company Creating a Corporate Developer Account Roles within the Apple Developer Connection Keeping Everything Separate
  • 43. Starting a New Company Get a Lawyer to draw up the papers Register with your State of choice’s Secretary of State Request an EIN from the IRS for the Company Consult with a Tax advisor on how to fill out W9 Establish a banking presence for the Company Keep Everything Separate!
  • 44. Apple Developer Connection http://developer.apple.com/programs/which- program/
  • 45. Business Requirements The person enrolling on behalf of the company or organization must have the legal authority to bind his or her company to any legal agreements that may be presented during the enrollment process or membership year. This person may also need to provide business documents including, but not limited to: Articles of Incorporation, Business License, etc. as part of our identity verification process. Apple may request the submission of business documentation including, but not limited to, Articles of Incorporation and Business License to verify your company's identity. Additionally, the reference provided during the enrollment process will be contacted to ensure the enrolling developer has the legal authority to enroll the company in the iOS Developer Program. http://developer.apple.com/contact/phone.php
  • 46. ADC Account Roles Device - Can execute .ipa files built by members. Member - Can request the ability to build as well as build .ipa archives for distribution to devices. Administrator - Can approve requests (even their own), to build .ipa archives for distribution to devices Agent - Can submit apps to the app store and do everything an Administrator can do.
  • 47. iTunes Connect Contracts Request Contracts - A listing of the types of contract you can request based on the ADC programs you are registered with. Contracts in Process - Contracts that you have started filling out information for, or are being reviewed by Apple. Contracts in Effect - Contracts that you have signed off on and Apple has approved.
  • 48. iTunes Connect Submission Contact Info - Information about the Agent that is submitting and signing for the contract with iTuens Connect. Bank Info - Information on how the funds generated by the sale of the App are handled. Tax Info - Information that will be submitted with the IRS for tax purposes.
  • 49. iTunes Connect Development Generic Development - Basic sort of App with no additional features that requires Apples involvement. Specialized Development - If the App you are developing requires support for iCloud, GameCenter, or In App Purchases.
  • 50. Field Testing Opportunities Collecting Metrics in Development Using Xcode Instruments Provisioning Test Devices TestFlight for Distribution
  • 51. Collecting Metrics in Development
  • 52. Flurry Analytics http://www.flurry.com/
  • 53. Flurry Analytics http://www.flurry.com/
  • 54. Flurry Analytics Plan out your User Events. Think Checkpoint, not Data Collection. Use Parameters for Complex Events that have many Options. Can be used to see who has been testing what.
  • 56. What Apps Should Do • Start Quickly (Launch and Resume) - First Launch following Initial and Update Installs • What They Are Advertise To Do • Not Crash!
  • 57. What Apps Should Do • Wrap Up Background Tasks Quickly • Use as Little Memory as Possible when Suspended • Resume as Quickly as Possible • Move Processing off of the Main Thread
  • 58. What Apps Should Do * Taken From WWDC 2010 Session 131
  • 64. Energy Diagnostics * Taken From WWDC 2010 Session 309
  • 66. Where to Test? • Writing Code in the Editor • On a Mac in the Simulator • On an iOS Device • In the Field Prior to Release • With Your Customers
  • 67. Provisioning Test Devices Create a Provisioning Profile Download and install Certificates Build and Deploy Xcode Archives
  • 68. Provisioning Test Devices Tools Xcode Organizer for iOS Devices and Profiles ADC Development Provisioning Portal ADC Development Provisioning Assistant Certificates WWDR Intermediate Certificate Developer Certificate Provisioning Profile Certificate
  • 69. Xcode Organizer Plug iOS Device into Mac Open Xcode Organizer Select the Device Use for Development Select Provisioning Profiles from Library Click New/Refresh
  • 70. ADC iOS Provisioning Portal Manually Manage Devices Developers Profiles App IDs
  • 71. When Things Go Wrong... Technical Note TN2250 - Understanding and Resolving Code Signing Issues
  • 73. TestFlight Distribution https://testflightapp.com/
  • 74. TestFlight Distribution Setup a free TestFlight account and create a team. Invite and gather the UDIDs from the team members. Add devices to your ADC Provisioning Profile. Build an .ipa archive in Xcode and upload to TestFlight. Distribute the build and manage the feedback.
  • 76. Submission to the App Store F T R A Generating an App ID and Certificates Modifying the Xcode Project D Planning a Release Date
  • 77. Managing User Feedback Create a Web Presence Instrument the App with User Analytics Download Statistics and App Store Rating Social Outlets, Email and User Forums Plan for the Next Release
  • 78. Create a Web Presence GoDaddy Domain Hosting WebHosting for Company, App and Support Blog for Release Updates Means to Collect User Feedback YouTube a Walkthrough Facebook, Twitter, LinkedIn, Google+
  • 79. T iWeb MobileMe GoDaddy F RA D http://gigaom.com/apple/how-to-host-godaddy- domain-names-on-mobileme/
  • 80. Flurry Analytics Plan out your User Events. Think Checkpoint, not Data Collection. Use Parameters for Complex Events that have many Options. Can be used to see what features users are actually using. Can be used to show
  • 82. Plan for the Next Releases Post Release Major Bug Fix Scope Out Additional Features Perhaps an iPad Version (universal) User Feedback Enhancements
  • 83. iOS App Checklist Get a Lawyer, File with State, Start Developing the App Request an EIN, Create Bank Account(s), Keep things Field Test the App with Separate Instruments Purchase ADC Subscription, Beta Test the App through Ad- Setup iTunes Connect Hoc or TestFlight Distribution Research Like Apps, Read Establish a Web Presence the HIG for the App/Company Start Designing the App Submit the App to the App Store Learn Xcode, iOS and Objective-C Respond to User Feedback