SlideShare a Scribd company logo
1 of 34
Download to read offline
1
Who Am I
Delivery Manager - Mobile
        REA Group
 (realestate.com.au et al)




                             2
From Concept to …




                    3
The Beginning

• New to the organisation
• New team
• Organisation new to
  native mobile
• High expectations
                            4
Not a Website

• Native mobile is not
  the mobile web
• REAPA (REA Personal
  Assistant)



                         5
We Screwed Up
• The initial project was cancelled
  after three months (the agile
  process in practice)
• Reset and re-imagined
• Halved the team size
• Doubled the productivity
                                      6
Release One




              7
Release One

• Nine Weeks to Develop (including
  back end)
• Initially rejected by Apple
• Counting the appeal it took a month
  from submission to release


                                        8
Android




          9
Android

• Two External Parties Approached
• Both quoted about the same
  duration
• Three weeks.

                                    10
Android
• Four Months in the Making
• All experience mobile java
  developers
• Majority of the development done in
  China
• Completed here (with the team
  from China)
                                        11
iOS 1.3




          12
iOS 1.3

• Bookmarking + ?
• Third Party integration
• Shelved waiting for Third Party
• Eventually released without Third
  Party features

                                      13
iOS 1.3
• We broke it
• Active error monitoring alerted us
  within minutes of store launch
• Our only x.x.x release
• 12 Hours for new version to appear
  in the store

                                       14
iPad




       15
iPad

• Eight week schedule
• Problems with unanticipated scope
• Problems with defects
• Five weeks in and very little was
  production quality


                                      16
iPad
• Changed the team Structure
• Reduced from six to three developers
• Moved two developers to automated
  testing
• Moved two to another project
• Added an experienced developer (me)
                                         17
Observations



               18
The Platform



               19
iOS

• Two screen sizes, three resolutions
• Memory varies
• CPU varies
• Subtle UI changes coming in iOS 5


                                        20
Android
• Every device is different, you'll need a few
• Screen and resolutions vary (lots)
• Touch and tap tracking vary (lots)
• CPU and Memory vary (lots)
• Basic UI varies (lots)
• Physical keyboards


                                                 21
The Environment



                  22
iOS
• Objective-C, rocks, seriously

• xCode, sucks, getting better, very slowly
• Frameworks, you need to know them

• Understand, layers and views intimately

• I've never used interface builder for a
  production application
                                              23
Android

• Java, ageing gracefully, but it's still Java

• Alternative languages, scala, clojure, et al

• Eclipse, IntelliJ, rock the house

• Learning curve is in the frameworks


                                                 24
Memory Management



                    25
iOS
• It's easier than you think

• Remember the rules, you alloc or copy it,
  you own it

• Blocks are sneaky

• Listen to the system warnings

• ARC is coming
                                              26
Android
• Garbage collection is a beautiful thing

• Garbage collection sucks

• Reference leaks are your enemy

• Hard to dump it when you know your
  done

                                            27
Delivering to Multiple
      Platforms



                         28
Respect the differences
• Don't just port you application from one
  platform to the other

• The UX is subtly (and not so subtly)
  different

• Cross platform toolkits don't deliver
  (yet?)

                                             29
Unified Testing
• One set of acceptance tests, share the definitions
• Automate what you can, be prepared to manually
  test what you can't
• Screen comparisons are an essential part of the
  process
• No dedicated QA for our first two releases
• QA is everyone's role

                                                      30
Summary
some closing thoughts




                        31
In My Opinion
• Deliver an application that has an opinion
  (you can't please everyone anyhow)
• Concentrate on a consistent user
  experience
• Everyone is responsible for quality
• It's not easy. Expect some good developers
  to fail in the move to mobile and that's okay


                                                  32
And
• iOS is easier than Android, for now.
• Ice Cream Sandwich will reduce Android
  device fragmentation
• The Windows marketplace will be a better
  revenue source than The Android markets
• I'm going to be wrong on at least one of
  the point above


                                             33
Questions
  @kevinoneill




                 34

More Related Content

Similar to YOW Mobile Night 2011 - The realestate.com.au mobile story

Executing for Every Screen: Build, launch and sustain products for your custo...
Executing for Every Screen: Build, launch and sustain products for your custo...Executing for Every Screen: Build, launch and sustain products for your custo...
Executing for Every Screen: Build, launch and sustain products for your custo...Steven Hoober
 
The Xactimate Insurance App: Bringing 10,000,000 Lines of Code to Mobile, Nic...
The Xactimate Insurance App: Bringing 10,000,000 Lines of Code to Mobile, Nic...The Xactimate Insurance App: Bringing 10,000,000 Lines of Code to Mobile, Nic...
The Xactimate Insurance App: Bringing 10,000,000 Lines of Code to Mobile, Nic...Xamarin
 
Rise of the hybrids
Rise of the hybridsRise of the hybrids
Rise of the hybridsOron Ben Zvi
 
Real World Windows 8 Apps in JavaScript
Real World Windows 8 Apps in JavaScriptReal World Windows 8 Apps in JavaScript
Real World Windows 8 Apps in JavaScriptDomenic Denicola
 
24 Months - A DevOps Retrospective
24 Months - A DevOps Retrospective24 Months - A DevOps Retrospective
24 Months - A DevOps RetrospectiveSam McLeod
 
Development of a mobile app for Android
Development of a mobile app for AndroidDevelopment of a mobile app for Android
Development of a mobile app for AndroidAlexJReid
 
Developing a mobile cross-platform library
Developing a mobile cross-platform libraryDeveloping a mobile cross-platform library
Developing a mobile cross-platform libraryKostis Dadamis
 
How we test tvideo at skype
How we test tvideo at skypeHow we test tvideo at skype
How we test tvideo at skypeQA Club Kiev
 
Drupal and Devops , the Survey Results
Drupal and Devops , the Survey ResultsDrupal and Devops , the Survey Results
Drupal and Devops , the Survey ResultsKris Buytaert
 
Webview: The fifth element
Webview: The fifth elementWebview: The fifth element
Webview: The fifth elementFernando Cejas
 
Docker Enterprise Deployment Planning
Docker Enterprise Deployment PlanningDocker Enterprise Deployment Planning
Docker Enterprise Deployment PlanningStephane Woillez
 
Strategy, planning and governance for enterprise deployments of containers - ...
Strategy, planning and governance for enterprise deployments of containers - ...Strategy, planning and governance for enterprise deployments of containers - ...
Strategy, planning and governance for enterprise deployments of containers - ...The Incredible Automation Day
 
Understand Java for Android the Hard Way
Understand Java for Android the Hard WayUnderstand Java for Android the Hard Way
Understand Java for Android the Hard WayGlobalLogic Ukraine
 
Creating Dragon City for Mobile
Creating Dragon City for MobileCreating Dragon City for Mobile
Creating Dragon City for MobileSocial Point
 
Innovating with Mozilla Labs
Innovating with Mozilla LabsInnovating with Mozilla Labs
Innovating with Mozilla LabsAnant Narayanan
 
Titanium appcelerator kickstart
Titanium appcelerator kickstartTitanium appcelerator kickstart
Titanium appcelerator kickstartAlessio Ricco
 
Why Do Mobile Projects Fail?
Why Do Mobile Projects Fail?Why Do Mobile Projects Fail?
Why Do Mobile Projects Fail?Indiginox
 

Similar to YOW Mobile Night 2011 - The realestate.com.au mobile story (20)

Executing for Every Screen: Build, launch and sustain products for your custo...
Executing for Every Screen: Build, launch and sustain products for your custo...Executing for Every Screen: Build, launch and sustain products for your custo...
Executing for Every Screen: Build, launch and sustain products for your custo...
 
The Xactimate Insurance App: Bringing 10,000,000 Lines of Code to Mobile, Nic...
The Xactimate Insurance App: Bringing 10,000,000 Lines of Code to Mobile, Nic...The Xactimate Insurance App: Bringing 10,000,000 Lines of Code to Mobile, Nic...
The Xactimate Insurance App: Bringing 10,000,000 Lines of Code to Mobile, Nic...
 
DevOps Days Ohio
DevOps Days OhioDevOps Days Ohio
DevOps Days Ohio
 
Rise of the hybrids
Rise of the hybridsRise of the hybrids
Rise of the hybrids
 
Real World Windows 8 Apps in JavaScript
Real World Windows 8 Apps in JavaScriptReal World Windows 8 Apps in JavaScript
Real World Windows 8 Apps in JavaScript
 
24 Months - A DevOps Retrospective
24 Months - A DevOps Retrospective24 Months - A DevOps Retrospective
24 Months - A DevOps Retrospective
 
Development of a mobile app for Android
Development of a mobile app for AndroidDevelopment of a mobile app for Android
Development of a mobile app for Android
 
Developing a mobile cross-platform library
Developing a mobile cross-platform libraryDeveloping a mobile cross-platform library
Developing a mobile cross-platform library
 
How we test tvideo at skype
How we test tvideo at skypeHow we test tvideo at skype
How we test tvideo at skype
 
Drupal and Devops , the Survey Results
Drupal and Devops , the Survey ResultsDrupal and Devops , the Survey Results
Drupal and Devops , the Survey Results
 
Webview: The fifth element
Webview: The fifth elementWebview: The fifth element
Webview: The fifth element
 
Docker Enterprise Deployment Planning
Docker Enterprise Deployment PlanningDocker Enterprise Deployment Planning
Docker Enterprise Deployment Planning
 
Strategy, planning and governance for enterprise deployments of containers - ...
Strategy, planning and governance for enterprise deployments of containers - ...Strategy, planning and governance for enterprise deployments of containers - ...
Strategy, planning and governance for enterprise deployments of containers - ...
 
Understand Java for Android the Hard Way
Understand Java for Android the Hard WayUnderstand Java for Android the Hard Way
Understand Java for Android the Hard Way
 
Seminar report on android os
Seminar report on android osSeminar report on android os
Seminar report on android os
 
Java and the Web
Java and the WebJava and the Web
Java and the Web
 
Creating Dragon City for Mobile
Creating Dragon City for MobileCreating Dragon City for Mobile
Creating Dragon City for Mobile
 
Innovating with Mozilla Labs
Innovating with Mozilla LabsInnovating with Mozilla Labs
Innovating with Mozilla Labs
 
Titanium appcelerator kickstart
Titanium appcelerator kickstartTitanium appcelerator kickstart
Titanium appcelerator kickstart
 
Why Do Mobile Projects Fail?
Why Do Mobile Projects Fail?Why Do Mobile Projects Fail?
Why Do Mobile Projects Fail?
 

More from Kevin O'Neill

SwifTEA UI - Unidirectional data flow with SwiftUI and WeeDux
SwifTEA UI - Unidirectional data flow with SwiftUI and WeeDuxSwifTEA UI - Unidirectional data flow with SwiftUI and WeeDux
SwifTEA UI - Unidirectional data flow with SwiftUI and WeeDuxKevin O'Neill
 
Building Hypermedia API's - YOW! Night - March 2013
Building Hypermedia API's - YOW! Night - March 2013Building Hypermedia API's - YOW! Night - March 2013
Building Hypermedia API's - YOW! Night - March 2013Kevin O'Neill
 
Hypermedia for the iOS developer - Swipe 2012
Hypermedia for the iOS developer - Swipe  2012Hypermedia for the iOS developer - Swipe  2012
Hypermedia for the iOS developer - Swipe 2012Kevin O'Neill
 
Swipe 2011 - iOS Gems
Swipe 2011 - iOS GemsSwipe 2011 - iOS Gems
Swipe 2011 - iOS GemsKevin O'Neill
 

More from Kevin O'Neill (6)

SwifTEA UI - Unidirectional data flow with SwiftUI and WeeDux
SwifTEA UI - Unidirectional data flow with SwiftUI and WeeDuxSwifTEA UI - Unidirectional data flow with SwiftUI and WeeDux
SwifTEA UI - Unidirectional data flow with SwiftUI and WeeDux
 
Deploying the Graph
Deploying the GraphDeploying the Graph
Deploying the Graph
 
A Slice of Scala
A Slice of Scala A Slice of Scala
A Slice of Scala
 
Building Hypermedia API's - YOW! Night - March 2013
Building Hypermedia API's - YOW! Night - March 2013Building Hypermedia API's - YOW! Night - March 2013
Building Hypermedia API's - YOW! Night - March 2013
 
Hypermedia for the iOS developer - Swipe 2012
Hypermedia for the iOS developer - Swipe  2012Hypermedia for the iOS developer - Swipe  2012
Hypermedia for the iOS developer - Swipe 2012
 
Swipe 2011 - iOS Gems
Swipe 2011 - iOS GemsSwipe 2011 - iOS Gems
Swipe 2011 - iOS Gems
 

Recently uploaded

20230202 - Introduction to tis-py
20230202 - Introduction to tis-py20230202 - Introduction to tis-py
20230202 - Introduction to tis-pyJamie (Taka) Wang
 
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDEADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDELiveplex
 
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfIaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfDaniel Santiago Silva Capera
 
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostKubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostMatt Ray
 
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Will Schroeder
 
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding TeamAdam Moalla
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemAsko Soukka
 
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UbiTrack UK
 
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Commit University
 
VoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXVoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXTarek Kalaji
 
Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Brian Pichman
 
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationUsing IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationIES VE
 
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IES VE
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxGDSC PJATK
 
OpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureOpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureEric D. Schabell
 
Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Adtran
 
Machine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfMachine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfAijun Zhang
 
UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7DianaGray10
 

Recently uploaded (20)

20230202 - Introduction to tis-py
20230202 - Introduction to tis-py20230202 - Introduction to tis-py
20230202 - Introduction to tis-py
 
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDEADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
 
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfIaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
 
20230104 - machine vision
20230104 - machine vision20230104 - machine vision
20230104 - machine vision
 
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostKubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
 
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
 
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystem
 
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
 
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)
 
VoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXVoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBX
 
Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )
 
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationUsing IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
 
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptx
 
OpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureOpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability Adventure
 
201610817 - edge part1
201610817 - edge part1201610817 - edge part1
201610817 - edge part1
 
Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™
 
Machine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfMachine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdf
 
UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7
 

YOW Mobile Night 2011 - The realestate.com.au mobile story

  • 1. 1
  • 2. Who Am I Delivery Manager - Mobile REA Group (realestate.com.au et al) 2
  • 4. The Beginning • New to the organisation • New team • Organisation new to native mobile • High expectations 4
  • 5. Not a Website • Native mobile is not the mobile web • REAPA (REA Personal Assistant) 5
  • 6. We Screwed Up • The initial project was cancelled after three months (the agile process in practice) • Reset and re-imagined • Halved the team size • Doubled the productivity 6
  • 8. Release One • Nine Weeks to Develop (including back end) • Initially rejected by Apple • Counting the appeal it took a month from submission to release 8
  • 10. Android • Two External Parties Approached • Both quoted about the same duration • Three weeks. 10
  • 11. Android • Four Months in the Making • All experience mobile java developers • Majority of the development done in China • Completed here (with the team from China) 11
  • 12. iOS 1.3 12
  • 13. iOS 1.3 • Bookmarking + ? • Third Party integration • Shelved waiting for Third Party • Eventually released without Third Party features 13
  • 14. iOS 1.3 • We broke it • Active error monitoring alerted us within minutes of store launch • Our only x.x.x release • 12 Hours for new version to appear in the store 14
  • 15. iPad 15
  • 16. iPad • Eight week schedule • Problems with unanticipated scope • Problems with defects • Five weeks in and very little was production quality 16
  • 17. iPad • Changed the team Structure • Reduced from six to three developers • Moved two developers to automated testing • Moved two to another project • Added an experienced developer (me) 17
  • 20. iOS • Two screen sizes, three resolutions • Memory varies • CPU varies • Subtle UI changes coming in iOS 5 20
  • 21. Android • Every device is different, you'll need a few • Screen and resolutions vary (lots) • Touch and tap tracking vary (lots) • CPU and Memory vary (lots) • Basic UI varies (lots) • Physical keyboards 21
  • 23. iOS • Objective-C, rocks, seriously • xCode, sucks, getting better, very slowly • Frameworks, you need to know them • Understand, layers and views intimately • I've never used interface builder for a production application 23
  • 24. Android • Java, ageing gracefully, but it's still Java • Alternative languages, scala, clojure, et al • Eclipse, IntelliJ, rock the house • Learning curve is in the frameworks 24
  • 26. iOS • It's easier than you think • Remember the rules, you alloc or copy it, you own it • Blocks are sneaky • Listen to the system warnings • ARC is coming 26
  • 27. Android • Garbage collection is a beautiful thing • Garbage collection sucks • Reference leaks are your enemy • Hard to dump it when you know your done 27
  • 28. Delivering to Multiple Platforms 28
  • 29. Respect the differences • Don't just port you application from one platform to the other • The UX is subtly (and not so subtly) different • Cross platform toolkits don't deliver (yet?) 29
  • 30. Unified Testing • One set of acceptance tests, share the definitions • Automate what you can, be prepared to manually test what you can't • Screen comparisons are an essential part of the process • No dedicated QA for our first two releases • QA is everyone's role 30
  • 32. In My Opinion • Deliver an application that has an opinion (you can't please everyone anyhow) • Concentrate on a consistent user experience • Everyone is responsible for quality • It's not easy. Expect some good developers to fail in the move to mobile and that's okay 32
  • 33. And • iOS is easier than Android, for now. • Ice Cream Sandwich will reduce Android device fragmentation • The Windows marketplace will be a better revenue source than The Android markets • I'm going to be wrong on at least one of the point above 33