Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
iPhone OS
 The Next
   Killer
 Platform
Why all the excitement?
Why all the excitement?
• Compelling, stylish products built on multi-
  touch interface
  • iPod Touch
  • iPhone
  • iPad
Why all the excitement?
• Compelling, stylish products built on multi-
  touch interface
  • iPod Touch
  • iPhone
  • iPa...
Why all the excitement?
• Compelling, stylish products built on multi-
  touch interface
  • iPod Touch
  • iPhone
  • iPa...
iPhone Strengths
iPhone Strengths
• iPhone OS as a platform
iPhone Strengths
• iPhone OS as a platform
• Complete hardware and software product
  offering
  • Apple A4 chip design
iPhone Strengths
• iPhone OS as a platform
• Complete hardware and software product
  offering
  • Apple A4 chip design
• ...
iPhone Strengths
• iPhone OS as a platform
• Complete hardware and software product
  offering
  • Apple A4 chip design
• ...
iPhone Strengths
• iPhone OS as a platform
• Complete hardware and software product
  offering
  • Apple A4 chip design
• ...
iPhone Weaknesses
iPhone Weaknesses
• Exclusivity agreement with AT&T
iPhone Weaknesses
• Exclusivity agreement with AT&T
• Proprietary SDK and licensing agreements
iPhone Weaknesses
• Exclusivity agreement with AT&T
• Proprietary SDK and licensing agreements
• App Store app submission ...
iPhone Opportunities
iPhone Opportunities
• Expansion of iPhone/iPad to multiple cellular
  networks
iPhone Opportunities
• Expansion of iPhone/iPad to multiple cellular
  networks
• Captivated development community
iPhone Opportunities
• Expansion of iPhone/iPad to multiple cellular
  networks
• Captivated development community
• Capti...
iPhone Opportunities
• Expansion of iPhone/iPad to multiple cellular
  networks
• Captivated development community
• Capti...
iPhone Threats
iPhone Threats
• Android OS and Google
iPhone Threats
• Android OS and Google
• Other mobile/tablet platforms
iPhone Threats
• Android OS and Google
• Other mobile/tablet platforms
• User reluctance to move to a multi-touch
  user i...
iPhone SDK
iPhone SDK
Key Features
iPhone SDK
Key Features

 • Tools to design, build, test, and deploy
iPhone SDK
Key Features

 • Tools to design, build, test, and deploy
 • Powerful, full-featured APIs
iPhone SDK
Key Features

 • Tools to design, build, test, and deploy
 • Powerful, full-featured APIs
 • Consistent
   • Gr...
iPhone SDK
Key Features

 • Tools to design, build, test, and deploy
 • Powerful, full-featured APIs
 • Consistent
   • Gr...
iPhone SDK
Key Features

 • Tools to design, build, test, and deploy
 • Powerful, full-featured APIs
 • Consistent
   • Gr...
Objective-C
Objective-C
The old new hotness
Objective-C
The old new hotness
 • Strict superset of ANSI C
   • Object-oriented extensions
   • Additional syntax and ty...
Objective-C
The old new hotness
 • Strict superset of ANSI C
   • Object-oriented extensions
   • Additional syntax and ty...
Objective-C
The old new hotness
 • Strict superset of ANSI C
   • Object-oriented extensions
   • Additional syntax and ty...
Objective-C
The old new hotness
 • Strict superset of ANSI C
   • Object-oriented extensions
   • Additional syntax and ty...
Objective-C
The old new hotness
 • Strict superset of ANSI C
   • Object-oriented extensions
   • Additional syntax and ty...
Objective-C
The old new hotness
 • Strict superset of ANSI C
   • Object-oriented extensions
   • Additional syntax and ty...
Objective-C Resources
iPhone SDK Frameworks
iPhone SDK Frameworks




     BSD UNIX / Kernel Services
iPhone SDK Frameworks




         Core Frameworks


     BSD UNIX / Kernel Services
iPhone SDK Frameworks



               Media


         Core Frameworks


     BSD UNIX / Kernel Services
iPhone SDK Frameworks

            Cocoa Touch


               Media


         Core Frameworks


     BSD UNIX / Kernel ...
Cocoa Touch
Foundation Framework
Cocoa Touch
Foundation Framework

 • Core framework for non-UI functionality
Cocoa Touch
Foundation Framework

 • Core framework for non-UI functionality
 • Operating System Classes
   • threading, a...
Cocoa Touch
Foundation Framework

 • Core framework for non-UI functionality
 • Operating System Classes
   • threading, a...
Cocoa Touch
Foundation Framework

 • Core framework for non-UI functionality
 • Operating System Classes
   • threading, a...
Cocoa Touch
Foundation Framework

 • Core framework for non-UI functionality
 • Operating System Classes
   • threading, a...
Cocoa Touch
UIKit Framework
Cocoa Touch
UIKit Framework

 • Framework for building iPhone user interfaces
Cocoa Touch
UIKit Framework

 • Framework for building iPhone user interfaces
 • User Interface Elements
   • Views, table...
Cocoa Touch
UIKit Framework

 • Framework for building iPhone user interfaces
 • User Interface Elements
   • Views, table...
Cocoa Touch
UIKit Framework

 • Framework for building iPhone user interfaces
 • User Interface Elements
   • Views, table...
Cocoa Touch
UIKit Framework

 • Framework for building iPhone user interfaces
 • User Interface Elements
   • Views, table...
Cocoa Touch
UIKit Framework

 • Framework for building iPhone user interfaces
 • User Interface Elements
   • Views, table...
iPhone SDK Tools
XCode
XCode
XCode
• Apple’s IDE for creating Mac and iPhone apps
XCode
• Apple’s IDE for creating Mac and iPhone apps
• Provides visual front end to GCC and GDB
XCode
• Apple’s IDE for creating Mac and iPhone apps
• Provides visual front end to GCC and GDB
• Hub of development proce...
Interface Builder
Interface Builder
Interface Builder
 • Visual user interface builder
Interface Builder
 • Visual user interface builder
   • Layout and configuration of user interface
Interface Builder
 • Visual user interface builder
   • Layout and configuration of user interface
   • Visual layout guide...
Interface Builder
 • Visual user interface builder
   • Layout and configuration of user interface
   • Visual layout guide...
Interface Builder
 • Visual user interface builder
   • Layout and configuration of user interface
   • Visual layout guide...
iPhone Simulator
iPhone Simulator
iPhone Simulator
• Faster code, build, test cycle
iPhone Simulator
• Faster code, build, test cycle
• Test behaviors: rotation, shake, multi-touch
iPhone Simulator
• Faster code, build, test cycle
• Test behaviors: rotation, shake, multi-touch
• Easier to test exceptio...
iPhone Simulator
• Faster code, build, test cycle
• Test behaviors: rotation, shake, multi-touch
• Easier to test exceptio...
Instruments
Instruments
Instruments

• Dynamic tracing and profiling tool
Instruments

• Dynamic tracing and profiling tool
 • Visual front end to DTrace
Instruments

• Dynamic tracing and profiling tool
 • Visual front end to DTrace
• Uses digital audio workstation-like inter...
Instruments

• Dynamic tracing and profiling tool
 • Visual front end to DTrace
• Uses digital audio workstation-like inter...
Instruments

• Dynamic tracing and profiling tool
 • Visual front end to DTrace
• Uses digital audio workstation-like inter...
One more thing...
Upcoming SlideShare
Loading in …5
×

iPhone OS: The Next Killer Platform

1,735 views

Published on

Presentation that Bob McCune and I did for the DevJam Jam Session night on April 7, 2010.

  • Be the first to comment

iPhone OS: The Next Killer Platform

  1. 1. iPhone OS The Next Killer Platform
  2. 2. Why all the excitement?
  3. 3. Why all the excitement? • Compelling, stylish products built on multi- touch interface • iPod Touch • iPhone • iPad
  4. 4. Why all the excitement? • Compelling, stylish products built on multi- touch interface • iPod Touch • iPhone • iPad • Applications marketplace (AppStore)
  5. 5. Why all the excitement? • Compelling, stylish products built on multi- touch interface • iPod Touch • iPhone • iPad • Applications marketplace (AppStore) • Developer tools and community
  6. 6. iPhone Strengths
  7. 7. iPhone Strengths • iPhone OS as a platform
  8. 8. iPhone Strengths • iPhone OS as a platform • Complete hardware and software product offering • Apple A4 chip design
  9. 9. iPhone Strengths • iPhone OS as a platform • Complete hardware and software product offering • Apple A4 chip design • Thriving development community
  10. 10. iPhone Strengths • iPhone OS as a platform • Complete hardware and software product offering • Apple A4 chip design • Thriving development community • Blossoming applications marketplace
  11. 11. iPhone Strengths • iPhone OS as a platform • Complete hardware and software product offering • Apple A4 chip design • Thriving development community • Blossoming applications marketplace • Cult-like brand loyalty
  12. 12. iPhone Weaknesses
  13. 13. iPhone Weaknesses • Exclusivity agreement with AT&T
  14. 14. iPhone Weaknesses • Exclusivity agreement with AT&T • Proprietary SDK and licensing agreements
  15. 15. iPhone Weaknesses • Exclusivity agreement with AT&T • Proprietary SDK and licensing agreements • App Store app submission and approval process
  16. 16. iPhone Opportunities
  17. 17. iPhone Opportunities • Expansion of iPhone/iPad to multiple cellular networks
  18. 18. iPhone Opportunities • Expansion of iPhone/iPad to multiple cellular networks • Captivated development community
  19. 19. iPhone Opportunities • Expansion of iPhone/iPad to multiple cellular networks • Captivated development community • Captivated gaming community
  20. 20. iPhone Opportunities • Expansion of iPhone/iPad to multiple cellular networks • Captivated development community • Captivated gaming community • Extensibility of the device through External Accessory framework
  21. 21. iPhone Threats
  22. 22. iPhone Threats • Android OS and Google
  23. 23. iPhone Threats • Android OS and Google • Other mobile/tablet platforms
  24. 24. iPhone Threats • Android OS and Google • Other mobile/tablet platforms • User reluctance to move to a multi-touch user interface
  25. 25. iPhone SDK
  26. 26. iPhone SDK Key Features
  27. 27. iPhone SDK Key Features • Tools to design, build, test, and deploy
  28. 28. iPhone SDK Key Features • Tools to design, build, test, and deploy • Powerful, full-featured APIs
  29. 29. iPhone SDK Key Features • Tools to design, build, test, and deploy • Powerful, full-featured APIs • Consistent • Greatly aides in learning iPhone development
  30. 30. iPhone SDK Key Features • Tools to design, build, test, and deploy • Powerful, full-featured APIs • Consistent • Greatly aides in learning iPhone development • Leverages hardware capabilities of device
  31. 31. iPhone SDK Key Features • Tools to design, build, test, and deploy • Powerful, full-featured APIs • Consistent • Greatly aides in learning iPhone development • Leverages hardware capabilities of device • Written in Objective-C • Lower-level frameworks in standard C
  32. 32. Objective-C
  33. 33. Objective-C The old new hotness
  34. 34. Objective-C The old new hotness • Strict superset of ANSI C • Object-oriented extensions • Additional syntax and types
  35. 35. Objective-C The old new hotness • Strict superset of ANSI C • Object-oriented extensions • Additional syntax and types • Native iPhone SDK language
  36. 36. Objective-C The old new hotness • Strict superset of ANSI C • Object-oriented extensions • Additional syntax and types • Native iPhone SDK language • Flexible typing
  37. 37. Objective-C The old new hotness • Strict superset of ANSI C • Object-oriented extensions • Additional syntax and types • Native iPhone SDK language • Flexible typing • Simple, expressive syntax
  38. 38. Objective-C The old new hotness • Strict superset of ANSI C • Object-oriented extensions • Additional syntax and types • Native iPhone SDK language • Flexible typing • Simple, expressive syntax • Dynamic runtime
  39. 39. Objective-C The old new hotness • Strict superset of ANSI C • Object-oriented extensions • Additional syntax and types • Native iPhone SDK language • Flexible typing • Simple, expressive syntax • Dynamic runtime • Reference counting for memory management
  40. 40. Objective-C Resources
  41. 41. iPhone SDK Frameworks
  42. 42. iPhone SDK Frameworks BSD UNIX / Kernel Services
  43. 43. iPhone SDK Frameworks Core Frameworks BSD UNIX / Kernel Services
  44. 44. iPhone SDK Frameworks Media Core Frameworks BSD UNIX / Kernel Services
  45. 45. iPhone SDK Frameworks Cocoa Touch Media Core Frameworks BSD UNIX / Kernel Services
  46. 46. Cocoa Touch Foundation Framework
  47. 47. Cocoa Touch Foundation Framework • Core framework for non-UI functionality
  48. 48. Cocoa Touch Foundation Framework • Core framework for non-UI functionality • Operating System Classes • threading, archiving, filesystem
  49. 49. Cocoa Touch Foundation Framework • Core framework for non-UI functionality • Operating System Classes • threading, archiving, filesystem • Collections • Common collection types: arrays, sets, maps
  50. 50. Cocoa Touch Foundation Framework • Core framework for non-UI functionality • Operating System Classes • threading, archiving, filesystem • Collections • Common collection types: arrays, sets, maps • Networking support
  51. 51. Cocoa Touch Foundation Framework • Core framework for non-UI functionality • Operating System Classes • threading, archiving, filesystem • Collections • Common collection types: arrays, sets, maps • Networking support • XML Processing
  52. 52. Cocoa Touch UIKit Framework
  53. 53. Cocoa Touch UIKit Framework • Framework for building iPhone user interfaces
  54. 54. Cocoa Touch UIKit Framework • Framework for building iPhone user interfaces • User Interface Elements • Views, tables, buttons, images, etc.
  55. 55. Cocoa Touch UIKit Framework • Framework for building iPhone user interfaces • User Interface Elements • Views, tables, buttons, images, etc. • View Controllers
  56. 56. Cocoa Touch UIKit Framework • Framework for building iPhone user interfaces • User Interface Elements • Views, tables, buttons, images, etc. • View Controllers • Multitouch Event Handling
  57. 57. Cocoa Touch UIKit Framework • Framework for building iPhone user interfaces • User Interface Elements • Views, tables, buttons, images, etc. • View Controllers • Multitouch Event Handling • Accelerometer
  58. 58. Cocoa Touch UIKit Framework • Framework for building iPhone user interfaces • User Interface Elements • Views, tables, buttons, images, etc. • View Controllers • Multitouch Event Handling • Accelerometer • High-level Drawing Routines
  59. 59. iPhone SDK Tools
  60. 60. XCode
  61. 61. XCode
  62. 62. XCode • Apple’s IDE for creating Mac and iPhone apps
  63. 63. XCode • Apple’s IDE for creating Mac and iPhone apps • Provides visual front end to GCC and GDB
  64. 64. XCode • Apple’s IDE for creating Mac and iPhone apps • Provides visual front end to GCC and GDB • Hub of development process: Editing Testing Building Model Design Refactoring Deployment Debugging Code Signing API Doc Integration Project Configuration
  65. 65. Interface Builder
  66. 66. Interface Builder
  67. 67. Interface Builder • Visual user interface builder
  68. 68. Interface Builder • Visual user interface builder • Layout and configuration of user interface
  69. 69. Interface Builder • Visual user interface builder • Layout and configuration of user interface • Visual layout guides based on Apple's HIG
  70. 70. Interface Builder • Visual user interface builder • Layout and configuration of user interface • Visual layout guides based on Apple's HIG • Graphically wire UI components
  71. 71. Interface Builder • Visual user interface builder • Layout and configuration of user interface • Visual layout guides based on Apple's HIG • Graphically wire UI components • Seamless integration with XCode
  72. 72. iPhone Simulator
  73. 73. iPhone Simulator
  74. 74. iPhone Simulator • Faster code, build, test cycle
  75. 75. iPhone Simulator • Faster code, build, test cycle • Test behaviors: rotation, shake, multi-touch
  76. 76. iPhone Simulator • Faster code, build, test cycle • Test behaviors: rotation, shake, multi-touch • Easier to test exceptional conditions
  77. 77. iPhone Simulator • Faster code, build, test cycle • Test behaviors: rotation, shake, multi-touch • Easier to test exceptional conditions • iPhone Simulator != iPhone: • No memory or CPU limits • Not all APIs and capabilities available: • Core Location, Keychain, etc.
  78. 78. Instruments
  79. 79. Instruments
  80. 80. Instruments • Dynamic tracing and profiling tool
  81. 81. Instruments • Dynamic tracing and profiling tool • Visual front end to DTrace
  82. 82. Instruments • Dynamic tracing and profiling tool • Visual front end to DTrace • Uses digital audio workstation-like interface
  83. 83. Instruments • Dynamic tracing and profiling tool • Visual front end to DTrace • Uses digital audio workstation-like interface • Large library of standard instruments • CPU Sampler, Core Animation, Leaks, etc. • Can build custom DTrace instruments
  84. 84. Instruments • Dynamic tracing and profiling tool • Visual front end to DTrace • Uses digital audio workstation-like interface • Large library of standard instruments • CPU Sampler, Core Animation, Leaks, etc. • Can build custom DTrace instruments • Wireless profiling in iPhone SDK 3.1+
  85. 85. One more thing...

×