SlideShare a Scribd company logo
1 of 130
Download to read offline
Quick & Dirty
              Mobile Web with
              jQuery Mobile
              TROY MILES - ROCKNCODER@GMAIL.COM




Saturday, November 10, 12
Sponsors




Saturday, November 10, 12
Our Agenda           3




Saturday, November 10, 12
Our Agenda                   3


                 Why Mobile Web?




Saturday, November 10, 12
Our Agenda                   3


              Why Mobile Web?
              Why jQuery Mobile?




Saturday, November 10, 12
Our Agenda                                  3


              Why Mobile Web?
              Why jQuery Mobile?
              4 Ways to Add Mobile to Your Site




Saturday, November 10, 12
Our Agenda                                  3


              Why Mobile Web?
              Why jQuery Mobile?
              4 Ways to Add Mobile to Your Site
              Detecting A Mobile Device




Saturday, November 10, 12
Our Agenda                                     3


                 Why Mobile Web?
                 Why jQuery Mobile?
                 4 Ways to Add Mobile to Your Site
                 Detecting A Mobile Device
                 Let’s Get Dirty!




Saturday, November 10, 12
Our Agenda                                     3


                 Why Mobile Web?
                 Why jQuery Mobile?
                 4 Ways to Add Mobile to Your Site
                 Detecting A Mobile Device
                 Let’s Get Dirty!
                 Next Steps




Saturday, November 10, 12
Our Agenda                                     3


                 Why Mobile Web?
                 Why jQuery Mobile?
                 4 Ways to Add Mobile to Your Site
                 Detecting A Mobile Device
                 Let’s Get Dirty!
                 Next Steps
                 Summary




Saturday, November 10, 12
Why Mobile Web?      4




Saturday, November 10, 12
Why Mobile Web?                        4


                 Mobile is Where Growth Is




Saturday, November 10, 12
Why Mobile Web?                                                4


              Mobile is Where Growth Is
              20% of Internet Users in the US & UK are Mobile Only




Saturday, November 10, 12
Why Mobile Web?                                                4


              Mobile is Where Growth Is
              20% of Internet Users in the US & UK are Mobile Only
              In Some African & Asian Markets it is Over 50%




Saturday, November 10, 12
Why Mobile Web?                                                4


              Mobile is Where Growth Is
              20% of Internet Users in the US & UK are Mobile Only
              In Some African & Asian Markets it is Over 50%
              Twitter began Showing Ads in April 2012




Saturday, November 10, 12
Why Mobile Web?                                                                 4


              Mobile is Where Growth Is
              20% of Internet Users in the US & UK are Mobile Only
              In Some African & Asian Markets it is Over 50%
              Twitter began Showing Ads in April 2012
                      Mobile is Now Responsible for more than 50% of its Ad Revenue




Saturday, November 10, 12
Why Mobile Web?                                                                    4


              Mobile is Where Growth Is
              20% of Internet Users in the US & UK are Mobile Only
              In Some African & Asian Markets it is Over 50%
              Twitter began Showing Ads in April 2012
                    Mobile is Now Responsible for more than 50% of its Ad Revenue
                    A Campaign with P.F.Chang got 1 million clicks in its First 4 Days




Saturday, November 10, 12
Why Mobile Web?                                                                    4


              Mobile is Where Growth Is
              20% of Internet Users in the US & UK are Mobile Only
              In Some African & Asian Markets it is Over 50%
              Twitter began Showing Ads in April 2012
                    Mobile is Now Responsible for more than 50% of its Ad Revenue
                    A Campaign with P.F.Chang got 1 million clicks in its First 4 Days
                    70% of Those Clicks Came From Mobile




Saturday, November 10, 12
What is jQuery Mobile?                                                          5


             A unified, HTML5-based user interface system for all popular mobile
             device platforms, built on the rock-solid jQuery and jQuery UI
             foundation. Its lightweight code is built with progressive enhancement,
             and has a flexible, easily theme-able design. 

             Requires jQuery.




Saturday, November 10, 12
Why jQuery Mobile?   6




Saturday, November 10, 12
Why jQuery Mobile?    6


                 Its Free




Saturday, November 10, 12
Why jQuery Mobile?          6


              Its Free
              Its Easy to Learn




Saturday, November 10, 12
Why jQuery Mobile?          6


              Its Free
              Its Easy to Learn
              It Extends HTML5




Saturday, November 10, 12
Why jQuery Mobile?                            6


              Its Free
              Its Easy to Learn
              It Extends HTML5
              It Supports a Wide Range of Devices




Saturday, November 10, 12
Why jQuery Mobile?                               6


                 Its Free
                 Its Easy to Learn
                 It Extends HTML5
                 It Supports a Wide Range of Devices
                 It is Not Feature Rich




Saturday, November 10, 12
Why jQuery Mobile?                               6


                 Its Free
                 Its Easy to Learn
                 It Extends HTML5
                 It Supports a Wide Range of Devices
                 It is Not Feature Rich
                 It is Not Performant




Saturday, November 10, 12
4 Ways to Add Mobile   7




Saturday, November 10, 12
4 Ways to Add Mobile                                     7


                 Have Two Separate Sites
                 Have Single Site, With Separate Controllers
                 Single Site, With Separate Views
                 Responsive Design
                 And yes, there are other ways




Saturday, November 10, 12
Have Two Separate Sites   8




Saturday, November 10, 12
Have Two Separate Sites    8


                 Easy To Start




Saturday, November 10, 12
Have Two Separate Sites                                       8


              Easy To Start
              Difficult to Share Code and Resources Between Sites




Saturday, November 10, 12
Have Two Separate Sites                                       8


              Easy To Start
              Difficult to Share Code and Resources Between Sites
              Quickly Can Become a Maintenance Monster




Saturday, November 10, 12
Have Two Separate Sites                                       8


              Easy To Start
              Difficult to Share Code and Resources Between Sites
              Quickly Can Become a Maintenance Monster
                      Two Sites to Deploy




Saturday, November 10, 12
Have Two Separate Sites                                       8


              Easy To Start
              Difficult to Share Code and Resources Between Sites
              Quickly Can Become a Maintenance Monster
                    Two Sites to Deploy
                    Two Databases to Deploy




Saturday, November 10, 12
Have Two Separate Sites                                       8


              Easy To Start
              Difficult to Share Code and Resources Between Sites
              Quickly Can Become a Maintenance Monster
                    Two Sites to Deploy
                    Two Databases to Deploy
                    Two Sites to Maintain




Saturday, November 10, 12
Have Two Separate Sites                                       8


              Easy To Start
              Difficult to Share Code and Resources Between Sites
              Quickly Can Become a Maintenance Monster
                    Two    Sites to Deploy
                    Two    Databases to Deploy
                    Two    Sites to Maintain
                    Two    Sites to Enhance




Saturday, November 10, 12
Have Single Site, With Separate   9
       Controllers




Saturday, November 10, 12
Have Single Site, With Separate                                         9
       Controllers
                 The Desktop & Mobile Sites Each Have Their Own Controllers




Saturday, November 10, 12
Have Single Site, With Separate                                      9
       Controllers
              The Desktop & Mobile Sites Each Have Their Own Controllers
              Allows for Some Sharing of Resources




Saturday, November 10, 12
Have Single Site, With Separate                                      9
       Controllers
              The Desktop & Mobile Sites Each Have Their Own Controllers
              Allows for Some Sharing of Resources
              Only One Deployment




Saturday, November 10, 12
Have Single Site, With Separate                                      9
       Controllers
              The Desktop & Mobile Sites Each Have Their Own Controllers
              Allows for Some Sharing of Resources
              Only One Deployment
              Bugs in the Controller or View




Saturday, November 10, 12
Single Site, With Separate Views   10




Saturday, November 10, 12
Single Site, With Separate Views                               10


                 Code in the Controller Decides Which View to Show




Saturday, November 10, 12
Single Site, With Separate Views                            10


              Code in the Controller Decides Which View to Show
              High Degree of Code Sharing




Saturday, November 10, 12
Single Site, With Separate Views                            10


              Code in the Controller Decides Which View to Show
              High Degree of Code Sharing
              Users Get Locked into an Experience




Saturday, November 10, 12
Single Site, With Separate Views                            10


              Code in the Controller Decides Which View to Show
              High Degree of Code Sharing
              Users Get Locked into an Experience
                      Users Hate Getting Stuck




Saturday, November 10, 12
Single Site, With Separate Views                                                10


              Code in the Controller Decides Which View to Show
              High Degree of Code Sharing
              Users Get Locked into an Experience
                    Users Hate Getting Stuck
                    Users Sometimes Want to View the Full Site on Their Smart Phone




Saturday, November 10, 12
Responsive Design    11




Saturday, November 10, 12
Responsive Design                                           11


                 A Single Site With Single Controller and Views




Saturday, November 10, 12
Responsive Design                                        11


              A Single Site With Single Controller and Views
              Site Uses CSS to Dynamically Resize Itself




Saturday, November 10, 12
Responsive Design                                        11


              A Single Site With Single Controller and Views
              Site Uses CSS to Dynamically Resize Itself
              When Done Right It Looks Amazing




Saturday, November 10, 12
Responsive Design                                        11


              A Single Site With Single Controller and Views
              Site Uses CSS to Dynamically Resize Itself
              When Done Right It Looks Amazing
              Difficult To Do Right




Saturday, November 10, 12
Responsive Design                                           11


                 A Single Site With Single Controller and Views
                 Site Uses CSS to Dynamically Resize Itself
                 When Done Right It Looks Amazing
                 Difficult To Do Right
                 Has Performance Issues




Saturday, November 10, 12
Responsive Design                                           11


                 A Single Site With Single Controller and Views
                 Site Uses CSS to Dynamically Resize Itself
                 When Done Right It Looks Amazing
                 Difficult To Do Right
                 Has Performance Issues
                      The Scaling Is Done on the Client




Saturday, November 10, 12
Responsive Design                                                              11


                 A Single Site With Single Controller and Views
                 Site Uses CSS to Dynamically Resize Itself
                 When Done Right It Looks Amazing
                 Difficult To Do Right
                 Has Performance Issues
                    The Scaling Is Done on the Client
                    Entire Site Sent To The Client, But Much of it May Not Be Used




Saturday, November 10, 12
Responsive Design Sites   12




Saturday, November 10, 12
Responsive Design Sites                  12


              http://bostonglobe.com/
              http://2012.inspireconf.com/
              http://forefathersgroup.com/
              http://www.thesearethings.com/




Saturday, November 10, 12
Detecting A Mobile Device   13




Saturday, November 10, 12
Detecting A Mobile Device                                                   13


                 Nearly All Mobile Device Detection Algorithms Rely on the User
                  Agent




Saturday, November 10, 12
Detecting A Mobile Device                                                  13


              Nearly All Mobile Device Detection Algorithms Rely on the User
               Agent
              The User Agent is a String Sent With Your Browser’s HTTP Request




Saturday, November 10, 12
Detecting A Mobile Device                                                      13


              Nearly All Mobile Device Detection Algorithms Rely on the User
               Agent
              The User Agent is a String Sent With Your Browser’s HTTP Request
              Information in the User Agent Identifies the Device, Browser, Version
               Numbers, etc.




Saturday, November 10, 12
Detecting A Mobile Device                                                      13


              Nearly All Mobile Device Detection Algorithms Rely on the User
               Agent
              The User Agent is a String Sent With Your Browser’s HTTP Request
              Information in the User Agent Identifies the Device, Browser, Version
               Numbers, etc.
              There are businesses which provide a service to map User Agents to
               devices




Saturday, November 10, 12
Detecting A Mobile Device                                                         13


                 Nearly All Mobile Device Detection Algorithms Rely on the User
                  Agent
                 The User Agent is a String Sent With Your Browser’s HTTP Request
                 Information in the User Agent Identifies the Device, Browser, Version
                  Numbers, etc.
                 There are businesses which provide a service to map User Agents to
                  devices
                 They cost anywhere from $40 to $400 a month and more




Saturday, November 10, 12
Detecting A Mobile Device                                                         13


                 Nearly All Mobile Device Detection Algorithms Rely on the User
                  Agent
                 The User Agent is a String Sent With Your Browser’s HTTP Request
                 Information in the User Agent Identifies the Device, Browser, Version
                  Numbers, etc.
                 There are businesses which provide a service to map User Agents to
                  devices
                 They cost anywhere from $40 to $400 a month and more
                 Luckily We Have a Free Way...




Saturday, November 10, 12
Detecting A Mobile Device   14




Saturday, November 10, 12
Detecting A Mobile Device                            14


                 A website named: Detect Mobile Browsers




Saturday, November 10, 12
Detecting A Mobile Device                                      14


              A website named: Detect Mobile Browsers
              It Use Regular Expressions to Detect a Mobile Device




Saturday, November 10, 12
Detecting A Mobile Device                                                       14


              A website named: Detect Mobile Browsers
              It Use Regular Expressions to Detect a Mobile Device
              It Provides Versions of Its Algorithm for: Apache, ASP, ASP.NET,
               ColdFusion, C#, IIS, JSP, JavaScript, Lasso, nginx, node.js, and more




Saturday, November 10, 12
Detecting A Mobile Device                                                       14


              A website named: Detect Mobile Browsers
              It Use Regular Expressions to Detect a Mobile Device
              It Provides Versions of Its Algorithm for: Apache, ASP, ASP.NET,
               ColdFusion, C#, IIS, JSP, JavaScript, Lasso, nginx, node.js, and more
              The Algorithm gets Updated Every Few Months




Saturday, November 10, 12
Let's Get Dirty!     15




Saturday, November 10, 12
Let's Get Dirty!                15


                 jQuery At A Glance




Saturday, November 10, 12
Let's Get Dirty!             15


              jQuery At A Glance
              Make Copies




Saturday, November 10, 12
Let's Get Dirty!             15


              jQuery At A Glance
              Make Copies
              Add Detection Code




Saturday, November 10, 12
Let's Get Dirty!             15


              jQuery At A Glance
              Make Copies
              Add Detection Code
              Test It




Saturday, November 10, 12
Let's Get Dirty!                               15


                 jQuery At A Glance
                 Make Copies
                 Add Detection Code
                 Test It
                 Add Mobile ViewPort and Meta-tags




Saturday, November 10, 12
Let's Get Dirty!                               15


                 jQuery At A Glance
                 Make Copies
                 Add Detection Code
                 Test It
                 Add Mobile ViewPort and Meta-tags
                 Add jQuery Mobile Files




Saturday, November 10, 12
Let's Get Dirty!                               15


                 jQuery At A Glance
                 Make Copies
                 Add Detection Code
                 Test It
                 Add Mobile ViewPort and Meta-tags
                 Add jQuery Mobile Files
                 Convert Our Index Page




Saturday, November 10, 12
Let's Get Dirty!                               15


                 jQuery At A Glance
                 Make Copies
                 Add Detection Code
                 Test It
                 Add Mobile ViewPort and Meta-tags
                 Add jQuery Mobile Files
                 Convert Our Index Page
                 Convert Our Create Page




Saturday, November 10, 12
jQuery Mobile At A Glance   16




Saturday, November 10, 12
jQuery Mobile At A Glance                             16


                 jQuery Uses Attributes to Enhance Markup




Saturday, November 10, 12
jQuery Mobile At A Glance                                16


              jQuery Uses Attributes to Enhance Markup
              One of the Most Import Attributes is data-role




Saturday, November 10, 12
jQuery Mobile At A Glance                                      16


              jQuery Uses Attributes to Enhance Markup
              One of the Most Import Attributes is data-role
              By default jQuery Mobile Will Use Ajax Not Page Load




Saturday, November 10, 12
jQuery Mobile At A Glance                                       16


              jQuery Uses Attributes to Enhance Markup
              One of the Most Import Attributes is data-role
              By default jQuery Mobile Will Use Ajax Not Page Load
              HTML list are Special in jQuery With Lots of Features




Saturday, November 10, 12
jQuery Mobile At A Glance                                          16


                 jQuery Uses Attributes to Enhance Markup
                 One of the Most Import Attributes is data-role
                 By default jQuery Mobile Will Use Ajax Not Page Load
                 HTML list are Special in jQuery With Lots of Features
                 jQuery Mobile is Very Semantic




Saturday, November 10, 12
17




              Let’s Get Dirty!

Saturday, November 10, 12
Make Copies          18




Saturday, November 10, 12
Make Copies                                              18


                 Copy the HomeController to MobileController




Saturday, November 10, 12
Make Copies                                           18


              Copy the HomeController to MobileController
              Copy _LayoutPage to _MobileLayoutPage




Saturday, November 10, 12
Make Copies                                           18


              Copy the HomeController to MobileController
              Copy _LayoutPage to _MobileLayoutPage
              Copy the Views




Saturday, November 10, 12
Add Detection Code   19




Saturday, November 10, 12
Add Detection Code                 19


                 Create a Named Common




Saturday, November 10, 12
Add Detection Code                                    19


              Create a Named Common
              Create a Class Named DetectMobileBrowser.cs




Saturday, November 10, 12
Add Detection Code                                                        19


              Create a Named Common
              Create a Class Named DetectMobileBrowser.cs
              Create a static Method, IsMobile, With the Following Signature:




Saturday, November 10, 12
Add Detection Code                                                        19


              Create a Named Common
              Create a Class Named DetectMobileBrowser.cs
              Create a static Method, IsMobile, With the Following Signature:
              public static bool IsMobile(string u)




Saturday, November 10, 12
Add Detection Code                                                            19


              Create a Named Common
              Create a Class Named DetectMobileBrowser.cs
              Create a static Method, IsMobile, With the Following Signature:
              public static bool IsMobile(string u)
                 Add Call to IsMobile() to the Index Action of the HomeController




Saturday, November 10, 12
Add Detection Code                                                          19


              Create a Named Common
              Create a Class Named DetectMobileBrowser.cs
              Create a static Method, IsMobile, With the Following Signature:
              public static bool IsMobile(string u)
              Add Call to IsMobile() to the Index Action of the HomeController
              If Detected, Redirect to the Index Action of the MobileController




Saturday, November 10, 12
Test It              20




Saturday, November 10, 12
Test It                                                              20


                 Our Website Should Now Be Able To Detect Mobile Traffic




Saturday, November 10, 12
Test It                                                           20


              Our Website Should Now Be Able To Detect Mobile Traffic
              Let’s Test It




Saturday, November 10, 12
Test It                                                               20


              Our Website Should Now Be Able To Detect Mobile Traffic
              Let’s Test It
              We Will Use the Chrome Browser With the Ultimate User Agent
               Switcher




Saturday, November 10, 12
Test It                                                               20


              Our Website Should Now Be Able To Detect Mobile Traffic
              Let’s Test It
              We Will Use the Chrome Browser With the Ultimate User Agent
               Switcher
              Launch the Website, It Should Go To the Home page




Saturday, November 10, 12
Test It                                                                  20


                 Our Website Should Now Be Able To Detect Mobile Traffic
                 Let’s Test It
                 We Will Use the Chrome Browser With the Ultimate User Agent
                  Switcher
                 Launch the Website, It Should Go To the Home page
                 Turn on the Ultimate User Agent Switcher




Saturday, November 10, 12
Test It                                                                  20


                 Our Website Should Now Be Able To Detect Mobile Traffic
                 Let’s Test It
                 We Will Use the Chrome Browser With the Ultimate User Agent
                  Switcher
                 Launch the Website, It Should Go To the Home page
                 Turn on the Ultimate User Agent Switcher
                 Reload the Website, We Should Go to the Mobile Home page




Saturday, November 10, 12
Add Mobile ViewPort and Meta-tags   21




Saturday, November 10, 12
Add Mobile ViewPort and Meta-tags                     21


                 Open Up the file _MobileLayoutPage.cshtml




Saturday, November 10, 12
Add Mobile ViewPort and Meta-tags                  21


              Open Up the file _MobileLayoutPage.cshtml
              Add the meta-tags




Saturday, November 10, 12
Add Mobile ViewPort and Meta-tags                  21


              Open Up the file _MobileLayoutPage.cshtml
              Add the meta-tags
              viewport, width=device-width




Saturday, November 10, 12
Add Mobile ViewPort and Meta-tags                            21


              Open Up the file _MobileLayoutPage.cshtml
              Add the meta-tags
              viewport, width=device-width
              name=”apple-mobile-web-app-capable”, content=”yes”




Saturday, November 10, 12
Add jQuery Mobile Files   22




Saturday, November 10, 12
Add jQuery Mobile Files        22


                 Add the CSS Files




Saturday, November 10, 12
Add jQuery Mobile Files        22


              Add the CSS Files
              Add the Script Files




Saturday, November 10, 12
Convert Our Index Page   23




Saturday, November 10, 12
Convert Our Index Page                       23


                 Convert the <table> into a <ul>




Saturday, November 10, 12
Convert Our Index Page                                         23


              Convert the <table> into a <ul>
              The data-role=”listview” Comes With Built In Styling




Saturday, November 10, 12
Convert Our Index Page                                         23


              Convert the <table> into a <ul>
              The data-role=”listview” Comes With Built In Styling
              Remove unnecessary elements




Saturday, November 10, 12
Convert Our Create Page   24




Saturday, November 10, 12
Convert Our Create Page                  24


                 Use Hints Instead of Labels




Saturday, November 10, 12
Convert Our Create Page               24


              Use Hints Instead of Labels
              Use JQM Buttons




Saturday, November 10, 12
Convert Our Create Page               24


              Use Hints Instead of Labels
              Use JQM Buttons
              Theme It




Saturday, November 10, 12
Next Steps           25




Saturday, November 10, 12
Next Steps                               25


                 Convert the Remaining Views




Saturday, November 10, 12
Next Steps                             25


              Convert the Remaining Views
              Replace HTML Pages With Ajax




Saturday, November 10, 12
Next Steps                             25


              Convert the Remaining Views
              Replace HTML Pages With Ajax
              Make the Site iOS Friendly




Saturday, November 10, 12
Next Steps                                                         25


              Convert the Remaining Views
              Replace HTML Pages With Ajax
              Make the Site iOS Friendly
                      Add Home Page Icons (Android Supports These Too)




Saturday, November 10, 12
Next Steps                                                       25


              Convert the Remaining Views
              Replace HTML Pages With Ajax
              Make the Site iOS Friendly
                    Add Home Page Icons (Android Supports These Too)
                    Add Splash Page




Saturday, November 10, 12
My Blog                                         26



                  http://therockncoder.blogspot.com/




Saturday, November 10, 12
Please Rate My Talk                    27



                   http://spkr8.com/t/18331




Saturday, November 10, 12
Summary                                        28


                 Why Mobile Web?
                 Why jQuery Mobile?
                 4 Ways to Add Mobile to Your Site
                 Detecting A Mobile Device
                 We Got Dirty
                 Next Steps
                 Summary




Saturday, November 10, 12
Resources                                                                   29


                 jQuery Mobile
                  http://jquerymobile.com/
                 jQuery Mobile ThemeRoller
                  http://jquerymobile.com/themeroller/index.php
                 Detect Mobile Browsers
                  http://detectmobilebrowsers.com/
                 Ultimate User Agent Switcher
                  https://chrome.google.com/webstore/detail/ultimate-user-agent-
                  switc/ljfpjnehmoiabkefmnjegmpdddgcdnpo
                 Window Resizer
                  https://chrome.google.com/webstore/detail/window-resizer/
                  kkelicaakdanhinjdeammmilcgefonfh



Saturday, November 10, 12
Feedback




Saturday, November 10, 12

More Related Content

Similar to Quick & Dirty Mobile Web with jQuery Mobile

10 Reasons to Create a Great Mobile-Friendly Website
10 Reasons to Create a Great Mobile-Friendly Website10 Reasons to Create a Great Mobile-Friendly Website
10 Reasons to Create a Great Mobile-Friendly Websiteweesleekit
 
Designing and developing mobile web applications with Mockup, Sencha Touch an...
Designing and developing mobile web applications with Mockup, Sencha Touch an...Designing and developing mobile web applications with Mockup, Sencha Touch an...
Designing and developing mobile web applications with Mockup, Sencha Touch an...Matteo Collina
 
Mobile marketing presentation for RISE
Mobile marketing presentation for RISEMobile marketing presentation for RISE
Mobile marketing presentation for RISESaffire Events
 
5 arguments for having a mobile website now slides
5 arguments for having a mobile website now slides5 arguments for having a mobile website now slides
5 arguments for having a mobile website now slidesPaskill Stapleton & Lord
 
Searching does not mean finding Stuff - Apache Solr for TYPO3
Searching does not mean finding Stuff - Apache Solr for TYPO3Searching does not mean finding Stuff - Apache Solr for TYPO3
Searching does not mean finding Stuff - Apache Solr for TYPO3Olivier Dobberkau
 
The Agony and Ecstasy of the Mobile Web
The Agony and Ecstasy of the Mobile WebThe Agony and Ecstasy of the Mobile Web
The Agony and Ecstasy of the Mobile Webgreenideas
 
HTML5 in Korea (2010)
HTML5 in Korea (2010)HTML5 in Korea (2010)
HTML5 in Korea (2010)Channy Yun
 
Developer Week SF, 2015: Cross-Browser Incompatibility is Growing not Shrinking
Developer Week SF, 2015: Cross-Browser Incompatibility is Growing not ShrinkingDeveloper Week SF, 2015: Cross-Browser Incompatibility is Growing not Shrinking
Developer Week SF, 2015: Cross-Browser Incompatibility is Growing not ShrinkingJonah Stiennon
 
Going Global - Workshop Version - Fall 2011
Going Global - Workshop Version - Fall 2011Going Global - Workshop Version - Fall 2011
Going Global - Workshop Version - Fall 2011Lucy Gray
 
Put a UI Developer in a Bank; See What Happens
Put a UI Developer in a Bank; See What HappensPut a UI Developer in a Bank; See What Happens
Put a UI Developer in a Bank; See What HappensC4Media
 
From Web Developer to Hybrid App Developer
From Web Developer to Hybrid App DeveloperFrom Web Developer to Hybrid App Developer
From Web Developer to Hybrid App DeveloperTechWell
 
Dolphin Browser - 10 Million Users: Lessons Learned and How to Prepare Your A...
Dolphin Browser - 10 Million Users: Lessons Learned and How to Prepare Your A...Dolphin Browser - 10 Million Users: Lessons Learned and How to Prepare Your A...
Dolphin Browser - 10 Million Users: Lessons Learned and How to Prepare Your A...Dolphin Browser
 
Digital & Social Media Marketing
Digital & Social Media MarketingDigital & Social Media Marketing
Digital & Social Media MarketingFrank Dinolfo
 
Grokking TechTalk #26: Kotlin, Understand the Magic
Grokking TechTalk #26: Kotlin, Understand the MagicGrokking TechTalk #26: Kotlin, Understand the Magic
Grokking TechTalk #26: Kotlin, Understand the MagicGrokking VN
 
Fall11 Day 9 - Location Based & Mobile Marketing
Fall11 Day 9 - Location Based & Mobile MarketingFall11 Day 9 - Location Based & Mobile Marketing
Fall11 Day 9 - Location Based & Mobile MarketingAndrew Hoffman
 

Similar to Quick & Dirty Mobile Web with jQuery Mobile (20)

Mobile First! - July 2012
Mobile First! - July 2012Mobile First! - July 2012
Mobile First! - July 2012
 
10 Reasons to Create a Great Mobile-Friendly Website
10 Reasons to Create a Great Mobile-Friendly Website10 Reasons to Create a Great Mobile-Friendly Website
10 Reasons to Create a Great Mobile-Friendly Website
 
Designing and developing mobile web applications with Mockup, Sencha Touch an...
Designing and developing mobile web applications with Mockup, Sencha Touch an...Designing and developing mobile web applications with Mockup, Sencha Touch an...
Designing and developing mobile web applications with Mockup, Sencha Touch an...
 
Mobile marketing presentation for RISE
Mobile marketing presentation for RISEMobile marketing presentation for RISE
Mobile marketing presentation for RISE
 
5 arguments for having a mobile website now slides
5 arguments for having a mobile website now slides5 arguments for having a mobile website now slides
5 arguments for having a mobile website now slides
 
Android open
Android openAndroid open
Android open
 
Searching does not mean finding Stuff - Apache Solr for TYPO3
Searching does not mean finding Stuff - Apache Solr for TYPO3Searching does not mean finding Stuff - Apache Solr for TYPO3
Searching does not mean finding Stuff - Apache Solr for TYPO3
 
The Agony and Ecstasy of the Mobile Web
The Agony and Ecstasy of the Mobile WebThe Agony and Ecstasy of the Mobile Web
The Agony and Ecstasy of the Mobile Web
 
Web 2.0
Web 2.0Web 2.0
Web 2.0
 
HTML5 in Korea (2010)
HTML5 in Korea (2010)HTML5 in Korea (2010)
HTML5 in Korea (2010)
 
Developer Week SF, 2015: Cross-Browser Incompatibility is Growing not Shrinking
Developer Week SF, 2015: Cross-Browser Incompatibility is Growing not ShrinkingDeveloper Week SF, 2015: Cross-Browser Incompatibility is Growing not Shrinking
Developer Week SF, 2015: Cross-Browser Incompatibility is Growing not Shrinking
 
Going Global - Workshop Version - Fall 2011
Going Global - Workshop Version - Fall 2011Going Global - Workshop Version - Fall 2011
Going Global - Workshop Version - Fall 2011
 
Put a UI Developer in a Bank; See What Happens
Put a UI Developer in a Bank; See What HappensPut a UI Developer in a Bank; See What Happens
Put a UI Developer in a Bank; See What Happens
 
From Web Developer to Hybrid App Developer
From Web Developer to Hybrid App DeveloperFrom Web Developer to Hybrid App Developer
From Web Developer to Hybrid App Developer
 
Dolphin Browser - 10 Million Users: Lessons Learned and How to Prepare Your A...
Dolphin Browser - 10 Million Users: Lessons Learned and How to Prepare Your A...Dolphin Browser - 10 Million Users: Lessons Learned and How to Prepare Your A...
Dolphin Browser - 10 Million Users: Lessons Learned and How to Prepare Your A...
 
Digital & Social Media Marketing
Digital & Social Media MarketingDigital & Social Media Marketing
Digital & Social Media Marketing
 
AIDS.gov Drupal4Gov Responsive Design
AIDS.gov Drupal4Gov Responsive DesignAIDS.gov Drupal4Gov Responsive Design
AIDS.gov Drupal4Gov Responsive Design
 
Grokking TechTalk #26: Kotlin, Understand the Magic
Grokking TechTalk #26: Kotlin, Understand the MagicGrokking TechTalk #26: Kotlin, Understand the Magic
Grokking TechTalk #26: Kotlin, Understand the Magic
 
Fall11 Day 9 - Location Based & Mobile Marketing
Fall11 Day 9 - Location Based & Mobile MarketingFall11 Day 9 - Location Based & Mobile Marketing
Fall11 Day 9 - Location Based & Mobile Marketing
 
Linked In For Power Users
Linked In For Power UsersLinked In For Power Users
Linked In For Power Users
 

More from Troy Miles

Fast C++ Web Servers
Fast C++ Web ServersFast C++ Web Servers
Fast C++ Web ServersTroy Miles
 
Node Boot Camp
Node Boot CampNode Boot Camp
Node Boot CampTroy Miles
 
AWS Lambda Function with Kotlin
AWS Lambda Function with KotlinAWS Lambda Function with Kotlin
AWS Lambda Function with KotlinTroy Miles
 
React Native One Day
React Native One DayReact Native One Day
React Native One DayTroy Miles
 
React Native Evening
React Native EveningReact Native Evening
React Native EveningTroy Miles
 
Intro to React
Intro to ReactIntro to React
Intro to ReactTroy Miles
 
React Development with the MERN Stack
React Development with the MERN StackReact Development with the MERN Stack
React Development with the MERN StackTroy Miles
 
Angular Application Testing
Angular Application TestingAngular Application Testing
Angular Application TestingTroy Miles
 
What is Angular version 4?
What is Angular version 4?What is Angular version 4?
What is Angular version 4?Troy Miles
 
Angular Weekend
Angular WeekendAngular Weekend
Angular WeekendTroy Miles
 
From MEAN to the MERN Stack
From MEAN to the MERN StackFrom MEAN to the MERN Stack
From MEAN to the MERN StackTroy Miles
 
Functional Programming in JavaScript
Functional Programming in JavaScriptFunctional Programming in JavaScript
Functional Programming in JavaScriptTroy Miles
 
Functional Programming in Clojure
Functional Programming in ClojureFunctional Programming in Clojure
Functional Programming in ClojureTroy Miles
 
MEAN Stack Warm-up
MEAN Stack Warm-upMEAN Stack Warm-up
MEAN Stack Warm-upTroy Miles
 
The JavaScript You Wished You Knew
The JavaScript You Wished You KnewThe JavaScript You Wished You Knew
The JavaScript You Wished You KnewTroy Miles
 
Game Design and Development Workshop Day 1
Game Design and Development Workshop Day 1Game Design and Development Workshop Day 1
Game Design and Development Workshop Day 1Troy Miles
 
Build a Game in 60 minutes
Build a Game in 60 minutesBuild a Game in 60 minutes
Build a Game in 60 minutesTroy Miles
 
Quick & Dirty & MEAN
Quick & Dirty & MEANQuick & Dirty & MEAN
Quick & Dirty & MEANTroy Miles
 
A Quick Intro to ReactiveX
A Quick Intro to ReactiveXA Quick Intro to ReactiveX
A Quick Intro to ReactiveXTroy Miles
 

More from Troy Miles (20)

Fast C++ Web Servers
Fast C++ Web ServersFast C++ Web Servers
Fast C++ Web Servers
 
Node Boot Camp
Node Boot CampNode Boot Camp
Node Boot Camp
 
AWS Lambda Function with Kotlin
AWS Lambda Function with KotlinAWS Lambda Function with Kotlin
AWS Lambda Function with Kotlin
 
React Native One Day
React Native One DayReact Native One Day
React Native One Day
 
React Native Evening
React Native EveningReact Native Evening
React Native Evening
 
Intro to React
Intro to ReactIntro to React
Intro to React
 
React Development with the MERN Stack
React Development with the MERN StackReact Development with the MERN Stack
React Development with the MERN Stack
 
Angular Application Testing
Angular Application TestingAngular Application Testing
Angular Application Testing
 
ReactJS.NET
ReactJS.NETReactJS.NET
ReactJS.NET
 
What is Angular version 4?
What is Angular version 4?What is Angular version 4?
What is Angular version 4?
 
Angular Weekend
Angular WeekendAngular Weekend
Angular Weekend
 
From MEAN to the MERN Stack
From MEAN to the MERN StackFrom MEAN to the MERN Stack
From MEAN to the MERN Stack
 
Functional Programming in JavaScript
Functional Programming in JavaScriptFunctional Programming in JavaScript
Functional Programming in JavaScript
 
Functional Programming in Clojure
Functional Programming in ClojureFunctional Programming in Clojure
Functional Programming in Clojure
 
MEAN Stack Warm-up
MEAN Stack Warm-upMEAN Stack Warm-up
MEAN Stack Warm-up
 
The JavaScript You Wished You Knew
The JavaScript You Wished You KnewThe JavaScript You Wished You Knew
The JavaScript You Wished You Knew
 
Game Design and Development Workshop Day 1
Game Design and Development Workshop Day 1Game Design and Development Workshop Day 1
Game Design and Development Workshop Day 1
 
Build a Game in 60 minutes
Build a Game in 60 minutesBuild a Game in 60 minutes
Build a Game in 60 minutes
 
Quick & Dirty & MEAN
Quick & Dirty & MEANQuick & Dirty & MEAN
Quick & Dirty & MEAN
 
A Quick Intro to ReactiveX
A Quick Intro to ReactiveXA Quick Intro to ReactiveX
A Quick Intro to ReactiveX
 

Recently uploaded

Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxRemote DBA Services
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Bhuvaneswari Subramani
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 

Recently uploaded (20)

Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 

Quick & Dirty Mobile Web with jQuery Mobile

  • 1. Quick & Dirty Mobile Web with jQuery Mobile TROY MILES - ROCKNCODER@GMAIL.COM Saturday, November 10, 12
  • 3. Our Agenda 3 Saturday, November 10, 12
  • 4. Our Agenda 3  Why Mobile Web? Saturday, November 10, 12
  • 5. Our Agenda 3  Why Mobile Web?  Why jQuery Mobile? Saturday, November 10, 12
  • 6. Our Agenda 3  Why Mobile Web?  Why jQuery Mobile?  4 Ways to Add Mobile to Your Site Saturday, November 10, 12
  • 7. Our Agenda 3  Why Mobile Web?  Why jQuery Mobile?  4 Ways to Add Mobile to Your Site  Detecting A Mobile Device Saturday, November 10, 12
  • 8. Our Agenda 3  Why Mobile Web?  Why jQuery Mobile?  4 Ways to Add Mobile to Your Site  Detecting A Mobile Device  Let’s Get Dirty! Saturday, November 10, 12
  • 9. Our Agenda 3  Why Mobile Web?  Why jQuery Mobile?  4 Ways to Add Mobile to Your Site  Detecting A Mobile Device  Let’s Get Dirty!  Next Steps Saturday, November 10, 12
  • 10. Our Agenda 3  Why Mobile Web?  Why jQuery Mobile?  4 Ways to Add Mobile to Your Site  Detecting A Mobile Device  Let’s Get Dirty!  Next Steps  Summary Saturday, November 10, 12
  • 11. Why Mobile Web? 4 Saturday, November 10, 12
  • 12. Why Mobile Web? 4  Mobile is Where Growth Is Saturday, November 10, 12
  • 13. Why Mobile Web? 4  Mobile is Where Growth Is  20% of Internet Users in the US & UK are Mobile Only Saturday, November 10, 12
  • 14. Why Mobile Web? 4  Mobile is Where Growth Is  20% of Internet Users in the US & UK are Mobile Only  In Some African & Asian Markets it is Over 50% Saturday, November 10, 12
  • 15. Why Mobile Web? 4  Mobile is Where Growth Is  20% of Internet Users in the US & UK are Mobile Only  In Some African & Asian Markets it is Over 50%  Twitter began Showing Ads in April 2012 Saturday, November 10, 12
  • 16. Why Mobile Web? 4  Mobile is Where Growth Is  20% of Internet Users in the US & UK are Mobile Only  In Some African & Asian Markets it is Over 50%  Twitter began Showing Ads in April 2012  Mobile is Now Responsible for more than 50% of its Ad Revenue Saturday, November 10, 12
  • 17. Why Mobile Web? 4  Mobile is Where Growth Is  20% of Internet Users in the US & UK are Mobile Only  In Some African & Asian Markets it is Over 50%  Twitter began Showing Ads in April 2012  Mobile is Now Responsible for more than 50% of its Ad Revenue  A Campaign with P.F.Chang got 1 million clicks in its First 4 Days Saturday, November 10, 12
  • 18. Why Mobile Web? 4  Mobile is Where Growth Is  20% of Internet Users in the US & UK are Mobile Only  In Some African & Asian Markets it is Over 50%  Twitter began Showing Ads in April 2012  Mobile is Now Responsible for more than 50% of its Ad Revenue  A Campaign with P.F.Chang got 1 million clicks in its First 4 Days  70% of Those Clicks Came From Mobile Saturday, November 10, 12
  • 19. What is jQuery Mobile? 5 A unified, HTML5-based user interface system for all popular mobile device platforms, built on the rock-solid jQuery and jQuery UI foundation. Its lightweight code is built with progressive enhancement, and has a flexible, easily theme-able design.  Requires jQuery. Saturday, November 10, 12
  • 20. Why jQuery Mobile? 6 Saturday, November 10, 12
  • 21. Why jQuery Mobile? 6  Its Free Saturday, November 10, 12
  • 22. Why jQuery Mobile? 6  Its Free  Its Easy to Learn Saturday, November 10, 12
  • 23. Why jQuery Mobile? 6  Its Free  Its Easy to Learn  It Extends HTML5 Saturday, November 10, 12
  • 24. Why jQuery Mobile? 6  Its Free  Its Easy to Learn  It Extends HTML5  It Supports a Wide Range of Devices Saturday, November 10, 12
  • 25. Why jQuery Mobile? 6  Its Free  Its Easy to Learn  It Extends HTML5  It Supports a Wide Range of Devices  It is Not Feature Rich Saturday, November 10, 12
  • 26. Why jQuery Mobile? 6  Its Free  Its Easy to Learn  It Extends HTML5  It Supports a Wide Range of Devices  It is Not Feature Rich  It is Not Performant Saturday, November 10, 12
  • 27. 4 Ways to Add Mobile 7 Saturday, November 10, 12
  • 28. 4 Ways to Add Mobile 7  Have Two Separate Sites  Have Single Site, With Separate Controllers  Single Site, With Separate Views  Responsive Design  And yes, there are other ways Saturday, November 10, 12
  • 29. Have Two Separate Sites 8 Saturday, November 10, 12
  • 30. Have Two Separate Sites 8  Easy To Start Saturday, November 10, 12
  • 31. Have Two Separate Sites 8  Easy To Start  Difficult to Share Code and Resources Between Sites Saturday, November 10, 12
  • 32. Have Two Separate Sites 8  Easy To Start  Difficult to Share Code and Resources Between Sites  Quickly Can Become a Maintenance Monster Saturday, November 10, 12
  • 33. Have Two Separate Sites 8  Easy To Start  Difficult to Share Code and Resources Between Sites  Quickly Can Become a Maintenance Monster  Two Sites to Deploy Saturday, November 10, 12
  • 34. Have Two Separate Sites 8  Easy To Start  Difficult to Share Code and Resources Between Sites  Quickly Can Become a Maintenance Monster  Two Sites to Deploy  Two Databases to Deploy Saturday, November 10, 12
  • 35. Have Two Separate Sites 8  Easy To Start  Difficult to Share Code and Resources Between Sites  Quickly Can Become a Maintenance Monster  Two Sites to Deploy  Two Databases to Deploy  Two Sites to Maintain Saturday, November 10, 12
  • 36. Have Two Separate Sites 8  Easy To Start  Difficult to Share Code and Resources Between Sites  Quickly Can Become a Maintenance Monster  Two Sites to Deploy  Two Databases to Deploy  Two Sites to Maintain  Two Sites to Enhance Saturday, November 10, 12
  • 37. Have Single Site, With Separate 9 Controllers Saturday, November 10, 12
  • 38. Have Single Site, With Separate 9 Controllers  The Desktop & Mobile Sites Each Have Their Own Controllers Saturday, November 10, 12
  • 39. Have Single Site, With Separate 9 Controllers  The Desktop & Mobile Sites Each Have Their Own Controllers  Allows for Some Sharing of Resources Saturday, November 10, 12
  • 40. Have Single Site, With Separate 9 Controllers  The Desktop & Mobile Sites Each Have Their Own Controllers  Allows for Some Sharing of Resources  Only One Deployment Saturday, November 10, 12
  • 41. Have Single Site, With Separate 9 Controllers  The Desktop & Mobile Sites Each Have Their Own Controllers  Allows for Some Sharing of Resources  Only One Deployment  Bugs in the Controller or View Saturday, November 10, 12
  • 42. Single Site, With Separate Views 10 Saturday, November 10, 12
  • 43. Single Site, With Separate Views 10  Code in the Controller Decides Which View to Show Saturday, November 10, 12
  • 44. Single Site, With Separate Views 10  Code in the Controller Decides Which View to Show  High Degree of Code Sharing Saturday, November 10, 12
  • 45. Single Site, With Separate Views 10  Code in the Controller Decides Which View to Show  High Degree of Code Sharing  Users Get Locked into an Experience Saturday, November 10, 12
  • 46. Single Site, With Separate Views 10  Code in the Controller Decides Which View to Show  High Degree of Code Sharing  Users Get Locked into an Experience  Users Hate Getting Stuck Saturday, November 10, 12
  • 47. Single Site, With Separate Views 10  Code in the Controller Decides Which View to Show  High Degree of Code Sharing  Users Get Locked into an Experience  Users Hate Getting Stuck  Users Sometimes Want to View the Full Site on Their Smart Phone Saturday, November 10, 12
  • 48. Responsive Design 11 Saturday, November 10, 12
  • 49. Responsive Design 11  A Single Site With Single Controller and Views Saturday, November 10, 12
  • 50. Responsive Design 11  A Single Site With Single Controller and Views  Site Uses CSS to Dynamically Resize Itself Saturday, November 10, 12
  • 51. Responsive Design 11  A Single Site With Single Controller and Views  Site Uses CSS to Dynamically Resize Itself  When Done Right It Looks Amazing Saturday, November 10, 12
  • 52. Responsive Design 11  A Single Site With Single Controller and Views  Site Uses CSS to Dynamically Resize Itself  When Done Right It Looks Amazing  Difficult To Do Right Saturday, November 10, 12
  • 53. Responsive Design 11  A Single Site With Single Controller and Views  Site Uses CSS to Dynamically Resize Itself  When Done Right It Looks Amazing  Difficult To Do Right  Has Performance Issues Saturday, November 10, 12
  • 54. Responsive Design 11  A Single Site With Single Controller and Views  Site Uses CSS to Dynamically Resize Itself  When Done Right It Looks Amazing  Difficult To Do Right  Has Performance Issues  The Scaling Is Done on the Client Saturday, November 10, 12
  • 55. Responsive Design 11  A Single Site With Single Controller and Views  Site Uses CSS to Dynamically Resize Itself  When Done Right It Looks Amazing  Difficult To Do Right  Has Performance Issues  The Scaling Is Done on the Client  Entire Site Sent To The Client, But Much of it May Not Be Used Saturday, November 10, 12
  • 56. Responsive Design Sites 12 Saturday, November 10, 12
  • 57. Responsive Design Sites 12  http://bostonglobe.com/  http://2012.inspireconf.com/  http://forefathersgroup.com/  http://www.thesearethings.com/ Saturday, November 10, 12
  • 58. Detecting A Mobile Device 13 Saturday, November 10, 12
  • 59. Detecting A Mobile Device 13  Nearly All Mobile Device Detection Algorithms Rely on the User Agent Saturday, November 10, 12
  • 60. Detecting A Mobile Device 13  Nearly All Mobile Device Detection Algorithms Rely on the User Agent  The User Agent is a String Sent With Your Browser’s HTTP Request Saturday, November 10, 12
  • 61. Detecting A Mobile Device 13  Nearly All Mobile Device Detection Algorithms Rely on the User Agent  The User Agent is a String Sent With Your Browser’s HTTP Request  Information in the User Agent Identifies the Device, Browser, Version Numbers, etc. Saturday, November 10, 12
  • 62. Detecting A Mobile Device 13  Nearly All Mobile Device Detection Algorithms Rely on the User Agent  The User Agent is a String Sent With Your Browser’s HTTP Request  Information in the User Agent Identifies the Device, Browser, Version Numbers, etc.  There are businesses which provide a service to map User Agents to devices Saturday, November 10, 12
  • 63. Detecting A Mobile Device 13  Nearly All Mobile Device Detection Algorithms Rely on the User Agent  The User Agent is a String Sent With Your Browser’s HTTP Request  Information in the User Agent Identifies the Device, Browser, Version Numbers, etc.  There are businesses which provide a service to map User Agents to devices  They cost anywhere from $40 to $400 a month and more Saturday, November 10, 12
  • 64. Detecting A Mobile Device 13  Nearly All Mobile Device Detection Algorithms Rely on the User Agent  The User Agent is a String Sent With Your Browser’s HTTP Request  Information in the User Agent Identifies the Device, Browser, Version Numbers, etc.  There are businesses which provide a service to map User Agents to devices  They cost anywhere from $40 to $400 a month and more  Luckily We Have a Free Way... Saturday, November 10, 12
  • 65. Detecting A Mobile Device 14 Saturday, November 10, 12
  • 66. Detecting A Mobile Device 14  A website named: Detect Mobile Browsers Saturday, November 10, 12
  • 67. Detecting A Mobile Device 14  A website named: Detect Mobile Browsers  It Use Regular Expressions to Detect a Mobile Device Saturday, November 10, 12
  • 68. Detecting A Mobile Device 14  A website named: Detect Mobile Browsers  It Use Regular Expressions to Detect a Mobile Device  It Provides Versions of Its Algorithm for: Apache, ASP, ASP.NET, ColdFusion, C#, IIS, JSP, JavaScript, Lasso, nginx, node.js, and more Saturday, November 10, 12
  • 69. Detecting A Mobile Device 14  A website named: Detect Mobile Browsers  It Use Regular Expressions to Detect a Mobile Device  It Provides Versions of Its Algorithm for: Apache, ASP, ASP.NET, ColdFusion, C#, IIS, JSP, JavaScript, Lasso, nginx, node.js, and more  The Algorithm gets Updated Every Few Months Saturday, November 10, 12
  • 70. Let's Get Dirty! 15 Saturday, November 10, 12
  • 71. Let's Get Dirty! 15  jQuery At A Glance Saturday, November 10, 12
  • 72. Let's Get Dirty! 15  jQuery At A Glance  Make Copies Saturday, November 10, 12
  • 73. Let's Get Dirty! 15  jQuery At A Glance  Make Copies  Add Detection Code Saturday, November 10, 12
  • 74. Let's Get Dirty! 15  jQuery At A Glance  Make Copies  Add Detection Code  Test It Saturday, November 10, 12
  • 75. Let's Get Dirty! 15  jQuery At A Glance  Make Copies  Add Detection Code  Test It  Add Mobile ViewPort and Meta-tags Saturday, November 10, 12
  • 76. Let's Get Dirty! 15  jQuery At A Glance  Make Copies  Add Detection Code  Test It  Add Mobile ViewPort and Meta-tags  Add jQuery Mobile Files Saturday, November 10, 12
  • 77. Let's Get Dirty! 15  jQuery At A Glance  Make Copies  Add Detection Code  Test It  Add Mobile ViewPort and Meta-tags  Add jQuery Mobile Files  Convert Our Index Page Saturday, November 10, 12
  • 78. Let's Get Dirty! 15  jQuery At A Glance  Make Copies  Add Detection Code  Test It  Add Mobile ViewPort and Meta-tags  Add jQuery Mobile Files  Convert Our Index Page  Convert Our Create Page Saturday, November 10, 12
  • 79. jQuery Mobile At A Glance 16 Saturday, November 10, 12
  • 80. jQuery Mobile At A Glance 16  jQuery Uses Attributes to Enhance Markup Saturday, November 10, 12
  • 81. jQuery Mobile At A Glance 16  jQuery Uses Attributes to Enhance Markup  One of the Most Import Attributes is data-role Saturday, November 10, 12
  • 82. jQuery Mobile At A Glance 16  jQuery Uses Attributes to Enhance Markup  One of the Most Import Attributes is data-role  By default jQuery Mobile Will Use Ajax Not Page Load Saturday, November 10, 12
  • 83. jQuery Mobile At A Glance 16  jQuery Uses Attributes to Enhance Markup  One of the Most Import Attributes is data-role  By default jQuery Mobile Will Use Ajax Not Page Load  HTML list are Special in jQuery With Lots of Features Saturday, November 10, 12
  • 84. jQuery Mobile At A Glance 16  jQuery Uses Attributes to Enhance Markup  One of the Most Import Attributes is data-role  By default jQuery Mobile Will Use Ajax Not Page Load  HTML list are Special in jQuery With Lots of Features  jQuery Mobile is Very Semantic Saturday, November 10, 12
  • 85. 17 Let’s Get Dirty! Saturday, November 10, 12
  • 86. Make Copies 18 Saturday, November 10, 12
  • 87. Make Copies 18  Copy the HomeController to MobileController Saturday, November 10, 12
  • 88. Make Copies 18  Copy the HomeController to MobileController  Copy _LayoutPage to _MobileLayoutPage Saturday, November 10, 12
  • 89. Make Copies 18  Copy the HomeController to MobileController  Copy _LayoutPage to _MobileLayoutPage  Copy the Views Saturday, November 10, 12
  • 90. Add Detection Code 19 Saturday, November 10, 12
  • 91. Add Detection Code 19  Create a Named Common Saturday, November 10, 12
  • 92. Add Detection Code 19  Create a Named Common  Create a Class Named DetectMobileBrowser.cs Saturday, November 10, 12
  • 93. Add Detection Code 19  Create a Named Common  Create a Class Named DetectMobileBrowser.cs  Create a static Method, IsMobile, With the Following Signature: Saturday, November 10, 12
  • 94. Add Detection Code 19  Create a Named Common  Create a Class Named DetectMobileBrowser.cs  Create a static Method, IsMobile, With the Following Signature:  public static bool IsMobile(string u) Saturday, November 10, 12
  • 95. Add Detection Code 19  Create a Named Common  Create a Class Named DetectMobileBrowser.cs  Create a static Method, IsMobile, With the Following Signature:  public static bool IsMobile(string u)  Add Call to IsMobile() to the Index Action of the HomeController Saturday, November 10, 12
  • 96. Add Detection Code 19  Create a Named Common  Create a Class Named DetectMobileBrowser.cs  Create a static Method, IsMobile, With the Following Signature:  public static bool IsMobile(string u)  Add Call to IsMobile() to the Index Action of the HomeController  If Detected, Redirect to the Index Action of the MobileController Saturday, November 10, 12
  • 97. Test It 20 Saturday, November 10, 12
  • 98. Test It 20  Our Website Should Now Be Able To Detect Mobile Traffic Saturday, November 10, 12
  • 99. Test It 20  Our Website Should Now Be Able To Detect Mobile Traffic  Let’s Test It Saturday, November 10, 12
  • 100. Test It 20  Our Website Should Now Be Able To Detect Mobile Traffic  Let’s Test It  We Will Use the Chrome Browser With the Ultimate User Agent Switcher Saturday, November 10, 12
  • 101. Test It 20  Our Website Should Now Be Able To Detect Mobile Traffic  Let’s Test It  We Will Use the Chrome Browser With the Ultimate User Agent Switcher  Launch the Website, It Should Go To the Home page Saturday, November 10, 12
  • 102. Test It 20  Our Website Should Now Be Able To Detect Mobile Traffic  Let’s Test It  We Will Use the Chrome Browser With the Ultimate User Agent Switcher  Launch the Website, It Should Go To the Home page  Turn on the Ultimate User Agent Switcher Saturday, November 10, 12
  • 103. Test It 20  Our Website Should Now Be Able To Detect Mobile Traffic  Let’s Test It  We Will Use the Chrome Browser With the Ultimate User Agent Switcher  Launch the Website, It Should Go To the Home page  Turn on the Ultimate User Agent Switcher  Reload the Website, We Should Go to the Mobile Home page Saturday, November 10, 12
  • 104. Add Mobile ViewPort and Meta-tags 21 Saturday, November 10, 12
  • 105. Add Mobile ViewPort and Meta-tags 21  Open Up the file _MobileLayoutPage.cshtml Saturday, November 10, 12
  • 106. Add Mobile ViewPort and Meta-tags 21  Open Up the file _MobileLayoutPage.cshtml  Add the meta-tags Saturday, November 10, 12
  • 107. Add Mobile ViewPort and Meta-tags 21  Open Up the file _MobileLayoutPage.cshtml  Add the meta-tags  viewport, width=device-width Saturday, November 10, 12
  • 108. Add Mobile ViewPort and Meta-tags 21  Open Up the file _MobileLayoutPage.cshtml  Add the meta-tags  viewport, width=device-width  name=”apple-mobile-web-app-capable”, content=”yes” Saturday, November 10, 12
  • 109. Add jQuery Mobile Files 22 Saturday, November 10, 12
  • 110. Add jQuery Mobile Files 22  Add the CSS Files Saturday, November 10, 12
  • 111. Add jQuery Mobile Files 22  Add the CSS Files  Add the Script Files Saturday, November 10, 12
  • 112. Convert Our Index Page 23 Saturday, November 10, 12
  • 113. Convert Our Index Page 23  Convert the <table> into a <ul> Saturday, November 10, 12
  • 114. Convert Our Index Page 23  Convert the <table> into a <ul>  The data-role=”listview” Comes With Built In Styling Saturday, November 10, 12
  • 115. Convert Our Index Page 23  Convert the <table> into a <ul>  The data-role=”listview” Comes With Built In Styling  Remove unnecessary elements Saturday, November 10, 12
  • 116. Convert Our Create Page 24 Saturday, November 10, 12
  • 117. Convert Our Create Page 24  Use Hints Instead of Labels Saturday, November 10, 12
  • 118. Convert Our Create Page 24  Use Hints Instead of Labels  Use JQM Buttons Saturday, November 10, 12
  • 119. Convert Our Create Page 24  Use Hints Instead of Labels  Use JQM Buttons  Theme It Saturday, November 10, 12
  • 120. Next Steps 25 Saturday, November 10, 12
  • 121. Next Steps 25  Convert the Remaining Views Saturday, November 10, 12
  • 122. Next Steps 25  Convert the Remaining Views  Replace HTML Pages With Ajax Saturday, November 10, 12
  • 123. Next Steps 25  Convert the Remaining Views  Replace HTML Pages With Ajax  Make the Site iOS Friendly Saturday, November 10, 12
  • 124. Next Steps 25  Convert the Remaining Views  Replace HTML Pages With Ajax  Make the Site iOS Friendly  Add Home Page Icons (Android Supports These Too) Saturday, November 10, 12
  • 125. Next Steps 25  Convert the Remaining Views  Replace HTML Pages With Ajax  Make the Site iOS Friendly  Add Home Page Icons (Android Supports These Too)  Add Splash Page Saturday, November 10, 12
  • 126. My Blog 26 http://therockncoder.blogspot.com/ Saturday, November 10, 12
  • 127. Please Rate My Talk 27 http://spkr8.com/t/18331 Saturday, November 10, 12
  • 128. Summary 28  Why Mobile Web?  Why jQuery Mobile?  4 Ways to Add Mobile to Your Site  Detecting A Mobile Device  We Got Dirty  Next Steps  Summary Saturday, November 10, 12
  • 129. Resources 29  jQuery Mobile http://jquerymobile.com/  jQuery Mobile ThemeRoller http://jquerymobile.com/themeroller/index.php  Detect Mobile Browsers http://detectmobilebrowsers.com/  Ultimate User Agent Switcher https://chrome.google.com/webstore/detail/ultimate-user-agent- switc/ljfpjnehmoiabkefmnjegmpdddgcdnpo  Window Resizer https://chrome.google.com/webstore/detail/window-resizer/ kkelicaakdanhinjdeammmilcgefonfh Saturday, November 10, 12