SlideShare a Scribd company logo
1 of 42
EventNinja
                          Dojo and Mobile
                   Building mobile applications with the Dojo Toolkit




Nikolai Onken - @uxebu, @nonken
What are we going to do next?




             • Mobile and Dojo? Where do we stand?
             • Lets dive in - EventNinja
             • Questions?


Nikolai Onken - @uxebu, @nonken
What are we going to do next?




             • Mobile and Dojo? Where do we stand?
             • Lets dive in - EventNinja
             • Questions?


Nikolai Onken - @uxebu, @nonken
Are we ready yet?



                                       YES :)
                                       NO =/




Nikolai Onken - @uxebu, @nonken
Why choose Dojo?



                                  performance benchmarks
                                        (even though they don’t count)




               http://blog.stefankolb.de/2009/05/13/javascript-
                     frameworks-within-mobile-widgets/




Nikolai Onken - @uxebu, @nonken
Very flexible build system:
                                     e.g. webkit mobile
             http://alex.dojotoolkit.org/2009/01/webkit-mobile/




Nikolai Onken - @uxebu, @nonken
Custom build




Nikolai Onken - @uxebu, @nonken
Custom build




Nikolai Onken - @uxebu, @nonken
What are we going to do next?




             • Dojo introduction
             • Mobile and Dojo? Where do we stand?
             • Lets dive in - EventNinja


Nikolai Onken - @uxebu, @nonken
EventNinja




Nikolai Onken - @uxebu, @nonken
The idea


             • upcoming, eventbrite, ...
             • finding all web dev events on one page?
             • YES: HTML, CSS, JS
             • NO: Objective C, Java, other proprietary stuff
             • AND: we are lazy ... fastest way from idea to
                  result? mobile devices and normal websites???



Nikolai Onken - @uxebu, @nonken
Nikolai Onken - @uxebu, @nonken
Use the cloud when possible




Nikolai Onken - @uxebu, @nonken
for your DATA




Nikolai Onken - @uxebu, @nonken
Nikolai Onken - @uxebu, @nonken
Nikolai Onken - @uxebu, @nonken
Nikolai Onken - @uxebu, @nonken
Use the cloud - again




Nikolai Onken - @uxebu, @nonken
for your JS/CSS/Images (CDN)

       Be careful though - mobile apps need custom builds for deploy




Nikolai Onken - @uxebu, @nonken
What could be a good architecture?

             • Something similar to the MVC pattern
             • Tiny base (especially for mobile)
             • Extra functionality through plugins
             • Styling via CSS
             • Platform specific design via templates (DTL)
                                          =

                                  Multiple Platforms

Nikolai Onken - @uxebu, @nonken
Nikolai Onken - @uxebu, @nonken
See it in action




Nikolai Onken - @uxebu, @nonken
The source




Nikolai Onken - @uxebu, @nonken
Templating




Nikolai Onken - @uxebu, @nonken
Templating - source




Nikolai Onken - @uxebu, @nonken
Plugins




Nikolai Onken - @uxebu, @nonken
Plugin - Structure




Nikolai Onken - @uxebu, @nonken
Mobile Version, the goal


             • W3C Widgets
             • Nokia S60 (W3C)
             • Palm Pre (NEW)
             • iPhone (Phonegap)
             • Android (Phonegap)
             • Blackberry (Phonegap)

Nikolai Onken - @uxebu, @nonken
See it in action - more details




Nikolai Onken - @uxebu, @nonken
Mobile development tips




Nikolai Onken - @uxebu, @nonken
Build platform/device specific




             • CSS Transitions (Webkit)
             • Device API support (geolocation, etc.)
             • Custom builds (Deliver in chunks, small initial
                  hit)




Nikolai Onken - @uxebu, @nonken
An example: iPhone




Nikolai Onken - @uxebu, @nonken
Extending objects / CSS transitions




Nikolai Onken - @uxebu, @nonken
Device API support




                                    OUPS, not there yet :(




Nikolai Onken - @uxebu, @nonken
Custom builds




Nikolai Onken - @uxebu, @nonken
Automate

         Set up deployment processes for all platforms you
         want to support (sh is your friend)




Nikolai Onken - @uxebu, @nonken
How do I test?



         • Debugging tools on mobile devices suck (most)
          • http://www.opera.com/dragonfly
         • Uhh, the screen is so tiny (firebug lite?)
         • phone specific deploy process takes ages (e.g.
               iPhone)




Nikolai Onken - @uxebu, @nonken
Some tips

         • Always test your app before you build the JS
         • Always test the built JS in a normal browser
         • e.g. iPhone: test in Webkit
         • e.g. iPhone, test on the iPhone browser before you
               compile your native app

         • e.g. S60: test in Opera
         • Always do this
         • Really!
Nikolai Onken - @uxebu, @nonken
Simulators are not devices,
                             unfortunately



                                  Do you have a phone for me?
                                   ....Start collecting phones,
                 optimize for the lowest common denominator




Nikolai Onken - @uxebu, @nonken
And once you have found the solution




                                  Share your knowledge




Nikolai Onken - @uxebu, @nonken
Questions?




Nikolai Onken - @uxebu, @nonken
thx

                                  http://blog.uxebu.com
                                      Nikolai Onken, uxebu
                                       nikolai@uxebu.com

                                       @uxebu, @nonken


Nikolai Onken - @uxebu, @nonken

More Related Content

More from Nikolai Onken

More from Nikolai Onken (11)

Running a cloud-based developer platform
Running a cloud-based developer platformRunning a cloud-based developer platform
Running a cloud-based developer platform
 
The Art Of Practicing - WebSummit 2014
The Art Of Practicing - WebSummit 2014The Art Of Practicing - WebSummit 2014
The Art Of Practicing - WebSummit 2014
 
Embedjs
EmbedjsEmbedjs
Embedjs
 
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?
Human APIs - expanding the mobile web or are robots coming to JavaScript?
 
Robotic JavaScript
Robotic JavaScriptRobotic JavaScript
Robotic JavaScript
 
Mobile Cross Platform
Mobile Cross PlatformMobile Cross Platform
Mobile Cross Platform
 
Human APIs, the future of mobile
Human APIs, the future of mobileHuman APIs, the future of mobile
Human APIs, the future of mobile
 
Mobile JavaScript Development - QCon 2010
Mobile JavaScript Development - QCon 2010Mobile JavaScript Development - QCon 2010
Mobile JavaScript Development - QCon 2010
 
Dojo, from scratch to result
Dojo, from scratch to resultDojo, from scratch to result
Dojo, from scratch to result
 
Dojo and Adobe AIR
Dojo and Adobe AIRDojo and Adobe AIR
Dojo and Adobe AIR
 
RIA/UI development with Dojo
RIA/UI development with DojoRIA/UI development with Dojo
RIA/UI development with Dojo
 

Recently uploaded

Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider  Progress from Awareness to Implementation.pptxTales from a Passkey Provider  Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
FIDO Alliance
 
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
panagenda
 
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptxHarnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
FIDO Alliance
 

Recently uploaded (20)

Working together SRE & Platform Engineering
Working together SRE & Platform EngineeringWorking together SRE & Platform Engineering
Working together SRE & Platform Engineering
 
WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024
 
AI mind or machine power point presentation
AI mind or machine power point presentationAI mind or machine power point presentation
AI mind or machine power point presentation
 
Design and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data ScienceDesign and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data Science
 
Portal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russePortal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russe
 
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
 
ERP Contender Series: Acumatica vs. Sage Intacct
ERP Contender Series: Acumatica vs. Sage IntacctERP Contender Series: Acumatica vs. Sage Intacct
ERP Contender Series: Acumatica vs. Sage Intacct
 
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider  Progress from Awareness to Implementation.pptxTales from a Passkey Provider  Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
 
How we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdfHow we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdf
 
Intro to Passkeys and the State of Passwordless.pptx
Intro to Passkeys and the State of Passwordless.pptxIntro to Passkeys and the State of Passwordless.pptx
Intro to Passkeys and the State of Passwordless.pptx
 
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
 
Oauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoftOauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoft
 
The Metaverse: Are We There Yet?
The  Metaverse:    Are   We  There  Yet?The  Metaverse:    Are   We  There  Yet?
The Metaverse: Are We There Yet?
 
Syngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdfSyngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdf
 
Event-Driven Architecture Masterclass: Challenges in Stream Processing
Event-Driven Architecture Masterclass: Challenges in Stream ProcessingEvent-Driven Architecture Masterclass: Challenges in Stream Processing
Event-Driven Architecture Masterclass: Challenges in Stream Processing
 
Using IESVE for Room Loads Analysis - UK & Ireland
Using IESVE for Room Loads Analysis - UK & IrelandUsing IESVE for Room Loads Analysis - UK & Ireland
Using IESVE for Room Loads Analysis - UK & Ireland
 
Continuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on ThanabotsContinuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
 
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
 
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptxHarnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
 
2024 May Patch Tuesday
2024 May Patch Tuesday2024 May Patch Tuesday
2024 May Patch Tuesday
 

EventNinja, Dojo and mobile

  • 1. EventNinja Dojo and Mobile Building mobile applications with the Dojo Toolkit Nikolai Onken - @uxebu, @nonken
  • 2. What are we going to do next? • Mobile and Dojo? Where do we stand? • Lets dive in - EventNinja • Questions? Nikolai Onken - @uxebu, @nonken
  • 3. What are we going to do next? • Mobile and Dojo? Where do we stand? • Lets dive in - EventNinja • Questions? Nikolai Onken - @uxebu, @nonken
  • 4. Are we ready yet? YES :) NO =/ Nikolai Onken - @uxebu, @nonken
  • 5. Why choose Dojo? performance benchmarks (even though they don’t count) http://blog.stefankolb.de/2009/05/13/javascript- frameworks-within-mobile-widgets/ Nikolai Onken - @uxebu, @nonken
  • 6. Very flexible build system: e.g. webkit mobile http://alex.dojotoolkit.org/2009/01/webkit-mobile/ Nikolai Onken - @uxebu, @nonken
  • 7. Custom build Nikolai Onken - @uxebu, @nonken
  • 8. Custom build Nikolai Onken - @uxebu, @nonken
  • 9. What are we going to do next? • Dojo introduction • Mobile and Dojo? Where do we stand? • Lets dive in - EventNinja Nikolai Onken - @uxebu, @nonken
  • 10. EventNinja Nikolai Onken - @uxebu, @nonken
  • 11. The idea • upcoming, eventbrite, ... • finding all web dev events on one page? • YES: HTML, CSS, JS • NO: Objective C, Java, other proprietary stuff • AND: we are lazy ... fastest way from idea to result? mobile devices and normal websites??? Nikolai Onken - @uxebu, @nonken
  • 12. Nikolai Onken - @uxebu, @nonken
  • 13. Use the cloud when possible Nikolai Onken - @uxebu, @nonken
  • 14. for your DATA Nikolai Onken - @uxebu, @nonken
  • 15. Nikolai Onken - @uxebu, @nonken
  • 16. Nikolai Onken - @uxebu, @nonken
  • 17. Nikolai Onken - @uxebu, @nonken
  • 18. Use the cloud - again Nikolai Onken - @uxebu, @nonken
  • 19. for your JS/CSS/Images (CDN) Be careful though - mobile apps need custom builds for deploy Nikolai Onken - @uxebu, @nonken
  • 20. What could be a good architecture? • Something similar to the MVC pattern • Tiny base (especially for mobile) • Extra functionality through plugins • Styling via CSS • Platform specific design via templates (DTL) = Multiple Platforms Nikolai Onken - @uxebu, @nonken
  • 21. Nikolai Onken - @uxebu, @nonken
  • 22. See it in action Nikolai Onken - @uxebu, @nonken
  • 23. The source Nikolai Onken - @uxebu, @nonken
  • 24. Templating Nikolai Onken - @uxebu, @nonken
  • 25. Templating - source Nikolai Onken - @uxebu, @nonken
  • 26. Plugins Nikolai Onken - @uxebu, @nonken
  • 27. Plugin - Structure Nikolai Onken - @uxebu, @nonken
  • 28. Mobile Version, the goal • W3C Widgets • Nokia S60 (W3C) • Palm Pre (NEW) • iPhone (Phonegap) • Android (Phonegap) • Blackberry (Phonegap) Nikolai Onken - @uxebu, @nonken
  • 29. See it in action - more details Nikolai Onken - @uxebu, @nonken
  • 30. Mobile development tips Nikolai Onken - @uxebu, @nonken
  • 31. Build platform/device specific • CSS Transitions (Webkit) • Device API support (geolocation, etc.) • Custom builds (Deliver in chunks, small initial hit) Nikolai Onken - @uxebu, @nonken
  • 32. An example: iPhone Nikolai Onken - @uxebu, @nonken
  • 33. Extending objects / CSS transitions Nikolai Onken - @uxebu, @nonken
  • 34. Device API support OUPS, not there yet :( Nikolai Onken - @uxebu, @nonken
  • 35. Custom builds Nikolai Onken - @uxebu, @nonken
  • 36. Automate Set up deployment processes for all platforms you want to support (sh is your friend) Nikolai Onken - @uxebu, @nonken
  • 37. How do I test? • Debugging tools on mobile devices suck (most) • http://www.opera.com/dragonfly • Uhh, the screen is so tiny (firebug lite?) • phone specific deploy process takes ages (e.g. iPhone) Nikolai Onken - @uxebu, @nonken
  • 38. Some tips • Always test your app before you build the JS • Always test the built JS in a normal browser • e.g. iPhone: test in Webkit • e.g. iPhone, test on the iPhone browser before you compile your native app • e.g. S60: test in Opera • Always do this • Really! Nikolai Onken - @uxebu, @nonken
  • 39. Simulators are not devices, unfortunately Do you have a phone for me? ....Start collecting phones, optimize for the lowest common denominator Nikolai Onken - @uxebu, @nonken
  • 40. And once you have found the solution Share your knowledge Nikolai Onken - @uxebu, @nonken
  • 41. Questions? Nikolai Onken - @uxebu, @nonken
  • 42. thx http://blog.uxebu.com Nikolai Onken, uxebu nikolai@uxebu.com @uxebu, @nonken Nikolai Onken - @uxebu, @nonken