1
Who Am IDelivery 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                   ...
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-imagin...
Release One              7
Release One• Nine Weeks to Develop (including  back end)• Initially rejected by Apple• Counting the appeal it took a month...
Android          9
Android• Two External Parties Approached• Both quoted about the same  duration• Three weeks.                              ...
Android• Four Months in the Making• All experience mobile java  developers• Majority of the development done in  China• Co...
iOS 1.3          12
iOS 1.3• Bookmarking + ?• Third Party integration• Shelved waiting for Third Party• Eventually released without Third  Par...
iOS 1.3• We broke it• Active error monitoring alerted us  within minutes of store launch• Our only x.x.x release• 12 Hours...
iPad       15
iPad• Eight week schedule• Problems with unanticipated scope• Problems with defects• Five weeks in and very little was  pr...
iPad• Changed the team Structure• Reduced from six to three developers• Moved two developers to automated  testing• Moved ...
Observations               18
The Platform               19
iOS• Two screen sizes, three resolutions• Memory varies• CPU varies• Subtle UI changes coming in iOS 5                    ...
Android• Every device is different, youll need a few• Screen and resolutions vary (lots)• Touch and tap tracking vary (lot...
The Environment                  22
iOS• Objective-C, rocks, seriously• xCode, sucks, getting better, very slowly• Frameworks, you need to know them• Understa...
Android• Java, ageing gracefully, but its still Java• Alternative languages, scala, clojure, et al• Eclipse, IntelliJ, roc...
Memory Management                    25
iOS• Its easier than you think• Remember the rules, you alloc or copy it,  you own it• Blocks are sneaky• Listen to the sy...
Android• Garbage collection is a beautiful thing• Garbage collection sucks• Reference leaks are your enemy• Hard to dump i...
Delivering to Multiple      Platforms                         28
Respect the differences• Dont just port you application from one  platform to the other• The UX is subtly (and not so subt...
Unified Testing• One set of acceptance tests, share the definitions• Automate what you can, be prepared to manually  test wh...
Summarysome closing thoughts                        31
In My Opinion• Deliver an application that has an opinion  (you cant please everyone anyhow)• Concentrate on a consistent ...
And• iOS is easier than Android, for now.• Ice Cream Sandwich will reduce Android  device fragmentation• The Windows marke...
Questions  @kevinoneill                 34
Upcoming SlideShare
Loading in …5
×

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

1,933 views

Published on

A brief summary of the path taken by the mobile development team at realestate.com.au.

It provides an overview of the project from inception to cancellation, to rebirth, multi-platform and tablet.

The presentation concludes with some observations, on the platform, technologies and the future.

0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,933
On SlideShare
0
From Embeds
0
Number of Embeds
156
Actions
Shares
0
Downloads
20
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

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

  1. 1. 1
  2. 2. Who Am IDelivery Manager - Mobile REA Group (realestate.com.au et al) 2
  3. 3. From Concept to … 3
  4. 4. The Beginning• New to the organisation• New team• Organisation new to native mobile• High expectations 4
  5. 5. Not a Website• Native mobile is not the mobile web• REAPA (REA Personal Assistant) 5
  6. 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
  7. 7. Release One 7
  8. 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
  9. 9. Android 9
  10. 10. Android• Two External Parties Approached• Both quoted about the same duration• Three weeks. 10
  11. 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. 12. iOS 1.3 12
  13. 13. iOS 1.3• Bookmarking + ?• Third Party integration• Shelved waiting for Third Party• Eventually released without Third Party features 13
  14. 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. 15. iPad 15
  16. 16. iPad• Eight week schedule• Problems with unanticipated scope• Problems with defects• Five weeks in and very little was production quality 16
  17. 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
  18. 18. Observations 18
  19. 19. The Platform 19
  20. 20. iOS• Two screen sizes, three resolutions• Memory varies• CPU varies• Subtle UI changes coming in iOS 5 20
  21. 21. Android• Every device is different, youll 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
  22. 22. The Environment 22
  23. 23. iOS• Objective-C, rocks, seriously• xCode, sucks, getting better, very slowly• Frameworks, you need to know them• Understand, layers and views intimately• Ive never used interface builder for a production application 23
  24. 24. Android• Java, ageing gracefully, but its still Java• Alternative languages, scala, clojure, et al• Eclipse, IntelliJ, rock the house• Learning curve is in the frameworks 24
  25. 25. Memory Management 25
  26. 26. iOS• Its 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. 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. 28. Delivering to Multiple Platforms 28
  29. 29. Respect the differences• Dont just port you application from one platform to the other• The UX is subtly (and not so subtly) different• Cross platform toolkits dont deliver (yet?) 29
  30. 30. Unified Testing• One set of acceptance tests, share the definitions• Automate what you can, be prepared to manually test what you cant• Screen comparisons are an essential part of the process• No dedicated QA for our first two releases• QA is everyones role 30
  31. 31. Summarysome closing thoughts 31
  32. 32. In My Opinion• Deliver an application that has an opinion (you cant please everyone anyhow)• Concentrate on a consistent user experience• Everyone is responsible for quality• Its not easy. Expect some good developers to fail in the move to mobile and thats okay 32
  33. 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• Im going to be wrong on at least one of the point above 33
  34. 34. Questions @kevinoneill 34

×