SlideShare a Scribd company logo
1 of 43
Mobile & Me
                              @tracypesin




Thursday, October 18, 12
Mobile is big




Thursday, October 18, 12
• 75% of people worldwide have access to a
                           mobile phone

                     • More than half of all US cellphones are
                           smartphones




Thursday, October 18, 12
iOS   Android           RIM         Windows Phone



                                                 4%
                                         10%
                                                            iOS
                                                            34%




                                       Android
                                        53%




                           US Smartphone market share, July 2012
Thursday, October 18, 12
• 400 million iOS devices sold
                     • A million new Android users each day
                     • 700,000 apps in Apple App Store, almost as
                           many in Google Play (Android)

                     • 30 billion iOS downloads, 25 billion Android

Thursday, October 18, 12
“Now we are a mobile
                        company”

                           Mark Zuckerburg, September 2012




Thursday, October 18, 12
• Should I get into developing mobile apps?
                     • And if so, on which platform?




Thursday, October 18, 12
bitly
          “The new way to bookmark,
         organize, and share the things
            you care about online.”




Thursday, October 18, 12
MLB.com
Thursday, October 18, 12
Vindigo
                   Launched in 2000
             First mobile local search app
                  Sync before you go!




Thursday, October 18, 12
2002:
          BREW vs J2ME




Thursday, October 18, 12
BREW

                     • Proprietary, native (C-language based)
                     • Close integration of hardware and software
                     • Closed system to distribute apps


Thursday, October 18, 12
iOS

                     • Proprietary, native (C-language based)
                     • Close integration of hardware and software
                     • Closed system to distribute apps


Thursday, October 18, 12
J2ME

                     •     Java language, runs in VM

                     •     More open app distribution system (apps can
                           be downloaded through a link)

                     •     Less consistent device capabilities, screen sizes




Thursday, October 18, 12
Android

                 •         Java language, runs in VM

                 •         More open app distribution system (apps can be
                           downloaded through a link)

                 •         Less consistent device capabilities, screen sizes




Thursday, October 18, 12
Can’t we just
               put it on the
               mobile web?




Thursday, October 18, 12
Can’t we just
               put it on the
               mobile web?
                    Maybe but it might
                     be sloooooww




Thursday, October 18, 12
Recurring themes...

                     • Open application ecosystem vs closed
                     • Integrated hardware vs OS portability
                     • Native vs Web


Thursday, October 18, 12
Open vs Closed



Thursday, October 18, 12
iOS: Closed source


                     • Developer only sees header files of Apple
                           libraries
                     • Makes debugging tough


Thursday, October 18, 12
Android: Open Source


                     • Can step through platform code if you have
                           an issue
                     • But... manufacturer modified versions slow
                           to update




Thursday, October 18, 12
Inter-app communication




                                     <intent-filter>
                                     <action android:name="android.intent.action.SEND" />
                                     <data android:mimeType="image/*" />
                                     <category android:name="android.intent.category.DEFAULT" />
                                     </intent-filter>


Thursday, October 18, 12
iOS: Pseudo-multitasking


                      • System “freezes” apps, restores state
                      • Apps can only update their data in
                           background once a day




Thursday, October 18, 12
Android: True multitasking



                     • Apps and services can run in
                           background
                     • Downside: performance, battery life


Thursday, October 18, 12
iOS: All apps reviewed by Apple



                     • Submit, cross fingers, pray to the Apple
                           gods
                     • Can take weeks to fix bugs


Thursday, October 18, 12
“We view Apps different than books or songs,
         which we do not curate. If you want to criticize a
         religion, write a book. If you want to describe sex,
         write a book or a song, or create a medical App.”


         “If your App is rejected, we have a Review Board
         that you can appeal to. If you run to the press and
         trash us, it never helps.”


                              - App Store Review Guidelines



Thursday, October 18, 12
Open vs Closed
                 App distribution: iOS




Thursday, October 18, 12
Android: No review process


                     • Fix bugs as they happen
                     • Apps can be downloaded via a link in a web
                           page

                     • Downsides: Piracy, Security


Thursday, October 18, 12
Integrated hardware/
                     software vs portability


Thursday, October 18, 12
iOS: Integrated hardware

                 • C/C++/Objective-C compiled to machine
                           language
                 • Static memory management (no garbage
                           collection)
                 • Automatic hardware acceleration for
                           graphics


Thursday, October 18, 12
Before ARC
     Thingie *aThingie = [[Thingie alloc] init];
     self.myThingie = aThingie;
     [aThingie release];



     ARC
     self.myThingie = [[Thingie alloc] init];




Thursday, October 18, 12
Android: Portable



                     • Java
                     • Garbage collected
                     • Can (and does) run on different processors


Thursday, October 18, 12
iOS: Minimal app porting


                     • iPad
                     • Retina display
                     • iPhone 5


Thursday, October 18, 12
Android: Device fragmentation

                     • Galaxies and HTCs and Droids oh my!
                     • Different screen sizes, multimedia codecs,
                           etc
                     • Big changes (like dropping the menu
                           button) are the developer’s problem



Thursday, October 18, 12
Integration vs Portability
                 Device fragmentation: Android

                                  9%
                             7%
                                              As of June 2012

                           19%                2.3 (Dec 2010)
                                              2.2 (June 2010)
                                       65%    4.0 (Oct 2011)
                                              Other




                 Manufacturer customized OS == SLOW upgrades


Thursday, October 18, 12
Why I chose iOS
                     • Deep, layered libraries with (generally)
                           great documentation
                     • Great toolset (though devs will always
                           complain)
                     • Minimal porting means more time on
                           features!
                     • Most companies still start iOS first
Thursday, October 18, 12
Native vs Web: Do we
                       even need an app?


Thursday, October 18, 12
“All of our developers are good at HTML. Only a
                           few of them are really good at Objective-C and
                           Android. ”
                                      - Facebook Mobile Engineering Manager
                                                            September 2011




Thursday, October 18, 12
"The biggest mistake we made as a
                 company was betting too much on HTML5
                 rather than native...
                 It turns out, ‘good enough’ wasn’t good
                 enough.”
                                              - Mark Zuckerburg
                                                 September 2012




Thursday, October 18, 12
Happy hybrids


                           • Not either/or!
                           • Can make some views web, others native


Thursday, October 18, 12
Web-friendly views

                     • New or temporary features
                     • Dynamically formatted, server-driven
                           content (er, HTML)
                     • Less performance intensive
                     • Leave the chrome native if possible

Thursday, October 18, 12
Some tools for hybrid
                              apps

                     • PhoneGap
                     • Titanium
                     • jQuery mobile


Thursday, October 18, 12
Thanks for listening!
                                      @tracypesin
                                tracy.pesin@gmail.com
                                 http://bit.ly/lwcMobile




Thursday, October 18, 12

More Related Content

Similar to Mobile & Me

The Android vs. Apple iOS Security Showdown
The Android vs. Apple iOS Security Showdown The Android vs. Apple iOS Security Showdown
The Android vs. Apple iOS Security Showdown Tom Eston
 
Responsive Web Design &amp; Workflow
Responsive Web Design &amp; WorkflowResponsive Web Design &amp; Workflow
Responsive Web Design &amp; Workflowhouhr
 
Welcome to the Cloud: An Introduction to Cloud Computing and how it Changes E...
Welcome to the Cloud: An Introduction to Cloud Computing and how it Changes E...Welcome to the Cloud: An Introduction to Cloud Computing and how it Changes E...
Welcome to the Cloud: An Introduction to Cloud Computing and how it Changes E...R. Scott Blamey
 
Internship dotCloud
Internship dotCloudInternship dotCloud
Internship dotCloudJill Mee
 
GTUG/GDDDE 2011 Android Tablet Use Cases
GTUG/GDDDE 2011 Android Tablet Use CasesGTUG/GDDDE 2011 Android Tablet Use Cases
GTUG/GDDDE 2011 Android Tablet Use Casesndomrose
 
Embedded Android Workshop at AnDevConII
Embedded Android Workshop at AnDevConIIEmbedded Android Workshop at AnDevConII
Embedded Android Workshop at AnDevConIIOpersys inc.
 
Android the sweetmobility
Android the sweetmobilityAndroid the sweetmobility
Android the sweetmobilityindiangarg
 
Porting Tips: iOS to Android
Porting Tips: iOS to AndroidPorting Tips: iOS to Android
Porting Tips: iOS to Androidelhypnotoad
 
Embedded Android Workshop at Embedded World Conference 2013
Embedded Android Workshop at Embedded World Conference 2013Embedded Android Workshop at Embedded World Conference 2013
Embedded Android Workshop at Embedded World Conference 2013Opersys inc.
 
Embedded Android Workshop / ELC 2013
Embedded Android Workshop / ELC 2013Embedded Android Workshop / ELC 2013
Embedded Android Workshop / ELC 2013Opersys inc.
 
Embedded Android Workshop with Pie
Embedded Android Workshop with PieEmbedded Android Workshop with Pie
Embedded Android Workshop with PieOpersys inc.
 
Embedded Android Workshop at ELC Europe
Embedded Android Workshop at ELC EuropeEmbedded Android Workshop at ELC Europe
Embedded Android Workshop at ELC EuropeOpersys inc.
 
Embedded Android Workshop
Embedded Android WorkshopEmbedded Android Workshop
Embedded Android WorkshopOpersys inc.
 
DrupalCampNYC 10 - Native mobile apps with Drupal
DrupalCampNYC 10 - Native mobile apps with DrupalDrupalCampNYC 10 - Native mobile apps with Drupal
DrupalCampNYC 10 - Native mobile apps with Drupalzroger
 
Embedded Android Workshop at Embedded Linux Conference Europe 2011
Embedded Android Workshop at Embedded Linux Conference Europe 2011Embedded Android Workshop at Embedded Linux Conference Europe 2011
Embedded Android Workshop at Embedded Linux Conference Europe 2011Opersys inc.
 
Hyves: Mobile app development with HTML5 and Javascript
Hyves: Mobile app development with HTML5 and JavascriptHyves: Mobile app development with HTML5 and Javascript
Hyves: Mobile app development with HTML5 and Javascriptnlwebperf
 
Embedded Android Workshop at Android Open 2011
Embedded Android Workshop at Android Open 2011Embedded Android Workshop at Android Open 2011
Embedded Android Workshop at Android Open 2011Opersys inc.
 
Ruby and iOS: An inside look
Ruby and iOS: An inside lookRuby and iOS: An inside look
Ruby and iOS: An inside lookJeanine Jue
 

Similar to Mobile & Me (20)

The Android vs. Apple iOS Security Showdown
The Android vs. Apple iOS Security Showdown The Android vs. Apple iOS Security Showdown
The Android vs. Apple iOS Security Showdown
 
Responsive Web Design &amp; Workflow
Responsive Web Design &amp; WorkflowResponsive Web Design &amp; Workflow
Responsive Web Design &amp; Workflow
 
Welcome to the Cloud: An Introduction to Cloud Computing and how it Changes E...
Welcome to the Cloud: An Introduction to Cloud Computing and how it Changes E...Welcome to the Cloud: An Introduction to Cloud Computing and how it Changes E...
Welcome to the Cloud: An Introduction to Cloud Computing and how it Changes E...
 
Internship dotCloud
Internship dotCloudInternship dotCloud
Internship dotCloud
 
Android
AndroidAndroid
Android
 
GTUG/GDDDE 2011 Android Tablet Use Cases
GTUG/GDDDE 2011 Android Tablet Use CasesGTUG/GDDDE 2011 Android Tablet Use Cases
GTUG/GDDDE 2011 Android Tablet Use Cases
 
Embedded Android Workshop at AnDevConII
Embedded Android Workshop at AnDevConIIEmbedded Android Workshop at AnDevConII
Embedded Android Workshop at AnDevConII
 
Android the sweetmobility
Android the sweetmobilityAndroid the sweetmobility
Android the sweetmobility
 
Porting Tips: iOS to Android
Porting Tips: iOS to AndroidPorting Tips: iOS to Android
Porting Tips: iOS to Android
 
Embedded Android Workshop at Embedded World Conference 2013
Embedded Android Workshop at Embedded World Conference 2013Embedded Android Workshop at Embedded World Conference 2013
Embedded Android Workshop at Embedded World Conference 2013
 
Embedded Android Workshop / ELC 2013
Embedded Android Workshop / ELC 2013Embedded Android Workshop / ELC 2013
Embedded Android Workshop / ELC 2013
 
Embedded Android Workshop with Pie
Embedded Android Workshop with PieEmbedded Android Workshop with Pie
Embedded Android Workshop with Pie
 
Embedded Android Workshop at ELC Europe
Embedded Android Workshop at ELC EuropeEmbedded Android Workshop at ELC Europe
Embedded Android Workshop at ELC Europe
 
Embedded Android Workshop
Embedded Android WorkshopEmbedded Android Workshop
Embedded Android Workshop
 
DrupalCampNYC 10 - Native mobile apps with Drupal
DrupalCampNYC 10 - Native mobile apps with DrupalDrupalCampNYC 10 - Native mobile apps with Drupal
DrupalCampNYC 10 - Native mobile apps with Drupal
 
Embedded Android Workshop at Embedded Linux Conference Europe 2011
Embedded Android Workshop at Embedded Linux Conference Europe 2011Embedded Android Workshop at Embedded Linux Conference Europe 2011
Embedded Android Workshop at Embedded Linux Conference Europe 2011
 
Hyves: Mobile app development with HTML5 and Javascript
Hyves: Mobile app development with HTML5 and JavascriptHyves: Mobile app development with HTML5 and Javascript
Hyves: Mobile app development with HTML5 and Javascript
 
Embedded Android Workshop at Android Open 2011
Embedded Android Workshop at Android Open 2011Embedded Android Workshop at Android Open 2011
Embedded Android Workshop at Android Open 2011
 
Ruby and iOS: An inside look
Ruby and iOS: An inside lookRuby and iOS: An inside look
Ruby and iOS: An inside look
 
Ruby and iOS: An inside look
Ruby and iOS: An inside lookRuby and iOS: An inside look
Ruby and iOS: An inside look
 

Recently uploaded

08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
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 RobisonAnna Loughnan Colquhoun
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 

Recently uploaded (20)

08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
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
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 

Mobile & Me

  • 1. Mobile & Me @tracypesin Thursday, October 18, 12
  • 2. Mobile is big Thursday, October 18, 12
  • 3. • 75% of people worldwide have access to a mobile phone • More than half of all US cellphones are smartphones Thursday, October 18, 12
  • 4. iOS Android RIM Windows Phone 4% 10% iOS 34% Android 53% US Smartphone market share, July 2012 Thursday, October 18, 12
  • 5. • 400 million iOS devices sold • A million new Android users each day • 700,000 apps in Apple App Store, almost as many in Google Play (Android) • 30 billion iOS downloads, 25 billion Android Thursday, October 18, 12
  • 6. “Now we are a mobile company” Mark Zuckerburg, September 2012 Thursday, October 18, 12
  • 7. • Should I get into developing mobile apps? • And if so, on which platform? Thursday, October 18, 12
  • 8. bitly “The new way to bookmark, organize, and share the things you care about online.” Thursday, October 18, 12
  • 10. Vindigo Launched in 2000 First mobile local search app Sync before you go! Thursday, October 18, 12
  • 11. 2002: BREW vs J2ME Thursday, October 18, 12
  • 12. BREW • Proprietary, native (C-language based) • Close integration of hardware and software • Closed system to distribute apps Thursday, October 18, 12
  • 13. iOS • Proprietary, native (C-language based) • Close integration of hardware and software • Closed system to distribute apps Thursday, October 18, 12
  • 14. J2ME • Java language, runs in VM • More open app distribution system (apps can be downloaded through a link) • Less consistent device capabilities, screen sizes Thursday, October 18, 12
  • 15. Android • Java language, runs in VM • More open app distribution system (apps can be downloaded through a link) • Less consistent device capabilities, screen sizes Thursday, October 18, 12
  • 16. Can’t we just put it on the mobile web? Thursday, October 18, 12
  • 17. Can’t we just put it on the mobile web? Maybe but it might be sloooooww Thursday, October 18, 12
  • 18. Recurring themes... • Open application ecosystem vs closed • Integrated hardware vs OS portability • Native vs Web Thursday, October 18, 12
  • 19. Open vs Closed Thursday, October 18, 12
  • 20. iOS: Closed source • Developer only sees header files of Apple libraries • Makes debugging tough Thursday, October 18, 12
  • 21. Android: Open Source • Can step through platform code if you have an issue • But... manufacturer modified versions slow to update Thursday, October 18, 12
  • 22. Inter-app communication <intent-filter> <action android:name="android.intent.action.SEND" /> <data android:mimeType="image/*" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> Thursday, October 18, 12
  • 23. iOS: Pseudo-multitasking • System “freezes” apps, restores state • Apps can only update their data in background once a day Thursday, October 18, 12
  • 24. Android: True multitasking • Apps and services can run in background • Downside: performance, battery life Thursday, October 18, 12
  • 25. iOS: All apps reviewed by Apple • Submit, cross fingers, pray to the Apple gods • Can take weeks to fix bugs Thursday, October 18, 12
  • 26. “We view Apps different than books or songs, which we do not curate. If you want to criticize a religion, write a book. If you want to describe sex, write a book or a song, or create a medical App.” “If your App is rejected, we have a Review Board that you can appeal to. If you run to the press and trash us, it never helps.” - App Store Review Guidelines Thursday, October 18, 12
  • 27. Open vs Closed App distribution: iOS Thursday, October 18, 12
  • 28. Android: No review process • Fix bugs as they happen • Apps can be downloaded via a link in a web page • Downsides: Piracy, Security Thursday, October 18, 12
  • 29. Integrated hardware/ software vs portability Thursday, October 18, 12
  • 30. iOS: Integrated hardware • C/C++/Objective-C compiled to machine language • Static memory management (no garbage collection) • Automatic hardware acceleration for graphics Thursday, October 18, 12
  • 31. Before ARC Thingie *aThingie = [[Thingie alloc] init]; self.myThingie = aThingie; [aThingie release]; ARC self.myThingie = [[Thingie alloc] init]; Thursday, October 18, 12
  • 32. Android: Portable • Java • Garbage collected • Can (and does) run on different processors Thursday, October 18, 12
  • 33. iOS: Minimal app porting • iPad • Retina display • iPhone 5 Thursday, October 18, 12
  • 34. Android: Device fragmentation • Galaxies and HTCs and Droids oh my! • Different screen sizes, multimedia codecs, etc • Big changes (like dropping the menu button) are the developer’s problem Thursday, October 18, 12
  • 35. Integration vs Portability Device fragmentation: Android 9% 7% As of June 2012 19% 2.3 (Dec 2010) 2.2 (June 2010) 65% 4.0 (Oct 2011) Other Manufacturer customized OS == SLOW upgrades Thursday, October 18, 12
  • 36. Why I chose iOS • Deep, layered libraries with (generally) great documentation • Great toolset (though devs will always complain) • Minimal porting means more time on features! • Most companies still start iOS first Thursday, October 18, 12
  • 37. Native vs Web: Do we even need an app? Thursday, October 18, 12
  • 38. “All of our developers are good at HTML. Only a few of them are really good at Objective-C and Android. ” - Facebook Mobile Engineering Manager September 2011 Thursday, October 18, 12
  • 39. "The biggest mistake we made as a company was betting too much on HTML5 rather than native... It turns out, ‘good enough’ wasn’t good enough.” - Mark Zuckerburg September 2012 Thursday, October 18, 12
  • 40. Happy hybrids • Not either/or! • Can make some views web, others native Thursday, October 18, 12
  • 41. Web-friendly views • New or temporary features • Dynamically formatted, server-driven content (er, HTML) • Less performance intensive • Leave the chrome native if possible Thursday, October 18, 12
  • 42. Some tools for hybrid apps • PhoneGap • Titanium • jQuery mobile Thursday, October 18, 12
  • 43. Thanks for listening! @tracypesin tracy.pesin@gmail.com http://bit.ly/lwcMobile Thursday, October 18, 12