SlideShare a Scribd company logo
1 of 47
Download to read offline
iOS Ecosystem
                       Matteo Battaglio


                         Pragma Night @ Talent Garden
                                      1
giovedì 28 marzo 13                                     1
Why iOS?


                         2       Pragma Night
giovedì 28 marzo 13                         2
Reason #1: Numbers
                      The size of the mobile market is huge,
                            and growing exponentially




                                        3                      Pragma Night
giovedì 28 marzo 13                                                       3
Reason #1: Numbers
                      Apple keeps holding a significant share
                      of the market, with a positive outlook




                                        4                      Pragma Night
giovedì 28 marzo 13                                                       4
Reason #2: Consistency

          • The iOS platform is highly consistent
           • Just 3 different device families (iPhone, iPad,
                      iPod)
                • they target the high-end market
                • the minimum set of features and APIs available
                      to all is well known


                                             5               Pragma Night
giovedì 28 marzo 13                                                     5
Reason #2: Consistency
                      More than 80% of devices already run iOS 6




                                          6                    Pragma Night
giovedì 28 marzo 13                                                       6
Reason #3: Environment
    Apple’s mission:
    create an environment around
    the user, not just sell products

   • 500+ milion iTunes accounts,
           with credit card
   • the iOS customer is much
           more willing to pay than
           other platforms’ customer


                                   7           Pragma Night
giovedì 28 marzo 13                                       7
Reason #3: Environment

          • Apple’s highly-controlled environment limits
                  unwanted phenomenons
                • piracy
                • fraudulent apps
                • crappy apps
          • Developers are less threatened than other
                  platforms’ developers

                                          8                Pragma Night
giovedì 28 marzo 13                                                   8
Reason #4: Resources


          • iOS frameworks and APIs are of first-class quality
          • The documentation is structured and exhaustive
          • Lots of books, articles, videos and tutorials
          • High-quality developer community

                                   9                     Pragma Night
giovedì 28 marzo 13                                                 9
Reason #4: Resources

          • Development tools by Apple
           • Xcode is a full featured IDE
           • Interface Builder is great for designing user
                      interfaces
                • Debugger and profiler make it easy to find
                      anomalies
                • iOS Simulator is super fast
                                       10                    Pragma Night
giovedì 28 marzo 13                                                     10
Reason #5: Fun!

          • iOS devices are equipped with all sorts of sensors
          • their computational power is enough even for the
                  more advanced tasks
          • always connected to the Internet
                      There is no limit to the imagination!



                                          11                  Pragma Night
giovedì 28 marzo 13                                                      11
Reason #5: Fun!
                      Most popular app categories

         1. Games ~ 140000 active apps @ $0.89 avg.
         2. Education ~ 90000 active apps
         3. Entertainment ~ 75000 active apps
                                              @ $1.56 avg.
         4. Lifestyle ~ 70000 active apps
         5. Books ~ 55000 active apps



                                  12                 Pragma Night
giovedì 28 marzo 13                                             12
Drawbacks


          • Not-so-cheap hardware
          • iOS-dedicated events almost absent
          • Dependance upon a single company and its
                  decisions (non disclosure agreements, Xcode and
                  SDK update policies, etc)



                                       13                    Pragma Night
giovedì 28 marzo 13                                                     13
Hidden complexity

          • iPhone
          • iPad
          • iPod
                        Just 3 different devices?



                                   14               Pragma Night
giovedì 28 marzo 13                                            14
Devices

                  iPhone 3GS    iPod 4th   iPad 2


                  iPhone 4      iPod 5th   iPad 3


                  iPhone 4s                iPad 4


                  iPhone 5                 iPad Mini

                                  15           Pragma Night
giovedì 28 marzo 13                                       15
Display



                                   iPhone 4 / 4S     iPhone 5
                      iPhone 3GS
                                    iPod 4th gen   iPod 5th gen

                      320x480 px   640x480 px      640x1136 px


                       116 ppi       326 ppi         332 ppi


                                        16                        Pragma Night
giovedì 28 marzo 13                                                          16
Display



                       iPad 1 / 2     iPad 3 / 4    iPad mini


                      1024x768 px   2048x1536 px   1024x768 px


                        132 dpi        264 dpi       162 dpi


                                          17                     Pragma Night
giovedì 28 marzo 13                                                         17
Processor / RAM



                                        ARMv7                          ARMv7s

       1 GB                                               iPad 3   iPhone 5    iPad 4

                                              iPhone 4S
    512 MB                         iPhone 4     iPad 2
                                               iPod 5th
                      iPhone 3Gs    iPad 1
    256 MB              iPod 3rd   iPod 4th


                                                 18                           Pragma Night
giovedì 28 marzo 13                                                                      18
Device Specs

          • GSM Arena
                  http://www.gsmarena.com/apple-phones-48.php


          • The iPhoneWiki
                  http://theiphonewiki.com/wiki/


          • iPhone Dev Wiki
            http://iphonedevwiki.net/index.php/Main_Page


                                             19                 Pragma Night
giovedì 28 marzo 13                                                        19
Requirements


                           20        Pragma Night
giovedì 28 marzo 13                             20
Phisical requirements

          • A Mac (iMac, Mac mini, MacBook family)
           • OS X (10.7+)
           • Xcode (4.0+)
          • An iOS device (not mandatory, but recommended)
           • The iOS Simulator can’t be used to simulate
                      some features (e.g. push notifications, in-app
                      purchases)

                                           21                     Pragma Night
giovedì 28 marzo 13                                                          21
Skill requirements

          • Object Oriented Programming
          • C language
          • Objective-C language & iOS SDK
          • Apple guidelines
          • Provisioning procedures

                                22           Pragma Night
giovedì 28 marzo 13                                     22
Membership requirements



          • Apple ID (free)
          • Apple Developer Program (ADP) subscription



                                 23                  Pragma Night
giovedì 28 marzo 13                                             23
Apple Developer
                         Program

                             24         Pragma Night
giovedì 28 marzo 13                                24
Apple Developer Program
                                   Developer Programs

                            Name             Price           Deployment

                      iOS Developer
                                           $99/year     App Store / 100 devices
                      Program


                      iOS Developer
                                           $299/year   NO App Store / ∞ devices
                      Enterprise Program


                      iOS Developer
                                             free      NO App Store / 200 people
                      University Program


                                               25                         Pragma Night
giovedì 28 marzo 13                                                                  25
ADP Sections
          • Member Center
                •     manage users
                •     ADP subscription and renewal

          • iOS Provisioning Portal
                •     development and distribution certificates
                •     adding and removing devices

          • iTunes Connect
                •     app submissions
                •     tracking sales and trends
                •     handling payments
                                                  26             Pragma Night
giovedì 28 marzo 13                                                         26
Concepts

          • Certificate
                  univocally identifies an actor
          • Device
                  Devices must be enabled for testing
          • App ID
                  Unique identifier for the app
          • Provisioning profile
                  Asset which encloses the three concepts above

                                         27                  Pragma Night
giovedì 28 marzo 13                                                     27
Certificates


          • Development Certificate
                  Each person in the team has his own


          • Distribution Certificate
                  There’s one for the whole company (or single
                  developer)



                                       28                    Pragma Night
giovedì 28 marzo 13                                                     28
Devices
          • Purpose
                  devices are used during development and testing
          • Name + UDID
                  Unique Device IDentifier, 40 char-long string
                  e.g. 67a43b0925c7a8050ad788591ace81d1bda81bed
          • Limits
                1. The ADP allows for a maximum of 100 devices
                2. A device can’t be removed from the list until the next
                   renewal of the subscription

                                           29                        Pragma Night
giovedì 28 marzo 13                                                             29
App IDs

          • Bundle Identifier
                  unique identifier for the app
          • Reverse domain name
                  e.g. com.mycompany.BestAppEver
          • Wildcard character
                  e.g. com.mycompany.*



                                         30        Pragma Night
giovedì 28 marzo 13                                           30
Provisioning Profile
          •       What is it?
                  it’s a resource (a file) which bundles the App ID, the
                  device list and the certificates of the developers of
                  the team
          •       What does it provide?
                  it is bundled with the app and is used to authorize the
                  execution of the app on the devices and its
                  deployment and distribution
          •       How long does it last?
                  It is valid for one year, after which it must be renewed

                                           31                       Pragma Night
giovedì 28 marzo 13                                                            31
Provisioning Profile
          • Development Provisioning Profile
                ‣ App ID
                ‣ (Development) certificate list
                ‣ Device list


          • Distribution Provisioning Profile
                ‣     Distribution method (App Store or AdHoc)
                ‣     App ID
                ‣     (Distribution) certificate
                ‣     Device list (only in case of AdHoc deployment)

                                             32                        Pragma Night
giovedì 28 marzo 13                                                               32
Step by step
                  ADP $$       Certificates
                                             MM
                                              Development         Distribution
                                                                                 O
                                             MCertificates         Certificate




     MM               Team    Devices
                                             MM   Customers         Devices
                                                                                 O
     M                                       MM
                 New APP      App ID              Provisioning             M O
                                                                           M

                      Xcode    Install             Build & sign


giovedì 28 marzo 13                                                              33
SDK


                       34   Pragma Night
giovedì 28 marzo 13                    34
iOS
          • Mobile operating system
                  ARM architecture, multitasking, Cocoa Touch,
                  multi-touch GUI
          • Kernel XNU (like MAC OS X)
                  Originally developed by NeXT for the NeXTSTEP
                  OS, it is a hybrid kernel combining Mach and BSD
                  components, and an object-oriented API for
                  drivers
          • Initially known as iPhone OS
                                        35                       Pragma Night
giovedì 28 marzo 13                                                         35
Cocoa Touch frameworks
                      UIKit




                                36         Pragma Night
giovedì 28 marzo 13                                   36
iOS SDK


          • Libraries and development tools
          • First release in March 2008
          • Side by side with Xcode e Mac OS


                                 37            Pragma Night
giovedì 28 marzo 13                                       37
Tools

          • Xcode
                  The natural environment for app development
          • iOS Simulator
                  The handy way of running and testing apps
          • Instruments
                  The perfect tool for code analysis and profiling



                                        38                     Pragma Night
giovedì 28 marzo 13                                                       38
Xcode

          • Integrated Development Environment
          • Objective-C / Objective-C++ / C++ / C
          • LLVM and GCC compilers and debuggers
          • Interface Builder
          • Source Control (Subversion / Git)
          • Apple’s developer documentation
                                39                  Pragma Night
giovedì 28 marzo 13                                            39
Simulator
          • iPhone / iPhone Retina (3.5” / 4”) / iPad / iPad
                  Retina
          • Gestures, Orientation change, Memory Warnings
          • GPS (iOS 5+ Simulator)
          • Apps: Safari, Photos, Contacts, Settings, Game
                  Center, News Stand
          • Fast! (It’s x86 and runs x86 apps, no ARM
                  emulation)

                                       40                  Pragma Night
giovedì 28 marzo 13                                                   40
Instruments


          • Application performance analyzer and visualizer
          • Integrated with Xcode
          • Tracks user events, CPU activity, memory
                  allocations, releases and leaks, file I/O, network
                  activity, graphics and OpenGL



                                          41                     Pragma Night
giovedì 28 marzo 13                                                         41
Resources


                          42      Pragma Night
giovedì 28 marzo 13                          42
Resources


          • Events
          • Videos
          • Books


                          43      Pragma Night
giovedì 28 marzo 13                          43
Events

                       • Apple WWDC
                       • Apple Tech Talk World Tour
                       • NSConference
                       • Pragma mark :)
                         http://lanyrd.com/topics/ios/


                         44                     Pragma Night
giovedì 28 marzo 13                                        44
Videos
          • NSScreencast.com
          • WWDC 2010 / 2011 / 2012 (ADP members only)
          • iOS Development Videos (ADP members only)
          • Lynda.com
          • iDeveloper.tv
          • Udemy.com
          • University courses on iOS (published on iTunes U)
                                  45                   Pragma Night
giovedì 28 marzo 13                                               45
Books




                      • Programming in Objective-C
                      • Cocoa Design Patterns
                      • Pro Multithreading and Memory Management
                        for iOS and Mac OS X
                                         46                  Pragma Night
giovedì 28 marzo 13                                                     46
Thank You!

                      matteo.battaglio@pragmamark.org
                                                        Pragma Night
giovedì 28 marzo 13                                                47

More Related Content

What's hot

Presentation on nokia overall started
Presentation on nokia overall startedPresentation on nokia overall started
Presentation on nokia overall started
ANSHU TIWARI
 
Case study analysis sony
Case study analysis sonyCase study analysis sony
Case study analysis sony
surabhi agarwal
 
nintendo and blue ocean strategy
nintendo and blue ocean strategynintendo and blue ocean strategy
nintendo and blue ocean strategy
Yunru Feng
 
Presentation on failure of nokia
Presentation on failure of nokiaPresentation on failure of nokia
Presentation on failure of nokia
abhishekthakur309
 

What's hot (20)

International Marketing Strategies - Research Paper
International Marketing Strategies - Research PaperInternational Marketing Strategies - Research Paper
International Marketing Strategies - Research Paper
 
Presentation on nokia overall started
Presentation on nokia overall startedPresentation on nokia overall started
Presentation on nokia overall started
 
Lego presentation
Lego presentationLego presentation
Lego presentation
 
Case study analysis sony
Case study analysis sonyCase study analysis sony
Case study analysis sony
 
Lego presentation
Lego presentationLego presentation
Lego presentation
 
nintendo and blue ocean strategy
nintendo and blue ocean strategynintendo and blue ocean strategy
nintendo and blue ocean strategy
 
Supply chain of Nestle
Supply chain of NestleSupply chain of Nestle
Supply chain of Nestle
 
Honu/Big Data @ Riot Games
Honu/Big Data @ Riot GamesHonu/Big Data @ Riot Games
Honu/Big Data @ Riot Games
 
Ikea global-culture
Ikea global-cultureIkea global-culture
Ikea global-culture
 
Presentation on failure of nokia
Presentation on failure of nokiaPresentation on failure of nokia
Presentation on failure of nokia
 
Blue Ocean Strategy @ Samsung – Galaxy Note Series created Phablet Segment
Blue Ocean Strategy @ Samsung – Galaxy Note Series created Phablet SegmentBlue Ocean Strategy @ Samsung – Galaxy Note Series created Phablet Segment
Blue Ocean Strategy @ Samsung – Galaxy Note Series created Phablet Segment
 
Lego group
Lego groupLego group
Lego group
 
Presentation on lego
Presentation on lego Presentation on lego
Presentation on lego
 
NESTLE-Application of sales and distribution management
NESTLE-Application of sales and distribution management NESTLE-Application of sales and distribution management
NESTLE-Application of sales and distribution management
 
Organisational structure of lg
Organisational structure of lgOrganisational structure of lg
Organisational structure of lg
 
About nestle...!!
 About nestle...!! About nestle...!!
About nestle...!!
 
02 marketing plan nintendo disruptive strategy - cosimo gualano
02 marketing plan    nintendo disruptive strategy - cosimo gualano02 marketing plan    nintendo disruptive strategy - cosimo gualano
02 marketing plan nintendo disruptive strategy - cosimo gualano
 
Nestle presentation
Nestle presentationNestle presentation
Nestle presentation
 
Nintendo Strategic Recommendation
Nintendo Strategic RecommendationNintendo Strategic Recommendation
Nintendo Strategic Recommendation
 
The rise and fall rise of nokia
The rise and fall  rise of nokiaThe rise and fall  rise of nokia
The rise and fall rise of nokia
 

Viewers also liked

Multithreading and Parallelism on iOS [MobOS 2013]
 Multithreading and Parallelism on iOS [MobOS 2013] Multithreading and Parallelism on iOS [MobOS 2013]
Multithreading and Parallelism on iOS [MobOS 2013]
Kuba Břečka
 

Viewers also liked (14)

iOS Ecosystem @ Fiera del Radioamatore Pordenone
iOS Ecosystem @ Fiera del Radioamatore PordenoneiOS Ecosystem @ Fiera del Radioamatore Pordenone
iOS Ecosystem @ Fiera del Radioamatore Pordenone
 
4-Horizon Product Portfolio: Build an Ambidextrous Innovation (AI) Ecosystem ...
4-Horizon Product Portfolio: Build an Ambidextrous Innovation (AI) Ecosystem ...4-Horizon Product Portfolio: Build an Ambidextrous Innovation (AI) Ecosystem ...
4-Horizon Product Portfolio: Build an Ambidextrous Innovation (AI) Ecosystem ...
 
How libraries can survive in the new media ecosystem - Spain
How libraries can survive in the new media ecosystem - SpainHow libraries can survive in the new media ecosystem - Spain
How libraries can survive in the new media ecosystem - Spain
 
Apple Watch App Concepts
Apple Watch App ConceptsApple Watch App Concepts
Apple Watch App Concepts
 
Threading in iOS / Cocoa Touch
Threading in iOS / Cocoa TouchThreading in iOS / Cocoa Touch
Threading in iOS / Cocoa Touch
 
How Apple Watch Will Change Human Behavior in 2015
How Apple Watch Will Change Human Behavior in 2015How Apple Watch Will Change Human Behavior in 2015
How Apple Watch Will Change Human Behavior in 2015
 
Memory Management on iOS
Memory Management on iOSMemory Management on iOS
Memory Management on iOS
 
iOS Memory Management
iOS Memory ManagementiOS Memory Management
iOS Memory Management
 
iOS Memory Management Basics
iOS Memory Management BasicsiOS Memory Management Basics
iOS Memory Management Basics
 
Multithreading and Parallelism on iOS [MobOS 2013]
 Multithreading and Parallelism on iOS [MobOS 2013] Multithreading and Parallelism on iOS [MobOS 2013]
Multithreading and Parallelism on iOS [MobOS 2013]
 
Apple iOS - A modern way to mobile operating system
Apple iOS - A modern way to mobile operating systemApple iOS - A modern way to mobile operating system
Apple iOS - A modern way to mobile operating system
 
Apple iOS
Apple iOSApple iOS
Apple iOS
 
iOS platform
iOS platformiOS platform
iOS platform
 
CPU Scheduling Algorithms
CPU Scheduling AlgorithmsCPU Scheduling Algorithms
CPU Scheduling Algorithms
 

Similar to iOS Ecosystem

“Secure Password Managers” and “Military-Grade Encryption” on Smartphones: Oh...
“Secure Password Managers” and “Military-Grade Encryption” on Smartphones: Oh...“Secure Password Managers” and “Military-Grade Encryption” on Smartphones: Oh...
“Secure Password Managers” and “Military-Grade Encryption” on Smartphones: Oh...
Andrey Belenko
 
PCTY 2012, How IBM does BYOD v. Martin Vittrup
PCTY 2012, How IBM does BYOD v. Martin VittrupPCTY 2012, How IBM does BYOD v. Martin Vittrup
PCTY 2012, How IBM does BYOD v. Martin Vittrup
IBM Danmark
 

Similar to iOS Ecosystem (20)

NootApp
NootAppNootApp
NootApp
 
Living with "Moore" & Designing the Ultimate SoC
Living with "Moore" & Designing the Ultimate SoCLiving with "Moore" & Designing the Ultimate SoC
Living with "Moore" & Designing the Ultimate SoC
 
An Introduction to Raspberry Pi
An Introduction to Raspberry PiAn Introduction to Raspberry Pi
An Introduction to Raspberry Pi
 
Introduction to Raspberry Pi
Introduction to Raspberry PiIntroduction to Raspberry Pi
Introduction to Raspberry Pi
 
Arduino, Open Source and The Internet of Things Landscape
Arduino, Open Source and The Internet of Things LandscapeArduino, Open Source and The Internet of Things Landscape
Arduino, Open Source and The Internet of Things Landscape
 
Building Scalable Cloud Tech for Mobile / Social Games
Building Scalable Cloud Tech for Mobile / Social GamesBuilding Scalable Cloud Tech for Mobile / Social Games
Building Scalable Cloud Tech for Mobile / Social Games
 
“Secure Password Managers” and “Military-Grade Encryption” on Smartphones: Oh...
“Secure Password Managers” and “Military-Grade Encryption” on Smartphones: Oh...“Secure Password Managers” and “Military-Grade Encryption” on Smartphones: Oh...
“Secure Password Managers” and “Military-Grade Encryption” on Smartphones: Oh...
 
CNUG - Getting started on IoT Devices & Solutions using Windows 10 & Microsof...
CNUG - Getting started on IoT Devices & Solutions using Windows 10 & Microsof...CNUG - Getting started on IoT Devices & Solutions using Windows 10 & Microsof...
CNUG - Getting started on IoT Devices & Solutions using Windows 10 & Microsof...
 
PCTY 2012, How IBM does BYOD v. Martin Vittrup
PCTY 2012, How IBM does BYOD v. Martin VittrupPCTY 2012, How IBM does BYOD v. Martin Vittrup
PCTY 2012, How IBM does BYOD v. Martin Vittrup
 
Cross-platform tools for mobile application development
Cross-platform tools for mobile application developmentCross-platform tools for mobile application development
Cross-platform tools for mobile application development
 
Raspberry pi 3
Raspberry pi 3Raspberry pi 3
Raspberry pi 3
 
Raspberrypi best ppt
Raspberrypi best ppt Raspberrypi best ppt
Raspberrypi best ppt
 
P ism(pen style personal networking gadget)
P ism(pen style personal networking gadget)P ism(pen style personal networking gadget)
P ism(pen style personal networking gadget)
 
Android vs iOS
Android vs iOSAndroid vs iOS
Android vs iOS
 
Porting Tips: iOS to Android
Porting Tips: iOS to AndroidPorting Tips: iOS to Android
Porting Tips: iOS to Android
 
Unity: What does it take to port a browser title to mobiles
Unity: What does it take to port a browser title to mobilesUnity: What does it take to port a browser title to mobiles
Unity: What does it take to port a browser title to mobiles
 
Ninja Blocks Introduction
Ninja Blocks IntroductionNinja Blocks Introduction
Ninja Blocks Introduction
 
Erlang, random numbers, and the security: London Erlang User Group Talk Slide...
Erlang, random numbers, and the security: London Erlang User Group Talk Slide...Erlang, random numbers, and the security: London Erlang User Group Talk Slide...
Erlang, random numbers, and the security: London Erlang User Group Talk Slide...
 
Smart Bombs: Mobile Vulnerability and Exploitation
Smart Bombs: Mobile Vulnerability and ExploitationSmart Bombs: Mobile Vulnerability and Exploitation
Smart Bombs: Mobile Vulnerability and Exploitation
 
Mobile & Me
Mobile & MeMobile & Me
Mobile & Me
 

Recently uploaded

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Recently uploaded (20)

Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 

iOS Ecosystem

  • 1. iOS Ecosystem Matteo Battaglio Pragma Night @ Talent Garden 1 giovedì 28 marzo 13 1
  • 2. Why iOS? 2 Pragma Night giovedì 28 marzo 13 2
  • 3. Reason #1: Numbers The size of the mobile market is huge, and growing exponentially 3 Pragma Night giovedì 28 marzo 13 3
  • 4. Reason #1: Numbers Apple keeps holding a significant share of the market, with a positive outlook 4 Pragma Night giovedì 28 marzo 13 4
  • 5. Reason #2: Consistency • The iOS platform is highly consistent • Just 3 different device families (iPhone, iPad, iPod) • they target the high-end market • the minimum set of features and APIs available to all is well known 5 Pragma Night giovedì 28 marzo 13 5
  • 6. Reason #2: Consistency More than 80% of devices already run iOS 6 6 Pragma Night giovedì 28 marzo 13 6
  • 7. Reason #3: Environment Apple’s mission: create an environment around the user, not just sell products • 500+ milion iTunes accounts, with credit card • the iOS customer is much more willing to pay than other platforms’ customer 7 Pragma Night giovedì 28 marzo 13 7
  • 8. Reason #3: Environment • Apple’s highly-controlled environment limits unwanted phenomenons • piracy • fraudulent apps • crappy apps • Developers are less threatened than other platforms’ developers 8 Pragma Night giovedì 28 marzo 13 8
  • 9. Reason #4: Resources • iOS frameworks and APIs are of first-class quality • The documentation is structured and exhaustive • Lots of books, articles, videos and tutorials • High-quality developer community 9 Pragma Night giovedì 28 marzo 13 9
  • 10. Reason #4: Resources • Development tools by Apple • Xcode is a full featured IDE • Interface Builder is great for designing user interfaces • Debugger and profiler make it easy to find anomalies • iOS Simulator is super fast 10 Pragma Night giovedì 28 marzo 13 10
  • 11. Reason #5: Fun! • iOS devices are equipped with all sorts of sensors • their computational power is enough even for the more advanced tasks • always connected to the Internet There is no limit to the imagination! 11 Pragma Night giovedì 28 marzo 13 11
  • 12. Reason #5: Fun! Most popular app categories 1. Games ~ 140000 active apps @ $0.89 avg. 2. Education ~ 90000 active apps 3. Entertainment ~ 75000 active apps @ $1.56 avg. 4. Lifestyle ~ 70000 active apps 5. Books ~ 55000 active apps 12 Pragma Night giovedì 28 marzo 13 12
  • 13. Drawbacks • Not-so-cheap hardware • iOS-dedicated events almost absent • Dependance upon a single company and its decisions (non disclosure agreements, Xcode and SDK update policies, etc) 13 Pragma Night giovedì 28 marzo 13 13
  • 14. Hidden complexity • iPhone • iPad • iPod Just 3 different devices? 14 Pragma Night giovedì 28 marzo 13 14
  • 15. Devices iPhone 3GS iPod 4th iPad 2 iPhone 4 iPod 5th iPad 3 iPhone 4s iPad 4 iPhone 5 iPad Mini 15 Pragma Night giovedì 28 marzo 13 15
  • 16. Display iPhone 4 / 4S iPhone 5 iPhone 3GS iPod 4th gen iPod 5th gen 320x480 px 640x480 px 640x1136 px 116 ppi 326 ppi 332 ppi 16 Pragma Night giovedì 28 marzo 13 16
  • 17. Display iPad 1 / 2 iPad 3 / 4 iPad mini 1024x768 px 2048x1536 px 1024x768 px 132 dpi 264 dpi 162 dpi 17 Pragma Night giovedì 28 marzo 13 17
  • 18. Processor / RAM ARMv7 ARMv7s 1 GB iPad 3 iPhone 5 iPad 4 iPhone 4S 512 MB iPhone 4 iPad 2 iPod 5th iPhone 3Gs iPad 1 256 MB iPod 3rd iPod 4th 18 Pragma Night giovedì 28 marzo 13 18
  • 19. Device Specs • GSM Arena http://www.gsmarena.com/apple-phones-48.php • The iPhoneWiki http://theiphonewiki.com/wiki/ • iPhone Dev Wiki http://iphonedevwiki.net/index.php/Main_Page 19 Pragma Night giovedì 28 marzo 13 19
  • 20. Requirements 20 Pragma Night giovedì 28 marzo 13 20
  • 21. Phisical requirements • A Mac (iMac, Mac mini, MacBook family) • OS X (10.7+) • Xcode (4.0+) • An iOS device (not mandatory, but recommended) • The iOS Simulator can’t be used to simulate some features (e.g. push notifications, in-app purchases) 21 Pragma Night giovedì 28 marzo 13 21
  • 22. Skill requirements • Object Oriented Programming • C language • Objective-C language & iOS SDK • Apple guidelines • Provisioning procedures 22 Pragma Night giovedì 28 marzo 13 22
  • 23. Membership requirements • Apple ID (free) • Apple Developer Program (ADP) subscription 23 Pragma Night giovedì 28 marzo 13 23
  • 24. Apple Developer Program 24 Pragma Night giovedì 28 marzo 13 24
  • 25. Apple Developer Program Developer Programs Name Price Deployment iOS Developer $99/year App Store / 100 devices Program iOS Developer $299/year NO App Store / ∞ devices Enterprise Program iOS Developer free NO App Store / 200 people University Program 25 Pragma Night giovedì 28 marzo 13 25
  • 26. ADP Sections • Member Center • manage users • ADP subscription and renewal • iOS Provisioning Portal • development and distribution certificates • adding and removing devices • iTunes Connect • app submissions • tracking sales and trends • handling payments 26 Pragma Night giovedì 28 marzo 13 26
  • 27. Concepts • Certificate univocally identifies an actor • Device Devices must be enabled for testing • App ID Unique identifier for the app • Provisioning profile Asset which encloses the three concepts above 27 Pragma Night giovedì 28 marzo 13 27
  • 28. Certificates • Development Certificate Each person in the team has his own • Distribution Certificate There’s one for the whole company (or single developer) 28 Pragma Night giovedì 28 marzo 13 28
  • 29. Devices • Purpose devices are used during development and testing • Name + UDID Unique Device IDentifier, 40 char-long string e.g. 67a43b0925c7a8050ad788591ace81d1bda81bed • Limits 1. The ADP allows for a maximum of 100 devices 2. A device can’t be removed from the list until the next renewal of the subscription 29 Pragma Night giovedì 28 marzo 13 29
  • 30. App IDs • Bundle Identifier unique identifier for the app • Reverse domain name e.g. com.mycompany.BestAppEver • Wildcard character e.g. com.mycompany.* 30 Pragma Night giovedì 28 marzo 13 30
  • 31. Provisioning Profile • What is it? it’s a resource (a file) which bundles the App ID, the device list and the certificates of the developers of the team • What does it provide? it is bundled with the app and is used to authorize the execution of the app on the devices and its deployment and distribution • How long does it last? It is valid for one year, after which it must be renewed 31 Pragma Night giovedì 28 marzo 13 31
  • 32. Provisioning Profile • Development Provisioning Profile ‣ App ID ‣ (Development) certificate list ‣ Device list • Distribution Provisioning Profile ‣ Distribution method (App Store or AdHoc) ‣ App ID ‣ (Distribution) certificate ‣ Device list (only in case of AdHoc deployment) 32 Pragma Night giovedì 28 marzo 13 32
  • 33. Step by step ADP $$ Certificates MM Development Distribution O MCertificates Certificate MM Team Devices MM Customers Devices O M MM New APP App ID Provisioning M O M Xcode Install Build & sign giovedì 28 marzo 13 33
  • 34. SDK 34 Pragma Night giovedì 28 marzo 13 34
  • 35. iOS • Mobile operating system ARM architecture, multitasking, Cocoa Touch, multi-touch GUI • Kernel XNU (like MAC OS X) Originally developed by NeXT for the NeXTSTEP OS, it is a hybrid kernel combining Mach and BSD components, and an object-oriented API for drivers • Initially known as iPhone OS 35 Pragma Night giovedì 28 marzo 13 35
  • 36. Cocoa Touch frameworks UIKit 36 Pragma Night giovedì 28 marzo 13 36
  • 37. iOS SDK • Libraries and development tools • First release in March 2008 • Side by side with Xcode e Mac OS 37 Pragma Night giovedì 28 marzo 13 37
  • 38. Tools • Xcode The natural environment for app development • iOS Simulator The handy way of running and testing apps • Instruments The perfect tool for code analysis and profiling 38 Pragma Night giovedì 28 marzo 13 38
  • 39. Xcode • Integrated Development Environment • Objective-C / Objective-C++ / C++ / C • LLVM and GCC compilers and debuggers • Interface Builder • Source Control (Subversion / Git) • Apple’s developer documentation 39 Pragma Night giovedì 28 marzo 13 39
  • 40. Simulator • iPhone / iPhone Retina (3.5” / 4”) / iPad / iPad Retina • Gestures, Orientation change, Memory Warnings • GPS (iOS 5+ Simulator) • Apps: Safari, Photos, Contacts, Settings, Game Center, News Stand • Fast! (It’s x86 and runs x86 apps, no ARM emulation) 40 Pragma Night giovedì 28 marzo 13 40
  • 41. Instruments • Application performance analyzer and visualizer • Integrated with Xcode • Tracks user events, CPU activity, memory allocations, releases and leaks, file I/O, network activity, graphics and OpenGL 41 Pragma Night giovedì 28 marzo 13 41
  • 42. Resources 42 Pragma Night giovedì 28 marzo 13 42
  • 43. Resources • Events • Videos • Books 43 Pragma Night giovedì 28 marzo 13 43
  • 44. Events • Apple WWDC • Apple Tech Talk World Tour • NSConference • Pragma mark :) http://lanyrd.com/topics/ios/ 44 Pragma Night giovedì 28 marzo 13 44
  • 45. Videos • NSScreencast.com • WWDC 2010 / 2011 / 2012 (ADP members only) • iOS Development Videos (ADP members only) • Lynda.com • iDeveloper.tv • Udemy.com • University courses on iOS (published on iTunes U) 45 Pragma Night giovedì 28 marzo 13 45
  • 46. Books • Programming in Objective-C • Cocoa Design Patterns • Pro Multithreading and Memory Management for iOS and Mac OS X 46 Pragma Night giovedì 28 marzo 13 46
  • 47. Thank You! matteo.battaglio@pragmamark.org Pragma Night giovedì 28 marzo 13 47