10 Years of iPhone - A Developer's Perspective

10 Years of iPhone - A Developer's Perspective

Let us take a small trip back in time. It is 2006. George W. Bush is president of the United States, and there are wars raging in quite a few countries in the middle east. There were rumors of an upcoming financial crisis. People were getting excited about the possibility of a rather unknown black senator called Barack Obama becoming president. And Apple was rumored to be ready to unveil a new cell phone.

This talk will take us back to 2006 to understand the world of software development back then, and to realize how much it has changed, for the best or, in some cases unfortunately, for the worst.

The speech of this presentation is available in Medium: https://medium.com/@akosma/10-years-of-iphone-a-developers-perspective-dbaf6e0c4ab5

53619e4417778923cc65a51683e850a0?s=128

Adrian Kosmaczewski

May 08, 2017
Tweet

Transcript

  1. 10 Years of iPhone A Developer's Perspective

  2. None
  3. 2007

  4. None
  5. None
  6. “When the Mac first came out, Newsweek asked me what

    I (thought) of it. I said: Well, it’s the first personal computer worth criticizing."
  7. "So at the end of the presentation, Steve came up

    to me and said: Is the iPhone worth criticizing? And I said: Make the screen five inches by eight inches, and you’ll rule the world.”
  8. None
  9. None
  10. OS X

  11. Objective-C

  12. WWDC 2007

  13. Web Apps

  14. None
  15. None
  16. None
  17. iPhone • 128 MB RAM • 4 to 16 GB

    • 32-bit CPU • 412 MHz • 2.0 MP rear camera
  18. … the iPhone didn't support 3G, it didn't support multitasking,

    it didn't support 3rd party apps, you couldn't copy or paste text, you couldn't attach arbitrary files to emails, it didn't support MMS, it didn't support Exchange push email, it didn't have a customizable home screen…
  19. None
  20. None
  21. None
  22. None
  23. None
  24. Official SDK Announcement

  25. 2007 2008 2009 2010 2011 AAPL 12.25 Revenue 24 iPods

    52 Macs 7 iPhone 1.1
  26. 2008

  27. iPhone SDK

  28. None
  29. None
  30. WWDC 2008 Sold out in two months (first time!)

  31. "…in the first 95 days, 250,000 people downloaded the iPhone

    SDK. 25,000 developers applied, and 4,000 were admitted in the program."
  32. None
  33. iPhone OS 2.0 1/2 • Interface Builder was a separate

    application from Xcode 3 • No Instruments • No ARC: retain, release and autorelease were our friends! • No IBOutletCollection • No Storyboards • No Auto Layout
  34. iPhone OS 2.0 2/2 • No Gesture recognizers • No

    Map views • No Unit testing (OCUnit / SenTest did not work with iPhone apps back then) • No Nitro JS engine • No Pull-to-refresh
  35. [UIImage imageNamed:]

  36. iPhone 3G • Same specs as first iPhone • 3G

    • GPS
  37. None
  38. F***ing NDA

  39. None
  40. Dow Jones Crash

  41. iPhone Conference in Geneva

  42. None
  43. None
  44. 2007 2008 2009 2010 2011 AAPL 12.25 19.34 Revenue 24

    32 iPods 52 54 Macs 7 9 iPhone 1.1 11.6
  45. Cumulated iPhone sales: 12.7 M 13'000 Apps in the App

    Store
  46. 2009

  47. None
  48. None
  49. None
  50. None
  51. None
  52. WWDC 2009 Sold out in one month

  53. New Frameworks • MapKit.framework • CoreData.framework • ExternalAccessory.framework • GameKit.framework

    • MessageUI.framework • StoreKit.framework
  54. iPhone 3GS • 256 MB RAM • 600 MHz CPU

    • 3 MP rear camera with video • Up to 32 MB storage
  55. Officially supported until February 14th, 2014

  56. None
  57. 2007 2008 2009 2010 2011 AAPL 12.25 19.34 12.88 Revenue

    24 32 36.5 iPods 52 54 54 Macs 7 9 10.3 iPhone 1.1 11.6 20.7
  58. Cumulated iPhone sales: 33.4 M 100'000 Apps in the App

    Store
  59. 2010

  60. None
  61. None
  62. iPhone OS 3.2 • Gesture Recognizers • Universal Apps

  63. None
  64. None
  65. "Thoughts About Flash"

  66. Clause 3.3.1

  67. None
  68. None
  69. WWDC 2010 Sold out in 8 days

  70. iPhone OS ➡ iOS

  71. New, New, New • Xcode 4 • ARC • Objective-C

    Blocks • Grand Central Dispatch • Core Text • Multitasking • Retina Displays (@2x) • iAd
  72. New Frameworks: • CoreMotion.framework • AssetsLibrary.framework • CoreTelephony.framework • CoreText.framework

    • EventKit.framework • EventKitUI.framework • MobileCoreServices.framework • QuickLook.framework • iAd.framework
  73. New Features: • FaceTime • App folders • Retina display

    • Support for iPad • Game Center
  74. iPhone 4 • A4 SoC • 32-bit CPU • 1

    GHz • 512 MB RAM • Up to 32 MB storage • 0.3 MP front camera • 5 MP back camera
  75. Supported until iOS 7.1.2 June 30, 2014

  76. None
  77. None
  78. None
  79. Open Source • ASIHTTPRequest • JSONKit • InAppSettingsKit

  80. "App" Word of the Year

  81. None
  82. None
  83. None
  84. 300'000 activations/day

  85. 2007 2008 2009 2010 2011 AAPL 12.25 19.34 12.88 27.44

    Revenue 24 32 36.5 65.2 iPods 52 54 54 50 Macs 7 9 10.3 13.6 iPhone 1.1 11.6 20.7 40 iPad 7.5
  86. Cumulated iPhone sales: 73.5 M 300'000 Apps in the App

    Store
  87. 2011

  88. Mac App Store

  89. None
  90. None
  91. Lodsys

  92. None
  93. None
  94. WWDC 2011 Sold out in 12 hours

  95. iOS 5 1/2 • Siri (only on the iPhone 4S)

    • The new Notification Center • iMessages • Newsstand • Reminders • Twitter integration
  96. iOS 5 2/2 • Music application (formerly the "iPod" application)

    • Users can use the volume button to take pictures • Rich text formatting in mail messages • New basic photo editing features in Photos • Safari Reader mode • iCloud (replacing Mobile Me)
  97. New Frameworks • Accounts.framework • CoreBluetooth.framework • CoreImage.framework • GLKit.framework

    • NewsstandKit.framework • Twitter.framework
  98. None
  99. iAd 500'000 ➡ 300'000

  100. HP shuts off WebOS

  101. iPhone 4S • No tethering • Apple A5 SoC •

    32-bit CPU 1 GHz • 0.3 MP front camera • 8 MP rear camera • Up to 64 GB storage
  102. CocoaPods

  103. Steve Jobs

  104. None
  105. 2007 2008 2009 2010 2011 AAPL 12.25 19.34 12.88 27.44

    48.47 Revenue 24 32 36.5 65.2 108.3 iPods 52 54 54 50 42 Macs 7 9 10.3 13.6 16.7 iPhone 1.1 11.6 20.7 40 72 iPad 7.5 32
  106. Cumulated iPhone sales: 146 M Cumulated iPad sales: 40 M

    500'000 Apps in the App Store
  107. 2012

  108. None
  109. None
  110. iAd 300'000 ➡ 100'000

  111. None
  112. None
  113. None
  114. WWDC 2012 Sold out in 1h 43m

  115. iOS 6 • Maps • Passbook • Social network integration

    • FaceTime through cellular
  116. New Frameworks • AdSupport.framework • MediaToolbox.framework • PassKit.framework • Social.framework

  117. None
  118. iPhone 5 • New screen size • Dual core 32-bit

    CPU • 1.3 GHz • 1 GB RAM • 1.2 MP front camera • 8 MP rear camera • Up to 64 GB storage • LTE (aka "4G")
  119. Oldest device still supported (until iOS 10.3.1)

  120. None
  121. None
  122. None
  123. Retina MacBook Pro

  124. 30-pin Apple Dock ➡ Lightning Connector

  125. 2012 2013 2014 2015 2016 AAPL 65.21 Revenue 156.5 iPods

    35 Macs 18 iPhone 125 iPad 58
  126. Cumulated iPhone sales: 271 M Cumulated iPad sales: 98 M

    700'000 Apps in the App Store
  127. 2013

  128. None
  129. None
  130. minimaluminism

  131. None
  132. None
  133. None
  134. WWDC 2013 Sold out in 71s

  135. iOS 7 • New "flat" UI idiom • New notification

    center • New apps • New, new, new…
  136. None
  137. New Frameworks • GameController.framework • JavaScriptCore.framework • MultipeerConnectivity.framework • SafariServices.framework

    • SpriteKit.framework
  138. New, New, New 1/2 • The new NSURLSession family of

    classes • Support for iBeacons • The new [NSData base64EncodedStringWithOptions:] method, • The new @import syntax for importing modules or frameworks • The CMStepCounter class for counting steps • The MKGeodesicPolyline class
  139. New, New, New 2/2 • The default hiding of MAC

    addresses by the operating system for privacy purposes • The support for reading QR codes through AVMetadataObjectTypeQRCode • Smile detection through CIFaceFeature • Text-to-speech through AVSpeechUtterance • The new Text Kit built upon Core Text • Dynamic Type
  140. Helvetica ➡ Helvetica Neue

  141. iAd 100'000 ➡ 50

  142. None
  143. iPhone 5S • 64-bit dual core CPU • 1 GB

    RAM • Apple M7 Motion Sensor • Up to 64 GB storage • Touch ID • Gold!
  144. iPhone 5C • Same as the iPhone 5 • Cheaper

    • Up to 32 GB storage • 32-bit CPU at 1 GHz
  145. iPad Air

  146. 78% devices running iOS 7 December

  147. 2012 2013 2014 2015 2016 AAPL 65.21 65.07 Revenue 156.5

    171 iPods 35 26 Macs 18 16.5 iPhone 125 150 iPad 58 71
  148. Cumulated iPhone sales: 421 M Cumulated iPad sales: 169 M

    1'000'000 Apps in the App Store
  149. 2014

  150. static OSStatus SSLVerifySignedServerKeyExchange(SSLContext *ctx, bool isRsa, SSLBuffer signedParams, uint8_t *signature,

    UInt16 signatureLen) { OSStatus err; ... if ((err = SSLHashSHA1.update(&hashCtx, &serverRandom)) != 0) goto fail; if ((err = SSLHashSHA1.update(&hashCtx, &signedParams)) != 0) goto fail; goto fail; if ((err = SSLHashSHA1.final(&hashCtx, &hashOut)) != 0) goto fail; ... fail: SSLFreeBuffer(&signedHashes); SSLFreeBuffer(&hashCtx); return err; } Source: Wikipedia
  151. None
  152. None
  153. WWDC 2014 Lottery System

  154. None
  155. iOS 8 Biggest Release

  156. New Frameworks 1/3 • AVKit.framework • Accelerate.framework • AudioToolbox.framework •

    CloudKit.framework • CoreAudioKit.framework • CoreAuthentication.framework
  157. New Frameworks 2/3 • HealthKit.framework • HomeKit.framework • LocalAuthentication.framework •

    Metal.framework • NetworkExtension.framework • NotificationCenter.framework
  158. New Frameworks 3/3 • Photos.framework • PhotosUI.framework • PushKit.framework •

    SceneKit.framework • WebKit.framework
  159. None
  160. None
  161. None
  162. iPhone 6 iPhone 6 Plus • Bigger screen sizes •

    Apple A8 SoC • Dual core 64-bit CPU • 1.4 GHz • Up to 128 GB of storage • 1 GB of RAM • 8 MP rear camera capable of 1080 HD video
  163. None
  164. None
  165. None
  166. 65% of devices running iOS 8 December

  167. Carthage

  168. None
  169. 2012 2013 2014 2015 2016 AAPL 65.21 65.07 71.51 Revenue

    156.5 171 183 iPods 35 26 14 Macs 18 16.5 19 iPhone 125 150 169 iPad 58 71 67
  170. Cumulated iPhone sales: 590 M Cumulated iPad sales: 237 M

    1.3 M Apps in the App Store
  171. 2015

  172. Swift, Swift, Swift

  173. None
  174. None
  175. WWDC 2015 Lottery, remember?

  176. Swift ➡ Open Source

  177. None
  178. Helvetica Neue ➡ San Francisco

  179. None
  180. None
  181. iPhone 6S iPhone 6S Plus • Apple A9 SoC •

    Dual-core 64-bit CPUs • 1.85 GHz • 2 GB RAM • Up to 128 GB storage • 12 MP rear camera ➡ 4K video • 3D Touch
  182. None
  183. iPad Pro • 12" screen • Apple A9X SoC •

    Dual-core 64-bit CPU • 2.26 GHz • Up to 128 GB storage • 4 GB RAM • 8 MP rear camera
  184. None
  185. None
  186. None
  187. None
  188. 75% of devices running iOS 9 December

  189. None
  190. 2012 2013 2014 2015 2016 AAPL 65.21 65.07 71.51 117.16

    Revenue 156.5 171 183 234 Macs 18 16.5 19 20.5 iPhone 125 150 169 231 iPad 58 71 67 54
  191. Cumulated iPhone sales: 821 M Cumulated iPad sales: 291 M

    1.8 M Apps in the App Store
  192. 2016

  193. Apple shuts off iAd

  194. 1 Billion

  195. iPhone SE 9.7" iPad Pro

  196. None
  197. None
  198. None
  199. None
  200. None
  201. Swift 3 Xcode 8

  202. None
  203. New Features 1/2 • Customize notifications • iMessage apps •

    Siri framework • Custom content in Maps • CallKit framework for VoIP apps • SFSpeechRecognizer
  204. New Features 2/2 • True Tone display • Core Spotlight

    and CSSearchQuery class • Copy-pasting between devices • New app extensions: Call Directory, Intents, Intents UI, Messages, Notification Content, Notification Service, and Sticker Pack. • New Photo capture API: AVCapturePhotoOutput
  205. None
  206. Apple Pay

  207. None
  208. iPhone 7 iPhone 7 Plus • Apple A10 Fusion SoC

    • Quad-core 64-bit CPUs • 2.34 GHz • 2 or 3 GB of RAM • Up to 256 GB of storage • 12 MP rear camera capable of 4K video • 7 MP front camera
  209. No headphone jack

  210. Courage

  211. None
  212. Mozilla shuts off Firefox OS

  213. 75% of devices running iOS 10 December

  214. 2012 2013 2014 2015 2016 AAPL 65.21 65.07 71.51 117.16

    97.34 Revenue 156.5 171 183 234 215 Macs 18 16.5 19 20.5 18.5 iPhone 125 150 169 231 212 iPad 58 71 67 54 45.5
  215. Cumulated iPhone sales: 1.03 B Cumulated iPad sales: 337.5 M

    2.1 M Apps in the App Store (1 M for iPad)
  216. 2017

  217. None
  218. None
  219. iOS 10.3.1

  220. iOS 10 installed in 90% of devices

  221. Oldest device supported: iPhone 5 (2012)

  222. App Store Blues

  223. "You also need to acknowledge that you’ve marked your work

    as being essentially worthless, and that it’ll be discarded just as quickly. Your most vocal supporters will turn on you the minute you ask for more money (remember the extra levels for Monument Valley?)."
  224. WWDC 2017 No more in San Francisco

  225. Swift 4? (no ABI !) iOS 11? watchOS 4? tvOS

    11? macOS 10.13?
  226. None
  227. None
  228. AAPL ➡ 146 USD 1.16 B iPhones sold 360 M

    iPads sold
  229. None
  230. None
  231. 1.5 Billion iOS Devices Sold (not counting iPod touch devices!)

  232. Source: guerrilla-innovation.com

  233. What is next?

  234. Thanks @akosma