The Hitchhiker's guide to mobile development

Nikolai Onken
Nikolai OnkenCloud9, previously founder of uxebu at Cloud9
The hitchhiker's guide to
                         mobile development
                                Mobilism 2011



                                 Nikolai Onken
                                    uxebu



Sunday, May 15, 2011
@nonken



Sunday, May 15, 2011
Sunday, May 15, 2011
We open the mobile web.




Sunday, May 15, 2011
How you totally should do it




Sunday, May 15, 2011
Lets look at




Sunday, May 15, 2011
Lets look at


                  1. Current state of mobile dev




Sunday, May 15, 2011
Lets look at


                  1. Current state of mobile dev


                  2. Coding




Sunday, May 15, 2011
Lets look at


                  1. Current state of mobile dev


                  2. Coding


                  3. Call for action


Sunday, May 15, 2011
Current state of mobile dev




Sunday, May 15, 2011
State of mobile dev: runtimes




Sunday, May 15, 2011
State of mobile dev: runtimes




Sunday, May 15, 2011
State of mobile dev: runtimes




Sunday, May 15, 2011
State of mobile dev: runtimes




Sunday, May 15, 2011
State of mobile dev: runtimes




Sunday, May 15, 2011
State of mobile dev: runtimes




Sunday, May 15, 2011
State of mobile dev: runtimes




Sunday, May 15, 2011
State of mobile dev: runtimes




Sunday, May 15, 2011
State of mobile dev: runtimes




Sunday, May 15, 2011
State of mobile dev: runtimes




Sunday, May 15, 2011
State of mobile dev: runtimes




Sunday, May 15, 2011
State of mobile dev: runtimes I would use




Sunday, May 15, 2011
State of mobile dev: runtimes I would use




Sunday, May 15, 2011
State of mobile dev: debugging




Sunday, May 15, 2011
State of mobile dev: debugging




                            http://bit.ly/chrome-remote
Sunday, May 15, 2011
State of mobile dev: debugging




                               http://bit.ly/weinre
Sunday, May 15, 2011
State of mobile dev: debugging




                              http://jsconsole.com
Sunday, May 15, 2011
State of mobile dev: debugging




                             http://bit.ly/o-dragonfly
Sunday, May 15, 2011
State of mobile dev: debugging




                           http://jsdebugger.appspot.com
Sunday, May 15, 2011
State of mobile dev: debugging




                               http://zeonjs.com
Sunday, May 15, 2011
State of mobile dev: debugging




Sunday, May 15, 2011
State of mobile dev: editors




                           http://cloud9ide.com




Sunday, May 15, 2011
State of mobile dev: editors




                           http://cloud9ide.com




Sunday, May 15, 2011
State of mobile dev: debugging




                               SubEthaEdit FTW
Sunday, May 15, 2011
Sunday, May 15, 2011
Sunday, May 15, 2011
Sunday, May 15, 2011
Sunday, May 15, 2011
State of mobile dev: build services




                                  http://apparat.io
                             http://build.phonegap.com
                       https://github.com/brianleroux/cordova




Sunday, May 15, 2011
State of mobile dev: build services




                                  http://apparat.io
                             http://build.phonegap.com
                       https://github.com/brianleroux/cordova




Sunday, May 15, 2011
State of mobile dev: build services




                                  http://apparat.io
Sunday, May 15, 2011
State of mobile dev: build services




                                  http://apparat.io
Sunday, May 15, 2011
State of mobile dev: build services




                                  http://apparat.io
Sunday, May 15, 2011
State of mobile dev: testing




                          http://ripple.tinyhippos.com/
                       https://github.com/vf/web-testsuite




Sunday, May 15, 2011
State of mobile dev: testing




                          http://ripple.tinyhippos.com/
                       https://github.com/vf/web-testsuite




Sunday, May 15, 2011
State of mobile dev: reporting




                             http://distimo.com




Sunday, May 15, 2011
State of mobile dev: reporting




                             http://distimo.com




Sunday, May 15, 2011
State of mobile dev: app stores




                                  yea right...




Sunday, May 15, 2011
State of mobile dev: app stores...




    Probably more than just ‘mobile’ - chromestore anyone?




Sunday, May 15, 2011
State of mobile dev: libraries




                                 tons of em




Sunday, May 15, 2011
State of mobile dev: libraries




                               but size matters!




Sunday, May 15, 2011
Coding




Sunday, May 15, 2011
Rewire our brains




Sunday, May 15, 2011
What about those
                         libraries?




Sunday, May 15, 2011
Uh oh




Sunday, May 15, 2011
Uh oh




Sunday, May 15, 2011
Uh oh




Sunday, May 15, 2011
Uh oh




Sunday, May 15, 2011
Uh oh




Sunday, May 15, 2011
What about maintainability?




Sunday, May 15, 2011
Work with features and interfaces
                            Don’t branch your code




Sunday, May 15, 2011
Bad




Sunday, May 15, 2011
Really Bad




Sunday, May 15, 2011
Good




Sunday, May 15, 2011
Good




Sunday, May 15, 2011
Good




Sunday, May 15, 2011
Good




Sunday, May 15, 2011
http://embedjs.org
                       The DIY framework




Sunday, May 15, 2011
Sunday, May 15, 2011
Sunday, May 15, 2011
vs.




Sunday, May 15, 2011
vs.




Sunday, May 15, 2011
13 LOC




                         vs.


                       ~200 LOC


Sunday, May 15, 2011
Enough code? Demo
                         Mobilism app




Sunday, May 15, 2011
Mixins hell yea




Sunday, May 15, 2011
Delegate


               • Different approach on event handling
               • Simple, clear implementation
               • Less overhead than the multi purpose
                       event handlers such as dojo.connect
               • More explicit than pub/sub 
               • https://github.com/uxebu/delegate

Sunday, May 15, 2011
Delegate




Sunday, May 15, 2011
Delegate




Sunday, May 15, 2011
Delegate




Sunday, May 15, 2011
Delegate




Sunday, May 15, 2011
Example: Delegate




               • Mobilism Schedule (Object emitters)
                       https://github.com/nonken/mobilism2011




Sunday, May 15, 2011
Data binding



               •       Based on delegate’s event handling
               •       No templating language!
               •       Objects emit events on state change
               •       Data binding takes care of modifying
                       DOM 



Sunday, May 15, 2011
Data binding




Sunday, May 15, 2011
Data binding




Sunday, May 15, 2011
Data binding




Sunday, May 15, 2011
Example




               • Mobilism schedule (Data binding)




Sunday, May 15, 2011
DOM Events




               • Binds native DOM events to object
                       methods




Sunday, May 15, 2011
DOM Events




Sunday, May 15, 2011
DOM Events




Sunday, May 15, 2011
DOM Events




Sunday, May 15, 2011
DOM Events




Sunday, May 15, 2011
Example DOM Events




               • Mobilism mobile app (DOM event binding)




Sunday, May 15, 2011
Gaming



               • Curve Desaster - the experiment
                       https://github.com/uxebu/curvedesaster
               • No library
               • Using only the Delegate mixin and a
                       mixin helper
               • wwtest / http://10.0.2.1:8080

Sunday, May 15, 2011
Call for action




Sunday, May 15, 2011
What is happening right now?

               •       Fact: Native mobile is moving fast
               •       Bad: Apple disabled Nitro in WebView
               •       Good: Android now has an ADK
               •       Awesome: Chromestore now has
                       payment APIs
               • Woot: HP kicks ass, you can use node.js!
               • ...
Sunday, May 15, 2011
How can we be of influence?




Sunday, May 15, 2011
Push PhoneGap to its limits




Sunday, May 15, 2011
Human APIs... in JavaScript!




Sunday, May 15, 2011
Questions?




Sunday, May 15, 2011
Wuut



                               @nonken


                       http://uxebu.com - @uxebu




Sunday, May 15, 2011
1 of 100

Recommended

10 Web Development Concepts a Designer Should Know by
10 Web Development Concepts a Designer Should Know10 Web Development Concepts a Designer Should Know
10 Web Development Concepts a Designer Should KnowRachel Andrew
45.5K views117 slides
CMF: a pain in the F @ PHPDay 05-14-2011 by
CMF: a pain in the F @ PHPDay 05-14-2011CMF: a pain in the F @ PHPDay 05-14-2011
CMF: a pain in the F @ PHPDay 05-14-2011David Funaro
1.2K views156 slides
Usability tour-pceu-2011 by
Usability tour-pceu-2011Usability tour-pceu-2011
Usability tour-pceu-2011Puppet
797 views34 slides
SeaJS - 跨环境模块化开发实践 by
SeaJS - 跨环境模块化开发实践SeaJS - 跨环境模块化开发实践
SeaJS - 跨环境模块化开发实践lifesinger
3.3K views35 slides
iOS Testing with Frank by
iOS Testing with FrankiOS Testing with Frank
iOS Testing with FrankSean Woodhouse
1.9K views53 slides
Introduction to JavaScriptMVC by
Introduction to JavaScriptMVCIntroduction to JavaScriptMVC
Introduction to JavaScriptMVCPedro Pimentel
1.2K views47 slides

More Related Content

Similar to The Hitchhiker's guide to mobile development

Ruby and Rails, as secret weapon to build your service-oriented apps by
Ruby and Rails,  as secret weapon to build your service-oriented appsRuby and Rails,  as secret weapon to build your service-oriented apps
Ruby and Rails, as secret weapon to build your service-oriented appsFelipe Talavera
2.8K views55 slides
GT Logiciel Libre - Convention Systematic 2011 by
GT Logiciel Libre - Convention Systematic 2011GT Logiciel Libre - Convention Systematic 2011
GT Logiciel Libre - Convention Systematic 2011Stefane Fermigier
834 views46 slides
DevOps Introduction @Cegeka by
DevOps Introduction @CegekaDevOps Introduction @Cegeka
DevOps Introduction @Cegekadieterdm
2.8K views63 slides
Managing Projects on a Mac by
Managing Projects on a MacManaging Projects on a Mac
Managing Projects on a MacProjectWizards
1K views39 slides
Devops workshop unit2 by
Devops workshop unit2Devops workshop unit2
Devops workshop unit2John Willis
1.4K views46 slides
Intro - Geomob May 2011 by
Intro - Geomob May 2011 Intro - Geomob May 2011
Intro - Geomob May 2011 GeomobLDN
325 views10 slides

Similar to The Hitchhiker's guide to mobile development(20)

Ruby and Rails, as secret weapon to build your service-oriented apps by Felipe Talavera
Ruby and Rails,  as secret weapon to build your service-oriented appsRuby and Rails,  as secret weapon to build your service-oriented apps
Ruby and Rails, as secret weapon to build your service-oriented apps
Felipe Talavera2.8K views
GT Logiciel Libre - Convention Systematic 2011 by Stefane Fermigier
GT Logiciel Libre - Convention Systematic 2011GT Logiciel Libre - Convention Systematic 2011
GT Logiciel Libre - Convention Systematic 2011
Stefane Fermigier834 views
DevOps Introduction @Cegeka by dieterdm
DevOps Introduction @CegekaDevOps Introduction @Cegeka
DevOps Introduction @Cegeka
dieterdm2.8K views
Devops workshop unit2 by John Willis
Devops workshop unit2Devops workshop unit2
Devops workshop unit2
John Willis1.4K views
Intro - Geomob May 2011 by GeomobLDN
Intro - Geomob May 2011 Intro - Geomob May 2011
Intro - Geomob May 2011
GeomobLDN325 views
Desenvolvimento Indolor com JQuery Mobile by Bruno Oliveira
Desenvolvimento Indolor com JQuery MobileDesenvolvimento Indolor com JQuery Mobile
Desenvolvimento Indolor com JQuery Mobile
Bruno Oliveira1.1K views
2011 The Year of Web apps by JungHyuk Kwon
2011 The Year of Web apps2011 The Year of Web apps
2011 The Year of Web apps
JungHyuk Kwon811 views
Introducing Cloud9 at DynCon 2011 by Sergi Mansilla
Introducing Cloud9 at DynCon 2011Introducing Cloud9 at DynCon 2011
Introducing Cloud9 at DynCon 2011
Sergi Mansilla1.2K views
Aloha Editor DevCon 2011 Vienna keynote by Haymo Meran
Aloha Editor DevCon 2011 Vienna keynote Aloha Editor DevCon 2011 Vienna keynote
Aloha Editor DevCon 2011 Vienna keynote
Haymo Meran515 views
Spectrum of IT BPO Services in the Philippines by Exist
Spectrum of IT BPO Services in the PhilippinesSpectrum of IT BPO Services in the Philippines
Spectrum of IT BPO Services in the Philippines
Exist997 views
Zanox zxexperday presentation by Vincent Everts
Zanox zxexperday presentationZanox zxexperday presentation
Zanox zxexperday presentation
Vincent Everts827 views
HTML5 and jQuery for Flex Developers by Ryan Stewart
HTML5 and jQuery for Flex DevelopersHTML5 and jQuery for Flex Developers
HTML5 and jQuery for Flex Developers
Ryan Stewart3.1K views
Createanduse by eudoxa
CreateanduseCreateanduse
Createanduse
eudoxa3K views
Can Metadata Keep Libraries Relevant? by Richard Wallis
Can Metadata Keep Libraries Relevant?Can Metadata Keep Libraries Relevant?
Can Metadata Keep Libraries Relevant?
Richard Wallis1.1K views
Developing a Progressive Mobile Strategy (Key Comm Version) by Dave Olsen
Developing a Progressive Mobile Strategy (Key Comm Version)Developing a Progressive Mobile Strategy (Key Comm Version)
Developing a Progressive Mobile Strategy (Key Comm Version)
Dave Olsen1.3K views
Just Ship: Managing to Stay Out of the Way by Ken Little
Just Ship: Managing to Stay Out of the WayJust Ship: Managing to Stay Out of the Way
Just Ship: Managing to Stay Out of the Way
Ken Little1.6K views
Mobile apps using drupal as base system SumitK DrupalCon Chicago by Sumit Kataria
Mobile apps using drupal as base system   SumitK DrupalCon ChicagoMobile apps using drupal as base system   SumitK DrupalCon Chicago
Mobile apps using drupal as base system SumitK DrupalCon Chicago
Sumit Kataria1.5K views
Project Management and the iPad by ProjectWizards
Project Management and the iPadProject Management and the iPad
Project Management and the iPad
ProjectWizards1.5K views

More from Nikolai Onken

Running a cloud-based developer platform by
Running a cloud-based developer platformRunning a cloud-based developer platform
Running a cloud-based developer platformNikolai Onken
810 views49 slides
The Art Of Practicing - WebSummit 2014 by
The Art Of Practicing - WebSummit 2014The Art Of Practicing - WebSummit 2014
The Art Of Practicing - WebSummit 2014Nikolai Onken
10.8K views28 slides
Embedjs by
EmbedjsEmbedjs
EmbedjsNikolai Onken
2K views77 slides
Human APIs by
Human APIsHuman APIs
Human APIsNikolai Onken
726 views87 slides
Html5 Development by
Html5 DevelopmentHtml5 Development
Html5 DevelopmentNikolai Onken
740 views193 slides
Html5 Apps by
Html5 AppsHtml5 Apps
Html5 AppsNikolai Onken
1.2K views177 slides

More from Nikolai Onken(17)

Running a cloud-based developer platform by Nikolai Onken
Running a cloud-based developer platformRunning a cloud-based developer platform
Running a cloud-based developer platform
Nikolai Onken810 views
The Art Of Practicing - WebSummit 2014 by Nikolai Onken
The Art Of Practicing - WebSummit 2014The Art Of Practicing - WebSummit 2014
The Art Of Practicing - WebSummit 2014
Nikolai Onken10.8K views
Human APIs - expanding the mobile web or are robots coming to JavaScript? by Nikolai Onken
Human APIs - expanding the mobile web or are robots coming to JavaScript? Human APIs - expanding the mobile web or are robots coming to JavaScript?
Human APIs - expanding the mobile web or are robots coming to JavaScript?
Nikolai Onken886 views
Human APIs, the future of mobile by Nikolai Onken
Human APIs, the future of mobileHuman APIs, the future of mobile
Human APIs, the future of mobile
Nikolai Onken1.3K views
Mobile JavaScript Development - QCon 2010 by Nikolai Onken
Mobile JavaScript Development - QCon 2010Mobile JavaScript Development - QCon 2010
Mobile JavaScript Development - QCon 2010
Nikolai Onken868 views
Mobile cross platform development with Dojo by Nikolai Onken
Mobile cross platform development with DojoMobile cross platform development with Dojo
Mobile cross platform development with Dojo
Nikolai Onken1.1K views
Dojo, from scratch to result by Nikolai Onken
Dojo, from scratch to resultDojo, from scratch to result
Dojo, from scratch to result
Nikolai Onken4.3K views
EventNinja, Dojo and mobile by Nikolai Onken
EventNinja, Dojo and mobileEventNinja, Dojo and mobile
EventNinja, Dojo and mobile
Nikolai Onken923 views
RIA/UI development with Dojo by Nikolai Onken
RIA/UI development with DojoRIA/UI development with Dojo
RIA/UI development with Dojo
Nikolai Onken801 views

Recently uploaded

The details of description: Techniques, tips, and tangents on alternative tex... by
The details of description: Techniques, tips, and tangents on alternative tex...The details of description: Techniques, tips, and tangents on alternative tex...
The details of description: Techniques, tips, and tangents on alternative tex...BookNet Canada
126 views24 slides
Spesifikasi Lengkap ASUS Vivobook Go 14 by
Spesifikasi Lengkap ASUS Vivobook Go 14Spesifikasi Lengkap ASUS Vivobook Go 14
Spesifikasi Lengkap ASUS Vivobook Go 14Dot Semarang
37 views1 slide
Roadmap to Become Experts.pptx by
Roadmap to Become Experts.pptxRoadmap to Become Experts.pptx
Roadmap to Become Experts.pptxdscwidyatamanew
14 views45 slides
Vertical User Stories by
Vertical User StoriesVertical User Stories
Vertical User StoriesMoisés Armani Ramírez
12 views16 slides
Voice Logger - Telephony Integration Solution at Aegis by
Voice Logger - Telephony Integration Solution at AegisVoice Logger - Telephony Integration Solution at Aegis
Voice Logger - Telephony Integration Solution at AegisNirmal Sharma
31 views1 slide
6g - REPORT.pdf by
6g - REPORT.pdf6g - REPORT.pdf
6g - REPORT.pdfLiveplex
10 views23 slides

Recently uploaded(20)

The details of description: Techniques, tips, and tangents on alternative tex... by BookNet Canada
The details of description: Techniques, tips, and tangents on alternative tex...The details of description: Techniques, tips, and tangents on alternative tex...
The details of description: Techniques, tips, and tangents on alternative tex...
BookNet Canada126 views
Spesifikasi Lengkap ASUS Vivobook Go 14 by Dot Semarang
Spesifikasi Lengkap ASUS Vivobook Go 14Spesifikasi Lengkap ASUS Vivobook Go 14
Spesifikasi Lengkap ASUS Vivobook Go 14
Dot Semarang37 views
Voice Logger - Telephony Integration Solution at Aegis by Nirmal Sharma
Voice Logger - Telephony Integration Solution at AegisVoice Logger - Telephony Integration Solution at Aegis
Voice Logger - Telephony Integration Solution at Aegis
Nirmal Sharma31 views
6g - REPORT.pdf by Liveplex
6g - REPORT.pdf6g - REPORT.pdf
6g - REPORT.pdf
Liveplex10 views
Piloting & Scaling Successfully With Microsoft Viva by Richard Harbridge
Piloting & Scaling Successfully With Microsoft VivaPiloting & Scaling Successfully With Microsoft Viva
Piloting & Scaling Successfully With Microsoft Viva
AMAZON PRODUCT RESEARCH.pdf by JerikkLaureta
AMAZON PRODUCT RESEARCH.pdfAMAZON PRODUCT RESEARCH.pdf
AMAZON PRODUCT RESEARCH.pdf
JerikkLaureta19 views
Special_edition_innovator_2023.pdf by WillDavies22
Special_edition_innovator_2023.pdfSpecial_edition_innovator_2023.pdf
Special_edition_innovator_2023.pdf
WillDavies2217 views
Empathic Computing: Delivering the Potential of the Metaverse by Mark Billinghurst
Empathic Computing: Delivering  the Potential of the MetaverseEmpathic Computing: Delivering  the Potential of the Metaverse
Empathic Computing: Delivering the Potential of the Metaverse
Mark Billinghurst476 views
SAP Automation Using Bar Code and FIORI.pdf by Virendra Rai, PMP
SAP Automation Using Bar Code and FIORI.pdfSAP Automation Using Bar Code and FIORI.pdf
SAP Automation Using Bar Code and FIORI.pdf
PharoJS - Zürich Smalltalk Group Meetup November 2023 by Noury Bouraqadi
PharoJS - Zürich Smalltalk Group Meetup November 2023PharoJS - Zürich Smalltalk Group Meetup November 2023
PharoJS - Zürich Smalltalk Group Meetup November 2023
Noury Bouraqadi126 views
Igniting Next Level Productivity with AI-Infused Data Integration Workflows by Safe Software
Igniting Next Level Productivity with AI-Infused Data Integration Workflows Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Safe Software257 views
Lilypad @ Labweek, Istanbul, 2023.pdf by Ally339821
Lilypad @ Labweek, Istanbul, 2023.pdfLilypad @ Labweek, Istanbul, 2023.pdf
Lilypad @ Labweek, Istanbul, 2023.pdf
Ally3398219 views
Five Things You SHOULD Know About Postman by Postman
Five Things You SHOULD Know About PostmanFive Things You SHOULD Know About Postman
Five Things You SHOULD Know About Postman
Postman30 views
TouchLog: Finger Micro Gesture Recognition Using Photo-Reflective Sensors by sugiuralab
TouchLog: Finger Micro Gesture Recognition  Using Photo-Reflective SensorsTouchLog: Finger Micro Gesture Recognition  Using Photo-Reflective Sensors
TouchLog: Finger Micro Gesture Recognition Using Photo-Reflective Sensors
sugiuralab19 views

The Hitchhiker's guide to mobile development