SlideShare a Scribd company logo
1 of 37
Download to read offline
Mobile Web Is Here



Tuesday, September 18, 12
Agenda

                  The Mobile Eco System

                  Challenges for Mobile Developers

                  Mobile Web To The Rescue

                  Online Resources




Tuesday, September 18, 12
The Mobile Eco System




Tuesday, September 18, 12
The Mobile Eco System
                                   Almost
                                    Dead


                 Almost
                            Dead   Dead
                  Dead




Tuesday, September 18, 12
How We Got Here
                  1990, started using 2G
                  systems

                  1992, First SMS

                  1998, First ringtone
                  sale

                  1999, First mobile
                  internet in Japan



Tuesday, September 18, 12
How We Got Here
                  2G was good for talk,
                  not good enough for
                  data

                  2001, First 3G network
                  in Japan

                  2007, 295 Mil
                  subscribers on 3G
                  networks worldwide


Tuesday, September 18, 12
Modern Mobile Device
                  3G or 3.5G capable

                  Internet Connectivity

                  Voice and Video calls

                  No longer used “just
                  for talking”

                  Supports Apps



Tuesday, September 18, 12
Major Players

                  Apple

                  Google

                  Nokia

                  Microsoft




Tuesday, September 18, 12
Apple
                  2007, first iPhone
                  device

                  iPhone Power

                        Focus on Design

                        Use Capacitive
                        Touchscreen

                        AppStore Built In


Tuesday, September 18, 12
Tuesday, September 18, 12
Google

                  2005 Google Buys
                  Android Inc

                  2007 Announcing
                  Android Platform

                  2008 HTC Dream (first
                  Android Device)




Tuesday, September 18, 12
Nokia

                  The Oldest player in
                  the game.

                  World’s largest phone
                  manufacturer.

                  Owner of the Symbian
                  OS.




Tuesday, September 18, 12
Microsoft
                  Known best for its
                  desktop applications.

                  Its mobile version
                  Windows Mobile was
                  never a success.

                  Its newest product
                  WinPhone7 looks
                  promising.


Tuesday, September 18, 12
Which One Should You
                  Choose ?
                  iPhone apps are written in Objective C.

                  Android apps are written in Java.

                  Symbian apps are written in C++.

                  Blackberry apps are written in Java (but not the
                  same Java as Android).

                  WinPhone apps are written in .NET



Tuesday, September 18, 12
ALL OF THEM
Tuesday, September 18, 12
Mobile HTML/CSS/JS

                  Web technology is the one thing all devices have
                  in common




Tuesday, September 18, 12
Mobile HTML/CSS/JS

                  Using HTML, CSS and JavaScript, we can write
                  applications that will run on any device.




Tuesday, September 18, 12
Mobile HTML/CSS/JS


                  These apps can run online or offline using HTML5
                  offline capabilities




Tuesday, September 18, 12
Mobile HTML/CSS/JS


                  Web apps can integrate
                  special device capabilities to
                  create Hybrid Applications




                                                   Music Waste Festival App

Tuesday, September 18, 12
Web Vs. Native
                              Write once, test     Write everywhere,
                     Coding
                              everywhere           Test everywhere


                              Use limited device   Use full device
                       Caps
                              capabilities         capabilities


                           Build your own UI       Use device UI
               Look & Feel
                           components              components



Tuesday, September 18, 12
Mobile HTML/CSS/JS

                  The App is a single html file, with many stylesheets
                  and script files.

                  Modular and OO JavaScript is used, to keep
                  “state”




Tuesday, September 18, 12
Mobile Web Challenges


                  Develop & Test on many platforms

                  Adjust UI to various screen sizes

                  Handle mobile UX




Tuesday, September 18, 12
MOBILE APP USER EXPERIENCE
Tuesday, September 18, 12
Mobile UX

                  App is used in short bursts - waiting for the bus or
                  subway

                  App is used while watching TV

                  App is interrupted by incoming call or SMS




Tuesday, September 18, 12
The Tools
             Code Less, Do More




Tuesday, September 18, 12
Writing Apps
                  Same source editor as the web

                  Can use:

                        Komodo Edit

                        Dashcode

                        MacVim/gvim/vim

                        Aptana Studio


Tuesday, September 18, 12
Writing Apps
                  But you should really just use Webstorm




Tuesday, September 18, 12
Debugging Apps -
                  Desktop

                  Use Safari/Chrome inspector tools to debug

                  Use Ripple to test your hybrid app from chrome

                  Use iPhone/Android Emulator

                  Use BrowserStack




Tuesday, September 18, 12
Debugging Apps -
                  Device


                  Use weinre For on device inspection




Tuesday, September 18, 12
Deploying Apps

                  For online apps, every web server will do.

                  For offline apps, consider PhoneGap

                  Before deployment, use a build script to minimize
                  js/css files




Tuesday, September 18, 12
Tips: Performance


                  jQuery is not your friend (consider jqmobi)

                  Test on a real device throughout development

                  Think about network traffic




Tuesday, September 18, 12
HTML5 Boilerplate

                  A ready made starter for html5 mobile apps

                  Cross-platform compatible (Android, iOS,
                  Blackberry, Symbian)

                  Supports all devices and overcomes many glitches

                  http://html5boilerplate.com/mobile/




Tuesday, September 18, 12
Mobile Frameworks


                  JQuery Mobile

                  Sencha Touch

                  jqMobi




Tuesday, September 18, 12
jQuery Mobile

                  Most hyped mobile framework today, and the one
                  we’ll use in the course.

                  Built on top of jQuery

                  Themed UI Widgets




Tuesday, September 18, 12
Sencha Touch


                  Stable and mature mobile framework

                  Works best on iPhone & Android

                  Commercial framework (currently free)




Tuesday, September 18, 12
Q&A



Tuesday, September 18, 12
Thanks For Listening


                  Ynon Perek

                  ynonperek@yahoo.com

                  ynonperek.com




Tuesday, September 18, 12

More Related Content

Similar to 01 Mobile Web Introduction

06 HTML5 Mobile
06 HTML5 Mobile06 HTML5 Mobile
06 HTML5 MobileYnon Perek
 
Responsive Web Design & Workflow
Responsive Web Design & WorkflowResponsive Web Design & Workflow
Responsive Web Design & Workflowhouhr
 
Mobile Web App Development
Mobile Web App DevelopmentMobile Web App Development
Mobile Web App DevelopmentBrian LeRoux
 
Mobile Development with Icenium
Mobile Development with IceniumMobile Development with Icenium
Mobile Development with IceniumBill Condo
 
Hyves: Mobile app development with HTML5 and Javascript
Hyves: Mobile app development with HTML5 and JavascriptHyves: Mobile app development with HTML5 and Javascript
Hyves: Mobile app development with HTML5 and Javascriptnlwebperf
 
Creating Android Apps with PhoneGap
Creating Android Apps with PhoneGapCreating Android Apps with PhoneGap
Creating Android Apps with PhoneGapDean Peters
 
Cross Platform Mobile Development with Xamarin
Cross Platform Mobile Development with XamarinCross Platform Mobile Development with Xamarin
Cross Platform Mobile Development with XamarinJoe Koletar
 
Mobile Accessibility Best Practices & Trends
Mobile Accessibility Best Practices & TrendsMobile Accessibility Best Practices & Trends
Mobile Accessibility Best Practices & TrendsAidan Tierney
 
Apple iPad Publishing Best Practices | Jim Nasr | Armedia
Apple iPad Publishing Best Practices | Jim Nasr | ArmediaApple iPad Publishing Best Practices | Jim Nasr | Armedia
Apple iPad Publishing Best Practices | Jim Nasr | ArmediaArmedia LLC
 
iOS vs android .pptx
iOS  vs android .pptxiOS  vs android .pptx
iOS vs android .pptxabid masood
 
android technology
android technology android technology
android technology Sai Kumar
 

Similar to 01 Mobile Web Introduction (20)

Mobile & Me
Mobile & MeMobile & Me
Mobile & Me
 
07 PhoneGap
07 PhoneGap07 PhoneGap
07 PhoneGap
 
06 HTML5 Mobile
06 HTML5 Mobile06 HTML5 Mobile
06 HTML5 Mobile
 
Android Stsucture
Android StsuctureAndroid Stsucture
Android Stsucture
 
Responsive Web Design & Workflow
Responsive Web Design & WorkflowResponsive Web Design & Workflow
Responsive Web Design & Workflow
 
Mobile Web App Development
Mobile Web App DevelopmentMobile Web App Development
Mobile Web App Development
 
The World Served on a Tablet
The World Served on a TabletThe World Served on a Tablet
The World Served on a Tablet
 
Mobile Development with Icenium
Mobile Development with IceniumMobile Development with Icenium
Mobile Development with Icenium
 
Zembly theaquarium-phpapp01
Zembly theaquarium-phpapp01Zembly theaquarium-phpapp01
Zembly theaquarium-phpapp01
 
Hyves: Mobile app development with HTML5 and Javascript
Hyves: Mobile app development with HTML5 and JavascriptHyves: Mobile app development with HTML5 and Javascript
Hyves: Mobile app development with HTML5 and Javascript
 
Build Killer Mobile Apps with Skuid
Build Killer Mobile Apps with SkuidBuild Killer Mobile Apps with Skuid
Build Killer Mobile Apps with Skuid
 
Creating Android Apps with PhoneGap
Creating Android Apps with PhoneGapCreating Android Apps with PhoneGap
Creating Android Apps with PhoneGap
 
Phone gap
Phone gapPhone gap
Phone gap
 
Ubiquitous Computing
Ubiquitous ComputingUbiquitous Computing
Ubiquitous Computing
 
Cross Platform Mobile Development with Xamarin
Cross Platform Mobile Development with XamarinCross Platform Mobile Development with Xamarin
Cross Platform Mobile Development with Xamarin
 
Mobile Accessibility Best Practices & Trends
Mobile Accessibility Best Practices & TrendsMobile Accessibility Best Practices & Trends
Mobile Accessibility Best Practices & Trends
 
Adobe: Changing the game
Adobe: Changing the gameAdobe: Changing the game
Adobe: Changing the game
 
Apple iPad Publishing Best Practices | Jim Nasr | Armedia
Apple iPad Publishing Best Practices | Jim Nasr | ArmediaApple iPad Publishing Best Practices | Jim Nasr | Armedia
Apple iPad Publishing Best Practices | Jim Nasr | Armedia
 
iOS vs android .pptx
iOS  vs android .pptxiOS  vs android .pptx
iOS vs android .pptx
 
android technology
android technology android technology
android technology
 

More from Ynon Perek

09 performance
09 performance09 performance
09 performanceYnon Perek
 
Mobile Web Intro
Mobile Web IntroMobile Web Intro
Mobile Web IntroYnon Perek
 
Qt multi threads
Qt multi threadsQt multi threads
Qt multi threadsYnon Perek
 
Mobile Devices
Mobile DevicesMobile Devices
Mobile DevicesYnon Perek
 
Architecture app
Architecture appArchitecture app
Architecture appYnon Perek
 
Unit Testing JavaScript Applications
Unit Testing JavaScript ApplicationsUnit Testing JavaScript Applications
Unit Testing JavaScript ApplicationsYnon Perek
 
How to write easy-to-test JavaScript
How to write easy-to-test JavaScriptHow to write easy-to-test JavaScript
How to write easy-to-test JavaScriptYnon Perek
 
Introduction to Selenium and Ruby
Introduction to Selenium and RubyIntroduction to Selenium and Ruby
Introduction to Selenium and RubyYnon Perek
 
Introduction To Web Application Testing
Introduction To Web Application TestingIntroduction To Web Application Testing
Introduction To Web Application TestingYnon Perek
 
Qt Design Patterns
Qt Design PatternsQt Design Patterns
Qt Design PatternsYnon Perek
 
Web Application Security
Web Application SecurityWeb Application Security
Web Application SecurityYnon Perek
 

More from Ynon Perek (20)

Regexp
RegexpRegexp
Regexp
 
Html5 intro
Html5 introHtml5 intro
Html5 intro
 
09 performance
09 performance09 performance
09 performance
 
Mobile Web Intro
Mobile Web IntroMobile Web Intro
Mobile Web Intro
 
Qt multi threads
Qt multi threadsQt multi threads
Qt multi threads
 
Vimperl
VimperlVimperl
Vimperl
 
Syllabus
SyllabusSyllabus
Syllabus
 
Mobile Devices
Mobile DevicesMobile Devices
Mobile Devices
 
Network
NetworkNetwork
Network
 
Architecture app
Architecture appArchitecture app
Architecture app
 
Cryptography
CryptographyCryptography
Cryptography
 
Unit Testing JavaScript Applications
Unit Testing JavaScript ApplicationsUnit Testing JavaScript Applications
Unit Testing JavaScript Applications
 
How to write easy-to-test JavaScript
How to write easy-to-test JavaScriptHow to write easy-to-test JavaScript
How to write easy-to-test JavaScript
 
Introduction to Selenium and Ruby
Introduction to Selenium and RubyIntroduction to Selenium and Ruby
Introduction to Selenium and Ruby
 
Introduction To Web Application Testing
Introduction To Web Application TestingIntroduction To Web Application Testing
Introduction To Web Application Testing
 
Accessibility
AccessibilityAccessibility
Accessibility
 
Angularjs
AngularjsAngularjs
Angularjs
 
Js memory
Js memoryJs memory
Js memory
 
Qt Design Patterns
Qt Design PatternsQt Design Patterns
Qt Design Patterns
 
Web Application Security
Web Application SecurityWeb Application Security
Web Application Security
 

Recently uploaded

Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 

Recently uploaded (20)

Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 

01 Mobile Web Introduction

  • 1. Mobile Web Is Here Tuesday, September 18, 12
  • 2. Agenda The Mobile Eco System Challenges for Mobile Developers Mobile Web To The Rescue Online Resources Tuesday, September 18, 12
  • 3. The Mobile Eco System Tuesday, September 18, 12
  • 4. The Mobile Eco System Almost Dead Almost Dead Dead Dead Tuesday, September 18, 12
  • 5. How We Got Here 1990, started using 2G systems 1992, First SMS 1998, First ringtone sale 1999, First mobile internet in Japan Tuesday, September 18, 12
  • 6. How We Got Here 2G was good for talk, not good enough for data 2001, First 3G network in Japan 2007, 295 Mil subscribers on 3G networks worldwide Tuesday, September 18, 12
  • 7. Modern Mobile Device 3G or 3.5G capable Internet Connectivity Voice and Video calls No longer used “just for talking” Supports Apps Tuesday, September 18, 12
  • 8. Major Players Apple Google Nokia Microsoft Tuesday, September 18, 12
  • 9. Apple 2007, first iPhone device iPhone Power Focus on Design Use Capacitive Touchscreen AppStore Built In Tuesday, September 18, 12
  • 11. Google 2005 Google Buys Android Inc 2007 Announcing Android Platform 2008 HTC Dream (first Android Device) Tuesday, September 18, 12
  • 12. Nokia The Oldest player in the game. World’s largest phone manufacturer. Owner of the Symbian OS. Tuesday, September 18, 12
  • 13. Microsoft Known best for its desktop applications. Its mobile version Windows Mobile was never a success. Its newest product WinPhone7 looks promising. Tuesday, September 18, 12
  • 14. Which One Should You Choose ? iPhone apps are written in Objective C. Android apps are written in Java. Symbian apps are written in C++. Blackberry apps are written in Java (but not the same Java as Android). WinPhone apps are written in .NET Tuesday, September 18, 12
  • 15. ALL OF THEM Tuesday, September 18, 12
  • 16. Mobile HTML/CSS/JS Web technology is the one thing all devices have in common Tuesday, September 18, 12
  • 17. Mobile HTML/CSS/JS Using HTML, CSS and JavaScript, we can write applications that will run on any device. Tuesday, September 18, 12
  • 18. Mobile HTML/CSS/JS These apps can run online or offline using HTML5 offline capabilities Tuesday, September 18, 12
  • 19. Mobile HTML/CSS/JS Web apps can integrate special device capabilities to create Hybrid Applications Music Waste Festival App Tuesday, September 18, 12
  • 20. Web Vs. Native Write once, test Write everywhere, Coding everywhere Test everywhere Use limited device Use full device Caps capabilities capabilities Build your own UI Use device UI Look & Feel components components Tuesday, September 18, 12
  • 21. Mobile HTML/CSS/JS The App is a single html file, with many stylesheets and script files. Modular and OO JavaScript is used, to keep “state” Tuesday, September 18, 12
  • 22. Mobile Web Challenges Develop & Test on many platforms Adjust UI to various screen sizes Handle mobile UX Tuesday, September 18, 12
  • 23. MOBILE APP USER EXPERIENCE Tuesday, September 18, 12
  • 24. Mobile UX App is used in short bursts - waiting for the bus or subway App is used while watching TV App is interrupted by incoming call or SMS Tuesday, September 18, 12
  • 25. The Tools Code Less, Do More Tuesday, September 18, 12
  • 26. Writing Apps Same source editor as the web Can use: Komodo Edit Dashcode MacVim/gvim/vim Aptana Studio Tuesday, September 18, 12
  • 27. Writing Apps But you should really just use Webstorm Tuesday, September 18, 12
  • 28. Debugging Apps - Desktop Use Safari/Chrome inspector tools to debug Use Ripple to test your hybrid app from chrome Use iPhone/Android Emulator Use BrowserStack Tuesday, September 18, 12
  • 29. Debugging Apps - Device Use weinre For on device inspection Tuesday, September 18, 12
  • 30. Deploying Apps For online apps, every web server will do. For offline apps, consider PhoneGap Before deployment, use a build script to minimize js/css files Tuesday, September 18, 12
  • 31. Tips: Performance jQuery is not your friend (consider jqmobi) Test on a real device throughout development Think about network traffic Tuesday, September 18, 12
  • 32. HTML5 Boilerplate A ready made starter for html5 mobile apps Cross-platform compatible (Android, iOS, Blackberry, Symbian) Supports all devices and overcomes many glitches http://html5boilerplate.com/mobile/ Tuesday, September 18, 12
  • 33. Mobile Frameworks JQuery Mobile Sencha Touch jqMobi Tuesday, September 18, 12
  • 34. jQuery Mobile Most hyped mobile framework today, and the one we’ll use in the course. Built on top of jQuery Themed UI Widgets Tuesday, September 18, 12
  • 35. Sencha Touch Stable and mature mobile framework Works best on iPhone & Android Commercial framework (currently free) Tuesday, September 18, 12
  • 37. Thanks For Listening Ynon Perek ynonperek@yahoo.com ynonperek.com Tuesday, September 18, 12