1. Brian LeRoux, Nitobi
The Road to PhoneGap 1.0
phonegap.com
nitobi.com
brian@nitobi.com
twitter.com/brianleroux
brianleroux.github.com
westcoastlogic.com
etc.
2. Nitobi Software
‣ Founded in 1998
‣ 15 employees
‣ Based in Vancouver, BC (Gastown)
‣ ^---Canada, eh.
‣ Early player in JavaScript, Ajax, AIR,
Mobile web
Brian LeRoux / Nitobi Software / PhoneGap
4. Here’s the thing...
Platform Language Awesome
iPhone Objective C Not so much.
Android Java (Dalvik VM) Ok.
Blackberry Java (Who knows.) Bad scene.
Windows Mobile .NET and/or C++ Nuff said.
Nokia C++, Java, Flash Sorta cool right?
Lite, Web tech
Palm HTML. CSS. Exactly.
JavaScript.
Brian LeRoux / Nitobi Software / PhoneGap
5. We’ve seen this before...
‣ History is repeating itself.
‣ Platforms causing fragmentation.
‣ Who will save us?!
Brian LeRoux / Nitobi Software / PhoneGap
6. Stand back! I know javascript.
Brian LeRoux / Nitobi Software / PhoneGap
7. PhoneGap is Web Dev
‣ with native api access
‣ web technology: html, css and
javascript
Brian LeRoux / Nitobi Software / PhoneGap
8. Our philosophy
‣ The purpose of PhoneGap is for
PhoneGap to cease to exist.
Brian LeRoux / Nitobi Software / PhoneGap
9. In plain english
Problem: too many devices, platforms and stores.
Solution: enable web developers.
• Cross Platform
• Open Standards
• Open Source
Brian LeRoux / Nitobi Software / PhoneGap
10. Why?
Brian LeRoux / Nitobi Software / PhoneGap
11. One last time
‣ We are here to bring the web to native
devices not the other way around
‣ We are going to adhere to open
standards whenever possible
‣ The entire project stack is to remain
completely open source
Brian LeRoux / Nitobi Software / PhoneGap
12. PhoneGap Risks
‣ API still evolving and the Roadmap is unclear.
‣ Documentation is terrible and divisive.
‣ Competition?
‣ App store rejection FUD.
‣ Which webkit?
‣ Tooling is not consolidated.
‣ No fucking tests!
‣ No plugin architecture.
‣ The source tree is a mess.
‣ No defined roles, incentives, timelines for contributers.
Brian LeRoux / Nitobi Software / PhoneGap
13. API
‣ users do not easily know what is going
on on which device
‣ a hourly test page output would fix this
‣ whats next for phonegap?
‣ how do we plan features?
‣ (hint: not implmented)
Brian LeRoux / Nitobi Software / PhoneGap
14. Docs
‣ complete fail
‣ we need: examples, quickstarts,
advanced usage, official blog, api docs
and how to contribute tutorials
Brian LeRoux / Nitobi Software / PhoneGap
16. Don’t be fooled
‣ Lockin is not a goal of phonegap.
Brian LeRoux / Nitobi Software / PhoneGap
17. Rejection Letters
‣ the drama was nice
‣ but it was a symptom of our own
failure not Apple’s
‣ need to have a unified build process
across devices that performs project
naming and obfuscation built in
Brian LeRoux / Nitobi Software / PhoneGap
18. Which Webkit?
‣ we need to document the differences
between our platforms
‣ needs to be accessible to all users
quickly
‣ should give warnings during unified
build process
‣ sounds a whole lot like CI
Brian LeRoux / Nitobi Software / PhoneGap
19. Tooling not consolidated
‣ You need to download Palm, Android,
iPhone, BlackBerry SDK's...
‣ Then you need to learn how to build
for each on individually...
‣ Then resolve each x-platform issue...
‣ Repeat?!
‣ automation FAIL
Brian LeRoux / Nitobi Software / PhoneGap
20. Testing
‣ the JavaScript API needs tests
‣ (src for impls too but thats not as
important b/c thats not our
abstraction remember)
‣ I wrote the basis for this months ago ;)
‣ We need a continuous integration
server showing the results online all
the time
Brian LeRoux / Nitobi Software / PhoneGap
21. Plugins
‣ native apis that don't fit our web-iful
world view
‣ so simple to do!
‣ we need a leader for this
‣ Possibly an official 3rd party site?
Brian LeRoux / Nitobi Software / PhoneGap
22. Source is a mess
‣ lots to say about it but suffice to say
first time user is going to be FUCKED
trying to navigate this
‣ needs to be solved TODAY by us all
‣ later.
Brian LeRoux / Nitobi Software / PhoneGap
23. Roles
‣ We’re serious about recognizing
contribution.
‣ Projects concerned with problem
areas/risks instead of specific tech.
Brian LeRoux / Nitobi Software / PhoneGap
24. PhoneGap Projects
‣ Everyone: source tree organization review w/ team
‣ mobile-spec
‣ phonegap-doc
‣ phonegap-dev
‣ phonegap-install
‣ Plugin Project
Brian LeRoux / Nitobi Software / PhoneGap
25. How do we organize?
‣ Separate projects.
‣ Separate source.
‣ Separate issue trackers.
Brian LeRoux / Nitobi Software / PhoneGap
26. Timing
‣ Starts immediately.
‣ Friday Afternoon PhoneGap Hackdays
2pm - ?
‣ Its ready when its ready!
Brian LeRoux / Nitobi Software / PhoneGap
27. PhoneGap 1.0 (proposed)
‣ Installer/Updater of SDK
‣ New Docs Online
‣ CI Running
‣ Unified Build Process in place
‣ Plugin Website
Brian LeRoux / Nitobi Software / PhoneGap
28. Installer Project
‣ Single click install
‣ Everything a dev needs in one package
including SDK’s
‣ Updating
Brian LeRoux / Nitobi Software / PhoneGap
29. Docs Project
‣ One simple example app
‣ Quickstarts for each feature
‣ Advanced Usage tutorial w/ XUI
‣ Searchable and styled API docs
‣ Offline API doc in PDF form
‣ How to Contribute tutorial
‣ Official Blog w/ one post a week
Brian LeRoux / Nitobi Software / PhoneGap
30. Continuous Integration
‣ Single suite of tests for the JS API
‣ Runs hourly and online
‣ Packaged w/ the SDK
‣ Separate project will be useful for our
‘competition’
Brian LeRoux / Nitobi Software / PhoneGap
31. Unified Build Process
‣ One click and I get three binaries:
iPhone, Android, BB from one www
folder.
‣ Thats it! So simple! ;)
Brian LeRoux / Nitobi Software / PhoneGap
32. Plugins
‣ Need to define an API for this
‣ Would be nice if it was mirrored in JS
so plugins could be 100% web
‣ More important than any other Android
or iPhone feature.
‣ Need a repo and separate site for
listing plugins.
Brian LeRoux / Nitobi Software / PhoneGap
33. On the Horizon
‣ Palm, WRT and WinMo
‣ Bondi and Widgets
Brian LeRoux / Nitobi Software / PhoneGap
34. PhoneGap Touring
‣ OSCON
‣ FITC
‣ Ajax Experience
‣ Adobe Max
Brian LeRoux / Nitobi Software / PhoneGap
35. one last thing
‣ Browsers are already making PhoneGap
obsolete.
‣ Which means we're winning.
‣ Real artists ship. Here’s to 1.0!
Brian LeRoux / Nitobi Software / PhoneGap