SlideShare a Scribd company logo
Develop for iPhone
                             and Get Rich
                                     (development experiences...)



                               DevDays October 2009 - Dan Pilone



Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
The Plan

                   • Why do you want to develop for iPhone?
                   • The iPhone Ecosystem
                   • Tools and Technologies
                   • Approval and Sales

Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
Results not typical.
                   Your actual income may vary. High returns
                    represent a relatively small percentage of
                  applications in the iTunes App Store. The App
                   Store is designed for maximum turnover of
                     applications. Placement in top 100 lists
                  dramatically influence sales. Placement above
                  50 typically double sales. Placement in top 10
                      increase sales by order of magnitude.


Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
App Store Statistics




Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
App Store Statistics
                   •      > $1 Billion industry => $4B in 2012




Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
App Store Statistics
                   •      > $1 Billion industry => $4B in 2012
                   •      > 2 Billion downloads




Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
App Store Statistics
                   •      > $1 Billion industry => $4B in 2012
                   •      > 2 Billion downloads
                   •      > 100,000 apps




Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
App Store Statistics
                   •      > $1 Billion industry => $4B in 2012
                   •      > 2 Billion downloads
                   •      > 100,000 apps
                   •      > 75% are paid apps




Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
App Store Statistics
                   •      > $1 Billion industry => $4B in 2012
                   •      > 2 Billion downloads
                   •      > 100,000 apps
                   •      > 75% are paid apps
                   •      Of the 20 categories in App Store, Games &
                          Entertainment represent 35%




Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
App Store Statistics
                   •      > $1 Billion industry => $4B in 2012
                   •      > 2 Billion downloads
                   •      > 100,000 apps
                   •      > 75% are paid apps
                   •      Of the 20 categories in App Store, Games &
                          Entertainment represent 35%
                   •      Social networking, Photography, Finance, Medical
                          and Weather combined are 6.2%

Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
Why are people
                   developing for iPhone?


Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
Why is iPhone
                                  successful?




Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
Why is iPhone
                                  successful?
                   • Development experience (Frameworks, UI,
                          tools etc.)




Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
Why is iPhone
                                  successful?
                   • Development experience (Frameworks, UI,
                          tools etc.)
                   • Approval Process



Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
Why is iPhone
                                  successful?
                   • Development experience (Frameworks, UI,
                          tools etc.)
                   • Approval Process
                   • Makes Money for developers


Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
Why is iPhone
                                  successful?
                   • Development experience (Frameworks, UI,
                          tools etc.)
                   • Approval Process
                   • Makes Money for developers
                   • Fantastic distribution mechanism

Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
Why is iPhone
                                  successful?
                   • Development experience (Frameworks, UI,
                          tools etc.)
                   • Approval Process
                   • Makes Money for developers
                   • Fantastic distribution mechanism
                   • User Experience
Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
UI Matters




Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
UI Matters




Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
Classics

      Downloads to date: 450,000
      Price: $2.99
      Approx Income: $940,000




Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
I Am T-Pain

      Downloads to date: 300,000
      Price: $2.99
      Approx Income: $627,900




Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
Flight Control                                    Downloads to date: 700,000
                                                                     Price: $0.99
                                                        Approx Income: $485,000

Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
There is money to be
                          EARNED.


Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
iPhone App Basics



Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
You Need an Intel-based Mac
Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
And the Apple SDK
Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
Devices are optional
Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
iPhone App Rules




Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
iPhone App Rules

                   • No 3rd party background apps




Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
iPhone App Rules

                   • No 3rd party background apps
                   • Limited resources



Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
iPhone App Rules

                   • No 3rd party background apps
                   • Limited resources
                   • Live in a sand box


Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
iPhone App Rules

                   • No 3rd party background apps
                   • Limited resources
                   • Live in a sand box
                   • Must use published API

Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
Designing a Traditional
                           App


Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
is NOT
                                                the same
                                                    as




Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
iPhone Apps Are View Based
Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
iPhone Apps Are View Based
Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
iPhone Apps Are View Based
Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
Frameworks and Tools



Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
Framework Patterns




                          View
                                                       View
                        Controller
Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
Framework Patterns




                          View
                                                       View
                        Controller
Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
Behind the Scenes

   #import <UIKit/UIKit.h>

   @interface HelloWorldViewController :
   UIViewController {

   }

   @end




       Objective-C classes and                          Nibs built with
                UIKit                                  Interface Builder
Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
Xcode




Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
Full Featured IDE
Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
Graphical debugger
Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
Built in App Templates
Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
Data modeler
Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
Static Code Analyzer
Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
Objective-C



Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
C-based Language
                        !      BOOL wasItZero;
                        !
                        !      if (x == 0) {
                        !      ! NSLog(@"Wow, x was 0.");
                        !      ! wasItZero = YES;
                        !      } else if (x == 1) {
                        !      ! NSLog(@"You'd never guess.   it was 1.");
                        !      ! wasItZero = NO;
                        !      }
                        !
                        !      return wasItZero;




Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
And then it goes off the
                      rails...
               - (id)initWithNibName:(NSString *)nibNameOrNil
                              bundle:(NSBundle *)nibBundleOrNil {

                        if (self = [super initWithNibName:nibNameOrNil
                                          bundle:nibBundleOrNil]) {
                            // Custom initialization
                        }

                        return self;
               }




Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
Objective-C means
                            message passing

           [window addSubview:viewController.view];



           receiver                             message   argument



Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
Objective-C means
                            message passing

           [window addSubview:viewController.view];



           receiver                             message   argument



Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
Messages are turned
                         into method calls
       @interface UIView : UIResponder<NSCoding>
       {
         ...
       }

       - (void)addSubview:(UIView *)view;

       @end


Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
Properties and Fields
       @interface HelloWorldAppDelegate : NSObject
       <UIApplicationDelegate> {
           UIWindow *window;
           HelloWorldViewController *viewController;
       }

       @property (nonatomic, retain) UIWindow *window;
       @property (nonatomic, retain) HelloWorldViewController
       *viewController;

       @end




Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
Properties and Fields
       @interface HelloWorldAppDelegate : NSObject
       <UIApplicationDelegate> {
           UIWindow *window;
           HelloWorldViewController *viewController;
       }

       @property (nonatomic, retain) UIWindow *window;
       @property (nonatomic, retain) HelloWorldViewController
       *viewController;

       @end



                                       @synthesize window;
                                       @synthesize viewController;



Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
Memory management??



Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
Objective-C uses reference
                                        counting
Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
Memory management
                        is critical
                         - (void)dealloc {
                             [viewController release];
                             [window release];
                             [super dealloc];
                         }




Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
The SDK includes
                                 Instruments




Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
Behind the Scenes




                          View
                                                       View
                        Controller
Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
Behind the Scenes

   #import <UIKit/UIKit.h>

   @interface HelloWorldViewController :
   UIViewController {

   }

   @end




       Objective-C classes and
                UIKit                                  Views and Nibs
Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
Behind the Scenes

   #import <UIKit/UIKit.h>

   @interface HelloWorldViewController :
   UIViewController {

   }

   @end




       Objective-C classes and
                UIKit     Views and Nibs
Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
Interface Builder




Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
#import <UIKit/UIKit.h>

       @interface HelloWorldViewController :
       UIViewController {

       }

       @end



                         UIView
                                                       UIView
                        Controller
Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
#import <UIKit/UIKit.h>

                                                       @interface HelloWorldViewController :
                                                       UIViewController {

                                                       }

                                                       - (IBAction) tapMeButtonPressed: (id) sender;

                                                       @end



                                                       - (IBAction) tapMeButtonPressed: (id) sender {
                                                       ! UIAlertView *alertView =
                                                              [[UIAlertView alloc]
                                                                 initWithTitle:@"Tapped!"
                                                                 message:@"Fingers of steel!"
                                                                 delegate:nil cancelButtonTitle:@"Bo-ya"
                                                                 otherButtonTitles:nil];

                                                       ! [alertView show];
                                                       ! [alertView release];
                                                       }




Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
But what about
                interacting with the UI?


Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
#import <UIKit/UIKit.h>

                                                       @interface HelloWorldViewController :
                                                       UIViewController {
                                                       ! UILabel *helloLabel;
                                                       }

                                                       @property (nonatomic, retain) IBOutlet UILabel
                                                       *helloLabel;

                                                       - (IBAction) tapMeButtonPressed: (id) sender;

                                                       @end




                                                       - (IBAction) tapMeButtonPressed: (id) sender {
                                                       ! self.helloLabel.text = @"Fingers of steel!";
                                                       }




Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
Breathe



Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
Testing your code



Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
iPhone Simulator




Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
Simulator Issues

                   • No camera
                   • Single GPS (Core Location) point
                   • Limited gesture and accelerometer support
                   • Infinite memory and performance
                   • Lax enforcement of permissions

Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
But it’s worse than just
                     the simulator...




Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
But it’s worse than just
                     the simulator...




              iPhone 2G
                No GPS


Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
But it’s worse than just
                     the simulator...




              iPhone 2G           iPhone 3G
                No GPS           No Compass
                                   No Video
Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
But it’s worse than just
                     the simulator...




              iPhone 2G           iPhone 3G             iPhone 3GS
                No GPS           No Compass            New OpenGL
                                   No Video            Better Camera
                                                          Quicker
Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
But it’s worse than just
                     the simulator...




              iPhone 2G           iPhone 3G             iPhone 3GS     iPod Touch 1G
                No GPS           No Compass            New OpenGL        No Cellular
                                   No Video            Better Camera      No Ext.
                                                          Quicker         Speaker
Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
But it’s worse than just
                     the simulator...




              iPhone 2G           iPhone 3G             iPhone 3GS     iPod Touch 1G   iPod Touch 2G
                No GPS           No Compass            New OpenGL        No Cellular     No Camera
                                   No Video            Better Camera      No Ext.
                                                          Quicker         Speaker
Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
But it’s worse than just
                     the simulator...




              iPhone 2G           iPhone 3G             iPhone 3GS     iPod Touch 1G   iPod Touch 2G
                No GPS           No Compass            New OpenGL        No Cellular     No Camera
                                   No Video            Better Camera      No Ext.
                                                          Quicker         Speaker          yet...
Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
You need to test on
                             real devices.


Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
You are here

                   • You’ve written an app
                   • You’ve debugged it in the simulator
                   • You’ve installed it on a real device*

                                            *...and it works
Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
The App Approval
                                   Process




Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
It’s not as bad as
                                  you’ve heard.


Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
It will take two weeks
                        to be rejected*

                                               *...or accepted.
Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
They do test your app.



Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
They will eventually
                      catch HIG or License
                           Violations.

Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
Real World Example




Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
Real World Example




Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
Selling your app and post
                              approval



Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
Analytics



Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
Really hard to make
                     money with Ad based
                             apps

Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
Localization



Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
Two sales models



Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
Chart Likage

           100


             75


              50


              25


                0
                               People who like charts


Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
Distimo Sept 09
Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
Distimo Sept 09
Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
Omnifocus

      Downloads to date: >50,000
      Price: $19.99
      Approx Income: $700,000




Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
Wrap up

                   • Why do you want to develop for iPhone?
                   • The iPhone Ecosystem
                   • Tools and Technologies
                   • Approval and Sales

Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
More
                 Information
                           Dan Pilone
                      Twitter: @danpilone
                        dan@pilone.org

                 iPhone Dev Site:
        http://developer.apple.com/iphone



Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009
Q&A



Copyright 2009 Dan Pilone / dan@pilone.org / DevDays
Wednesday, December 23, 2009

More Related Content

KEY
Multimedia production Aftenposten
PDF
Using video to drive revenue 11-30-11
PPT
Using rich media in teaching: big ideas, simple steps
PPT
Sharing your-research-in-the-web2world
PDF
Analyze and Visualize Git Log for Fun and Profit
PDF
Backboard deck august 2015
PPTX
Shopzilla's "You Get What You Measure" - Velocity 2009
PDF
Multimedia production Aftenposten
Using video to drive revenue 11-30-11
Using rich media in teaching: big ideas, simple steps
Sharing your-research-in-the-web2world
Analyze and Visualize Git Log for Fun and Profit
Backboard deck august 2015
Shopzilla's "You Get What You Measure" - Velocity 2009

Similar to Dev Days 2009 - iPhone Development Overview (20)

PPT
Dream2
PDF
CHI 2009 Highlights
PPTX
Optimal File Sharing and Storage: Dropbox V. Virtual Data Rooms
PDF
Co nowego w Google? Accelerated Mobile Pages, Digital News Initiative i nowy ...
PPTX
Airstream extended
PPTX
Droidcon tunisia
PDF
Case Study: Brands Using Mobile Photography
KEY
Auditing Roundtable Conference 2012 - Choosing the best software
PDF
Remember Phase 2: Ensuring great products become great businesses
PPTX
Monday productivity pointers
PPTX
Using Existing Technology to be More Productive in Construction
PDF
Agile Practice in Drupal 8 Module Development
PPTX
Technology in 2013 ppt
PDF
Google's Mobile Strategy, GigaOm Research Roundtable
PDF
iOS' Travels in the Enterprise
PPTX
HP Innorama. Inspiring within organisations #digitalmindshift.
PDF
El siguiente paso para aplicaciones exitosas, aplicando cloud, tensorflow y f...
PPTX
Taking Your Product Development to the Next Level with Full Stack
PDF
Flickr by Olivia and Stacie
PPTX
Box Presentation Sumedha
Dream2
CHI 2009 Highlights
Optimal File Sharing and Storage: Dropbox V. Virtual Data Rooms
Co nowego w Google? Accelerated Mobile Pages, Digital News Initiative i nowy ...
Airstream extended
Droidcon tunisia
Case Study: Brands Using Mobile Photography
Auditing Roundtable Conference 2012 - Choosing the best software
Remember Phase 2: Ensuring great products become great businesses
Monday productivity pointers
Using Existing Technology to be More Productive in Construction
Agile Practice in Drupal 8 Module Development
Technology in 2013 ppt
Google's Mobile Strategy, GigaOm Research Roundtable
iOS' Travels in the Enterprise
HP Innorama. Inspiring within organisations #digitalmindshift.
El siguiente paso para aplicaciones exitosas, aplicando cloud, tensorflow y f...
Taking Your Product Development to the Next Level with Full Stack
Flickr by Olivia and Stacie
Box Presentation Sumedha
Ad

More from Dan Pilone (6)

PPTX
ESIP 2019 Summer Meeting - Improving Information and Communication in a Disas...
PDF
Esip 2019 Winter Plenary - Dan Pilone - From Baseline Science Instruments to ...
PDF
ESIP 2018 - The Case for Archives of Convenience
PDF
AWS Earth and Space 2018 - Element 84 Processing and Streaming GOES-16 Data...
KEY
Using Vagrant for Rails development
PDF
Controlled Chaos: A Case Study Of Introducing Rails Into An Operational NASA ...
ESIP 2019 Summer Meeting - Improving Information and Communication in a Disas...
Esip 2019 Winter Plenary - Dan Pilone - From Baseline Science Instruments to ...
ESIP 2018 - The Case for Archives of Convenience
AWS Earth and Space 2018 - Element 84 Processing and Streaming GOES-16 Data...
Using Vagrant for Rails development
Controlled Chaos: A Case Study Of Introducing Rails Into An Operational NASA ...
Ad

Recently uploaded (20)

PPTX
SOPHOS-XG Firewall Administrator PPT.pptx
PDF
WOOl fibre morphology and structure.pdf for textiles
PDF
Hybrid model detection and classification of lung cancer
PPTX
Group 1 Presentation -Planning and Decision Making .pptx
PPTX
cloud_computing_Infrastucture_as_cloud_p
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Getting Started with Data Integration: FME Form 101
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
project resource management chapter-09.pdf
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PDF
1 - Historical Antecedents, Social Consideration.pdf
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Web App vs Mobile App What Should You Build First.pdf
PDF
Univ-Connecticut-ChatGPT-Presentaion.pdf
PDF
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
PDF
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
PDF
Accuracy of neural networks in brain wave diagnosis of schizophrenia
PDF
Encapsulation theory and applications.pdf
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPTX
A Presentation on Touch Screen Technology
SOPHOS-XG Firewall Administrator PPT.pptx
WOOl fibre morphology and structure.pdf for textiles
Hybrid model detection and classification of lung cancer
Group 1 Presentation -Planning and Decision Making .pptx
cloud_computing_Infrastucture_as_cloud_p
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Getting Started with Data Integration: FME Form 101
Digital-Transformation-Roadmap-for-Companies.pptx
project resource management chapter-09.pdf
NewMind AI Weekly Chronicles - August'25-Week II
1 - Historical Antecedents, Social Consideration.pdf
Encapsulation_ Review paper, used for researhc scholars
Web App vs Mobile App What Should You Build First.pdf
Univ-Connecticut-ChatGPT-Presentaion.pdf
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
Accuracy of neural networks in brain wave diagnosis of schizophrenia
Encapsulation theory and applications.pdf
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
A Presentation on Touch Screen Technology

Dev Days 2009 - iPhone Development Overview

  • 1. Develop for iPhone and Get Rich (development experiences...) DevDays October 2009 - Dan Pilone Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 2. The Plan • Why do you want to develop for iPhone? • The iPhone Ecosystem • Tools and Technologies • Approval and Sales Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 3. Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 4. Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 5. Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 6. Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 7. Results not typical. Your actual income may vary. High returns represent a relatively small percentage of applications in the iTunes App Store. The App Store is designed for maximum turnover of applications. Placement in top 100 lists dramatically influence sales. Placement above 50 typically double sales. Placement in top 10 increase sales by order of magnitude. Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 8. App Store Statistics Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 9. App Store Statistics • > $1 Billion industry => $4B in 2012 Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 10. App Store Statistics • > $1 Billion industry => $4B in 2012 • > 2 Billion downloads Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 11. App Store Statistics • > $1 Billion industry => $4B in 2012 • > 2 Billion downloads • > 100,000 apps Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 12. App Store Statistics • > $1 Billion industry => $4B in 2012 • > 2 Billion downloads • > 100,000 apps • > 75% are paid apps Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 13. App Store Statistics • > $1 Billion industry => $4B in 2012 • > 2 Billion downloads • > 100,000 apps • > 75% are paid apps • Of the 20 categories in App Store, Games & Entertainment represent 35% Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 14. App Store Statistics • > $1 Billion industry => $4B in 2012 • > 2 Billion downloads • > 100,000 apps • > 75% are paid apps • Of the 20 categories in App Store, Games & Entertainment represent 35% • Social networking, Photography, Finance, Medical and Weather combined are 6.2% Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 15. Why are people developing for iPhone? Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 16. Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 17. Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 18. Why is iPhone successful? Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 19. Why is iPhone successful? • Development experience (Frameworks, UI, tools etc.) Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 20. Why is iPhone successful? • Development experience (Frameworks, UI, tools etc.) • Approval Process Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 21. Why is iPhone successful? • Development experience (Frameworks, UI, tools etc.) • Approval Process • Makes Money for developers Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 22. Why is iPhone successful? • Development experience (Frameworks, UI, tools etc.) • Approval Process • Makes Money for developers • Fantastic distribution mechanism Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 23. Why is iPhone successful? • Development experience (Frameworks, UI, tools etc.) • Approval Process • Makes Money for developers • Fantastic distribution mechanism • User Experience Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 24. UI Matters Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 25. UI Matters Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 26. Classics Downloads to date: 450,000 Price: $2.99 Approx Income: $940,000 Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 27. I Am T-Pain Downloads to date: 300,000 Price: $2.99 Approx Income: $627,900 Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 28. Flight Control Downloads to date: 700,000 Price: $0.99 Approx Income: $485,000 Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 29. There is money to be EARNED. Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 30. iPhone App Basics Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 31. You Need an Intel-based Mac Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 32. And the Apple SDK Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 33. Devices are optional Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 34. iPhone App Rules Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 35. iPhone App Rules • No 3rd party background apps Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 36. iPhone App Rules • No 3rd party background apps • Limited resources Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 37. iPhone App Rules • No 3rd party background apps • Limited resources • Live in a sand box Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 38. iPhone App Rules • No 3rd party background apps • Limited resources • Live in a sand box • Must use published API Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 39. Designing a Traditional App Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 40. is NOT the same as Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 41. iPhone Apps Are View Based Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 42. iPhone Apps Are View Based Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 43. iPhone Apps Are View Based Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 44. Frameworks and Tools Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 45. Framework Patterns View View Controller Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 46. Framework Patterns View View Controller Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 47. Behind the Scenes #import <UIKit/UIKit.h> @interface HelloWorldViewController : UIViewController { } @end Objective-C classes and Nibs built with UIKit Interface Builder Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 48. Xcode Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 49. Full Featured IDE Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 50. Graphical debugger Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 51. Built in App Templates Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 52. Data modeler Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 53. Static Code Analyzer Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 54. Objective-C Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 55. C-based Language ! BOOL wasItZero; ! ! if (x == 0) { ! ! NSLog(@"Wow, x was 0."); ! ! wasItZero = YES; ! } else if (x == 1) { ! ! NSLog(@"You'd never guess. it was 1."); ! ! wasItZero = NO; ! } ! ! return wasItZero; Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 56. And then it goes off the rails... - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { if (self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]) { // Custom initialization } return self; } Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 57. Objective-C means message passing [window addSubview:viewController.view]; receiver message argument Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 58. Objective-C means message passing [window addSubview:viewController.view]; receiver message argument Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 59. Messages are turned into method calls @interface UIView : UIResponder<NSCoding> { ... } - (void)addSubview:(UIView *)view; @end Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 60. Properties and Fields @interface HelloWorldAppDelegate : NSObject <UIApplicationDelegate> { UIWindow *window; HelloWorldViewController *viewController; } @property (nonatomic, retain) UIWindow *window; @property (nonatomic, retain) HelloWorldViewController *viewController; @end Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 61. Properties and Fields @interface HelloWorldAppDelegate : NSObject <UIApplicationDelegate> { UIWindow *window; HelloWorldViewController *viewController; } @property (nonatomic, retain) UIWindow *window; @property (nonatomic, retain) HelloWorldViewController *viewController; @end @synthesize window; @synthesize viewController; Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 62. Memory management?? Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 63. Objective-C uses reference counting Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 64. Memory management is critical - (void)dealloc { [viewController release]; [window release]; [super dealloc]; } Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 65. The SDK includes Instruments Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 66. Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 67. Behind the Scenes View View Controller Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 68. Behind the Scenes #import <UIKit/UIKit.h> @interface HelloWorldViewController : UIViewController { } @end Objective-C classes and UIKit Views and Nibs Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 69. Behind the Scenes #import <UIKit/UIKit.h> @interface HelloWorldViewController : UIViewController { } @end Objective-C classes and UIKit Views and Nibs Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 70. Interface Builder Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 71. Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 72. #import <UIKit/UIKit.h> @interface HelloWorldViewController : UIViewController { } @end UIView UIView Controller Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 73. Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 74. Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 75. #import <UIKit/UIKit.h> @interface HelloWorldViewController : UIViewController { } - (IBAction) tapMeButtonPressed: (id) sender; @end - (IBAction) tapMeButtonPressed: (id) sender { ! UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Tapped!" message:@"Fingers of steel!" delegate:nil cancelButtonTitle:@"Bo-ya" otherButtonTitles:nil]; ! [alertView show]; ! [alertView release]; } Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 76. Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 77. Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 78. But what about interacting with the UI? Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 79. Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 80. #import <UIKit/UIKit.h> @interface HelloWorldViewController : UIViewController { ! UILabel *helloLabel; } @property (nonatomic, retain) IBOutlet UILabel *helloLabel; - (IBAction) tapMeButtonPressed: (id) sender; @end - (IBAction) tapMeButtonPressed: (id) sender { ! self.helloLabel.text = @"Fingers of steel!"; } Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 81. Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 82. Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 83. Breathe Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 84. Testing your code Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 85. iPhone Simulator Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 86. Simulator Issues • No camera • Single GPS (Core Location) point • Limited gesture and accelerometer support • Infinite memory and performance • Lax enforcement of permissions Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 87. But it’s worse than just the simulator... Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 88. But it’s worse than just the simulator... iPhone 2G No GPS Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 89. But it’s worse than just the simulator... iPhone 2G iPhone 3G No GPS No Compass No Video Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 90. But it’s worse than just the simulator... iPhone 2G iPhone 3G iPhone 3GS No GPS No Compass New OpenGL No Video Better Camera Quicker Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 91. But it’s worse than just the simulator... iPhone 2G iPhone 3G iPhone 3GS iPod Touch 1G No GPS No Compass New OpenGL No Cellular No Video Better Camera No Ext. Quicker Speaker Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 92. But it’s worse than just the simulator... iPhone 2G iPhone 3G iPhone 3GS iPod Touch 1G iPod Touch 2G No GPS No Compass New OpenGL No Cellular No Camera No Video Better Camera No Ext. Quicker Speaker Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 93. But it’s worse than just the simulator... iPhone 2G iPhone 3G iPhone 3GS iPod Touch 1G iPod Touch 2G No GPS No Compass New OpenGL No Cellular No Camera No Video Better Camera No Ext. Quicker Speaker yet... Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 94. You need to test on real devices. Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 95. You are here • You’ve written an app • You’ve debugged it in the simulator • You’ve installed it on a real device* *...and it works Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 96. The App Approval Process Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 97. It’s not as bad as you’ve heard. Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 98. It will take two weeks to be rejected* *...or accepted. Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 99. They do test your app. Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 100. They will eventually catch HIG or License Violations. Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 101. Real World Example Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 102. Real World Example Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 103. Selling your app and post approval Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 104. Analytics Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 105. Really hard to make money with Ad based apps Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 106. Localization Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 107. Two sales models Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 108. Chart Likage 100 75 50 25 0 People who like charts Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 109. Distimo Sept 09 Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 110. Distimo Sept 09 Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 111. Omnifocus Downloads to date: >50,000 Price: $19.99 Approx Income: $700,000 Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 112. Wrap up • Why do you want to develop for iPhone? • The iPhone Ecosystem • Tools and Technologies • Approval and Sales Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 113. More Information Dan Pilone Twitter: @danpilone dan@pilone.org iPhone Dev Site: http://developer.apple.com/iphone Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009
  • 114. Q&A Copyright 2009 Dan Pilone / dan@pilone.org / DevDays Wednesday, December 23, 2009