Strategies for Cross-Platform Mobile

Fe6b81005d1553accd6b2a28f6a2bef1?s=47 Pete Hodgson
November 16, 2012

Strategies for Cross-Platform Mobile

An talk I gave in Melbourne for an internal ThoughtWorks conference

Fe6b81005d1553accd6b2a28f6a2bef1?s=128

Pete Hodgson

November 16, 2012
Tweet

Transcript

  1. Cross-plat orm Mobile

  2. Agenda • mobile strategy • technical approaches • deep dive

    into Calatrava
  3. a question rom the client...

  4. “ We need a mobile strategy. What should we be

    building? ”
  5. The Consultant’s Motto:

  6. The Consultant’s Motto: “it depends”

  7. “it depends” on... Plat orm Coverage User Experience Time to

    Market Dev. Cost Discover- ability etc... Development Capability
  8. plat orm coverage UX Zone of Awesome

  9. plat orm coverage UX Zone of Awesome You are here

  10. plat orm coverage UX

  11. plat orm coverage UX

  12. mobile approaches

  13. mobile approaches pure web pure native ‘hybrid’ WORA Portable Body

  14. pure web pure native ‘hybrid’ WORA Portable Body

  15. pure web the uture, but...

  16. pure web hardware access plat orm access per ormance discoverability

  17. pure web pure native ‘hybrid’ WORA Portable Body

  18. pure native implement rom scratch or each plat orm should

    at least share requirements
  19. pure web pure native ‘hybrid’ WORA Portable Body

  20. ‘hybrid’

  21. web native vs.

  22. web native

  23. web native pure native

  24. web native pure native pure web

  25. web native pure web wrabbed web (e.g. phonegap) pure native

  26. wrabbed web (e.g. phonegap) embedded web views web native pure

    web pure native
  27. web native

  28. ‘hybrid’ web native

  29. pure web pure native ‘hybrid’ WORA Portable Body

  30. WORA (write once, run anywhere) (e.g. Kony, Appcelerator Titanium)

  31. common implementation iphone app android app mobile web

  32. common implementation iphone app android app mobile web write once

    run anywhere
  33. The Uncanny Valley

  34. The Uncanny Valley

  35. The Glass Ceiling

  36. pure web pure native ‘hybrid’ WORA Portable Body

  37. Portable Body

  38. mobile app

  39. UI the rest

  40. portable body UI

  41. portable body iPhone mobile web Android

  42. portable body iPhone mobile web Android

  43. iPhone mobile web Android

  44. Calatrava A cross-platform mobile framework

  45. - controllers - domain objs. - services <html> views

  46. update UI respond to user input kernel UI

  47. updating the UI

  48. someView.render( aViewMessage ) updating the UI {...}

  49. someView.render( aViewMessage ) updating the UI {...}

  50. someView.get( ‘field_id’, callbackFn ) reading the UI

  51. someView.bind( ‘event_id’, callbackFn ) responding to events

  52. calatrava is ‘HTML irst’

  53. <html> <html> <html> HTML irst

  54. HTML irst Get broad plat orm coverage quickly No glass

    ceiling or UX Avoid the uncanny valley Experiment cheaply, validate, and double-down only where it matters
  55. Testing Acceptance Tests

  56. Testing app logic Acceptance Tests

  57. where’s your logic? mobile app mobile services

  58. shared mobile services app

  59. app shared mobile services app app iPhone HTML Android

  60. In Summary Strategy depends on context The Web Is The

    Future ‘Hybrid’ == Mobile App Portable Body > WORA Consider Thin Client
  61. THANKS!