Mobeers waterloo-2011

2,208 views
2,118 views

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,208
On SlideShare
0
From Embeds
0
Number of Embeds
9
Actions
Shares
0
Downloads
11
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Mobeers waterloo-2011

    1. 1. phonegap/mobeers 2011
    2. 2. -mehttp://brian.io
    3. 3. the killing field• phonegap project background• mobile projects in practice• backend design concerns• mobile web client design• progressive enhancement to ‘native’
    4. 4. lets kill it
    5. 5. phonegap project• history/goals/philosphy• licensing• web standards• the phonegap technique (ffi / bridge)• platform support• more on the bridge: plugins• the future of mobile is device apis• device apis: sensors• device apis: data• device apis: outputs• present and future: a little about our roadmap• phonegap/build• perceived competition
    6. 6. phonegap project• history/goals/philosphy• licensing• web standards•• imma teach ya fuckin the phonegap technique (ffi / bridge) platform support• everything aight? more on the bridge: plugins• the future of mobile is device apis• device apis: sensors• device apis: data• device apis: outputs• present and future: a little about our roadmap• phonegap/build• perceived competition
    7. 7. history• 2008 got its start as a lofty summertime hack; gained traction as a concept @nitobi with android and blackberry implementations in the fall• 2009 ppl started to pay attention when we got ‘rejected’ by apple; we added Symbian and webOS support• 2010 IBM began tag teaming w/ Nitobi• 2011 RIM joined: now its a gang bang• 2011 we shipped 1.x
    8. 8. philosophy• unix was (still is) right• simple is better• plan to fail; software is organic• when in doubt use brute force
    9. 9. goals• the web as a first class platform• => installable web apps• cease to exist• => browsers adopt this model
    10. 10. licensing• users: mit/bsd• contributors: apache
    11. 11. free defined• free to use• free to modify• free to distribute• free to change• free to sell
    12. 12. omg, how does anyone make money?
    13. 13. ever buy bottled water?
    14. 14. Nitobi vs PhoneGap• we are the creators• we are contributors• nitobi is a software company that makes money writing software for ppl• we give away as much IP as possible
    15. 15. web standards• w3c has many• whatwg seems to be working well• bondi / jil / wac / webinos• de facto standards ?• mozilla getting snippy about the flailing of the various standards bodies: web apis and b2g (fuck yes.)
    16. 16. the phonegap technique• colloquially called ‘the bridge’• more correctly a FFI (foreign function interface)
    17. 17. the technique ‘splained1. we instantiate a webview2. we call js from the native code (‘deviceready’)3. you can call native code from the js ... aaaand then we send data/ callbacks from the native!
    18. 18. primary platforms• Apple iOS >= 3 (we’ve supported since 1.x)• Google Android >= 1.5• BlackBerry >= 5.x (supported since 4.2)
    19. 19. platforms support cont.• HP webOS• Nokia Symbian• Samsung Bada
    20. 20. fall 2011• Windows Phone 7• MeeGo
    21. 21. further experiments• various desktop experiments• mozilla firefox mobile (once fennec)• Qt is super portable (thus MeeGo)
    22. 22. No mobile dev platform supports as many deploy targets as PhoneGap.Not even a single browser...not yet anyhow.
    23. 23. Adoption
    24. 24. contributors• Nitobi• IBM• RIM
    25. 25. PhoneGap APIhttp://docs.phonegap.com
    26. 26. device apis• sensors• data• outputs
    27. 27. sensors• geo / accelerometer / gyroscope• camera
    28. 28. data• filesystem• contacts• media
    29. 29. outputs• device screen(s)• speakers• speaker jack...
    30. 30. plugins• everything is one• any native api is permitted
    31. 31. plugins• everything is one• any native api is permitted
    32. 32. 2.x roadmap!• plugins• performance• security• tooling
    33. 33. Plugins TODO• packaging• installation / removal / deps• discovery
    34. 34. Performance• benchmarking us (right now just init)• benchmarking them (popular js libs)• js unification and cleanup• continual improvements to the bridge• plugins removal will help tonnes• data access another area of interest
    35. 35. security• locking down the file://• config.xml feature element lockdown• code hotloading (hydra project)• some crypto apis• looking secure storage
    36. 36. tooling• unification of mobile dev nomenclature• standard project directory structuring• build the tools devs are REbuilding every project
    37. 37. tooling • unification of mobile dev nomenclatureautomate project directory structuringbitch the shit out of this • standard • build the tools devs are REbuilding every project
    38. 38. common tasks• launch an emulator• create a project• build a project to a device / emulator• attach a logger (console.log to stdout)• run the mobile-spec unit test suite
    39. 39. A quick interlude about competition• We have none.
    40. 40. Lets review• philosophy• licensing• community adoption• contributors• tooling from 3rd parties• no lock in: your app runs in a browser too
    41. 41. PhoneGap/Build• We build your apps ‘in the cloud’.• A commercial enterprise from Nitobi.• Always free for Free/Open Source projects.• Always 1 free private repo for developers.
    42. 42. hello world already!
    43. 43. mobile projs in practice• define your project philosophy and goals• value != money• design (...not just the pretty)• shipping
    44. 44. know your philosophy• a good problem defn outlines a solution value proposition • can’t be a hero without an enemy
    45. 45. have a goal (not goals)• min viable product defn • 1 sentence: no use of the word ‘and’
    46. 46. great ux happens iteratively• you design always; init w/ research • big upfront designs fail. don’t fail.
    47. 47. bias• technical bias is a normal condition• embrace your bias; its skills you have• embrace your existing technical debt• be wary of anything preaching a ‘one true way’
    48. 48. the exception,the web,is exceptional
    49. 49. Good news!• You have likely already invested in the web.• If not, don’t worry, web tech is being taught in elementary schools.• Today you have the knowledge and skills to build end to end systems with HTML, CSS and JavaScript.
    50. 50. shipping• a daily activity• writing unit tests for health and sanity• single click builds (test/dev/release)• distributed rcs and practices are crucial• automate everything manual
    51. 51. thx• q/a?

    ×