SlideShare a Scribd company logo
1 of 98
Download to read offline
Patrick Crowley
  the.railsi.st
Mobile web apps
 using jQTouch
What’s your
mobile strategy?
• Website (aka “give up”)
• Website (aka “give up”)
• Website + mobile stylesheet
• Website (aka “give up”)
• Website + mobile stylesheet
• Native apps for iPhone and
 Android (awesome, but $$$)
• Optimize for mobile displays
• Optimize for mobile displays
• Reduce page load time
• Optimize for mobile displays
• Reduce page load time
• Reduce network traffic
• Optimize for mobile displays
• Reduce page load time
• Reduce network traffic
• Support gestures
Smartphone Market Share
                    RIM       iPhone        Windows    Android   Other




                                       9%
                                 9%
                                                      35%


                              19%




                                             28%



Source: Nielsen for Q1 2010
Mobile Browser Usage
                       iPhone            Android   RIM    Other




                                          6%
                                   13%




                                23%
                                                    58%




Source: Net Applications for May 2010
What does this mean?
• Website (aka “do nothing”)
• Website (aka “do nothing”)
• Website + mobile stylesheets
• Website (aka “do nothing”)
• Website + mobile stylesheets
• Native apps for iPhone and
 Android (awesome, but $$$)
• Website (aka “do nothing”)
• Website + mobile stylesheets
• Native apps for iPhone and
 Android (awesome, but $$$)

• Website + mobile web app
Mobile strategy = Webkit
Target mobile browsers
  people actually use.
• More than 81% of mobile
 browser traffic
• More than 81% of mobile
 browser traffic

• iOS (iPhone + iPod Touch)
• More than 81% of mobile
 browser traffic

• iOS (iPhone + iPod Touch)
• Android (1.5 and up)
• More than 81% of mobile
 browser traffic

• iOS (iPhone + iPod Touch)
• Android (1.5 and up)
• WebOS (Palm -> HP)
• More than 81% of mobile
 browser traffic

• iOS (iPhone + iPod Touch)
• Android (1.5 and up)
• WebOS (Palm -> HP)
• Blackberry (future)
What about... ?!?!
S T
 O A
T
Who cares?
Browsing already
sucks on these phones
So optimize for
awesome phones!
Why Webkit?
• Web standards
• Web standards
• Consistent rendering
• Web standards
• Consistent rendering
• Support for HTML5
• Web standards
• Consistent rendering
• Support for HTML5
• Animation
• Web standards
• Consistent rendering
• Support for HTML5
• Animation
• Offline caching
jQTouch
Web apps with native
   look and feel
jQuery + jQTouch + HTML
jQTouch 101
1. Getting started
<script type="text/javascript" src="http://www.google.com/
jsapi"></script>
<script type="text/javascript" src="http://www.google.com/
jsapi"></script>


<script type="text/javascript"> google.load("jquery",
"1.3.2");</script>
<script type="text/javascript" src="http://www.google.com/
jsapi"></script>


<script type="text/javascript"> google.load("jquery",
"1.3.2");</script>


<script src="jqtouch/jqtouch.min.js" type="application/x-
javascript" charset="utf-8"></script>
<script type="text/javascript" src="http://www.google.com/
jsapi"></script>


<script type="text/javascript"> google.load("jquery",
"1.3.2");</script>


<script src="jqtouch/jqtouch.min.js" type="application/x-
javascript" charset="utf-8"></script>


<style type="text/css" media="screen">@import "jqtouch/
jqtouch.min.css";</style>
<script type="text/javascript" src="http://www.google.com/
jsapi"></script>


<script type="text/javascript"> google.load("jquery",
"1.3.2");</script>


<script src="jqtouch/jqtouch.min.js" type="application/x-
javascript" charset="utf-8"></script>


<style type="text/css" media="screen">@import "jqtouch/
jqtouch.min.css";</style>


<style type="text/css" media="screen">@import "themes/jqt/
theme.min.css";</style>
$.jQTouch({
    icon: 'jqtouch.png',
    statusBar: 'black-translucent',
    preloadImages: [
        'themes/jqt/img/chevron_white.png',
        'themes/jqt/img/bg_row_select.gif',
        'themes/jqt/img/back_button_clicked.png',
        'themes/jqt/img/button_clicked.png'
        ]
});
2. Basic page layout
index.html
<body>
  <div class="current" id="home">
    <div class="toolbar">
       <h1>jQTouch Demo</h1>
    </div>

    <!-- CONTENT GOES HERE -->

  </div>
</body>
#about




              #blog

index.html

             #contact




              /video
index.html
<div id="about">
  <div class="toolbar">
    <h1>About Us</h1>
  </div>
</div>

<div id="blog">
  <div class="toolbar">
    <h1>Blog</h1>
  </div>
</div>

<div id="about">
  <div class="toolbar">
    <h1>Contact Us</h1>
  </div>
</div>
#about




              #blog

index.html

             #contact




              /video
video.html
<div id="video">
  <div class="toolbar">
    <h1>Video</h1>
  </div>
</div>
Markup-based UI
Classes => behavior
• Toolbars
• Toolbars
• Lists
• Toolbars
• Lists
• Buttons
• Toolbars
• Lists
• Buttons
• Forms
• Toolbars
• Lists
• Buttons
• Forms
• Navigation
Toolbar
<div id="about">
  <div class="toolbar">
    <h1>About Us</h1>
  </div>
</div>

<div id="blog">
  <div class="toolbar">
    <h1>Blog</h1>
  </div>
</div>

<div id="about">
  <div class="toolbar">
    <h1>Contact Us</h1>
  </div>
</div>
List
<ul class="rounded">
  <li class="arrow"><a   href="#about">About Us</a></li>
  <li class="arrow"><a   href="#blog">Blog</a></li>
  <li class="arrow"><a   href="#contact">Contact Us</a></li>
  <li class="arrow"><a   href="/video">Video</a></li>
</ul>
UI Demo
Sample app
Debugging
• iPhone Simulator
• iPhone Simulator
• Android Simulator
• iPhone Simulator
• Android Simulator
• Actual devices!!!
Mobile detection
// Mobile clients
if (navigator.userAgent.match(/Android/i) ||
    navigator.userAgent.match(/webOS/i) ||
    navigator.userAgent.match(/iPhone/i) ||
    navigator.userAgent.match(/iPod/i)) {

    // Redirect to mobile app
    location.href = "/mobile";

}
Version switching
<--->
Dynamic content filters
// Disable links
$('.page').live('pageAnimationStart',
function(){
    $('p a').attr("href", "");
});
Resources
• jqtouch.com
• jqtouch.com
• github.com/senchalabs/jQTouch
• jqtouch.com
• github.com/senchalabs/jQTouch
• peepcode.com/products/jqtouch
• jqtouch.com
• github.com/senchalabs/jQTouch
• peepcode.com/products/jqtouch
• glyphish.com
Coming soon
Sencha
Ext JS + jQTouch + Raphaël
New roadmap and
maintainer for jQTouch
The End

More Related Content

Viewers also liked

Viewers also liked (8)

Paperclip
PaperclipPaperclip
Paperclip
 
Migrating Legacy Data
Migrating Legacy DataMigrating Legacy Data
Migrating Legacy Data
 
Trucker
TruckerTrucker
Trucker
 
CSS for iPhones
CSS for iPhonesCSS for iPhones
CSS for iPhones
 
Compass
CompassCompass
Compass
 
Migrating Legacy Data (Ruby Midwest)
Migrating Legacy Data (Ruby Midwest)Migrating Legacy Data (Ruby Midwest)
Migrating Legacy Data (Ruby Midwest)
 
Compass & Bearings
Compass & BearingsCompass & Bearings
Compass & Bearings
 
Compass
CompassCompass
Compass
 

Similar to Mobile web apps

The future is mobile
The future is mobileThe future is mobile
The future is mobileShannon Smith
 
Philly ete-2011
Philly ete-2011Philly ete-2011
Philly ete-2011davyjones
 
HTML5 is the Future of Mobile, PhoneGap Takes You There Today
HTML5 is the Future of Mobile, PhoneGap Takes You There TodayHTML5 is the Future of Mobile, PhoneGap Takes You There Today
HTML5 is the Future of Mobile, PhoneGap Takes You There Todaydavyjones
 
Multi screen HTML5
Multi screen HTML5Multi screen HTML5
Multi screen HTML5Ron Reiter
 
Mobile App Development
Mobile App DevelopmentMobile App Development
Mobile App DevelopmentChris Morrell
 
Image-ine That: Image Optimization for Conversion Maximization
Image-ine That: Image Optimization for Conversion MaximizationImage-ine That: Image Optimization for Conversion Maximization
Image-ine That: Image Optimization for Conversion MaximizationYottaa
 
Responsive Web Design - Why and How
Responsive Web Design - Why and HowResponsive Web Design - Why and How
Responsive Web Design - Why and HowJudi Wunderlich
 
Mobilism 2011: How to put the mobile in the mobile web
Mobilism 2011: How to put the mobile in the mobile webMobilism 2011: How to put the mobile in the mobile web
Mobilism 2011: How to put the mobile in the mobile webJenifer Hanen
 
Mobile SEO (English Version)
Mobile SEO (English Version)Mobile SEO (English Version)
Mobile SEO (English Version)ssuserd60633
 
Get Mobile | Mobile & Digital Marketing | Crystal Olig | Upward | Oxiem
Get Mobile | Mobile & Digital Marketing | Crystal Olig | Upward | OxiemGet Mobile | Mobile & Digital Marketing | Crystal Olig | Upward | Oxiem
Get Mobile | Mobile & Digital Marketing | Crystal Olig | Upward | OxiemLessing-Flynn
 
Mobile Web High Performance
Mobile Web High PerformanceMobile Web High Performance
Mobile Web High PerformanceAmjad Rafique
 
High Performance Distribution for Harvard Video, Mobile and the Gazette
High Performance Distribution for Harvard Video, Mobile and the GazetteHigh Performance Distribution for Harvard Video, Mobile and the Gazette
High Performance Distribution for Harvard Video, Mobile and the GazetteChris Traganos
 
Fake it 'til you make it
Fake it 'til you make itFake it 'til you make it
Fake it 'til you make itJonathan Snook
 
Maximising Online Resource Effectiveness Workshop Session 3/8 Priority issues
Maximising Online Resource Effectiveness Workshop Session 3/8 Priority issuesMaximising Online Resource Effectiveness Workshop Session 3/8 Priority issues
Maximising Online Resource Effectiveness Workshop Session 3/8 Priority issuesPlatypus
 
Responding to the challenge of the mobile web (2012)
Responding to the challenge of the mobile web (2012)Responding to the challenge of the mobile web (2012)
Responding to the challenge of the mobile web (2012)Graham Bird
 

Similar to Mobile web apps (20)

The future is mobile
The future is mobileThe future is mobile
The future is mobile
 
Philly ete-2011
Philly ete-2011Philly ete-2011
Philly ete-2011
 
HTML5 is the Future of Mobile, PhoneGap Takes You There Today
HTML5 is the Future of Mobile, PhoneGap Takes You There TodayHTML5 is the Future of Mobile, PhoneGap Takes You There Today
HTML5 is the Future of Mobile, PhoneGap Takes You There Today
 
Web app
Web appWeb app
Web app
 
Multi screen HTML5
Multi screen HTML5Multi screen HTML5
Multi screen HTML5
 
Web app
Web appWeb app
Web app
 
Mobile App Development
Mobile App DevelopmentMobile App Development
Mobile App Development
 
Image-ine That: Image Optimization for Conversion Maximization
Image-ine That: Image Optimization for Conversion MaximizationImage-ine That: Image Optimization for Conversion Maximization
Image-ine That: Image Optimization for Conversion Maximization
 
Mobile for web developers
Mobile for web developersMobile for web developers
Mobile for web developers
 
Responsive Web Design - Why and How
Responsive Web Design - Why and HowResponsive Web Design - Why and How
Responsive Web Design - Why and How
 
Adobe & HTML5
Adobe & HTML5Adobe & HTML5
Adobe & HTML5
 
Mobilism 2011: How to put the mobile in the mobile web
Mobilism 2011: How to put the mobile in the mobile webMobilism 2011: How to put the mobile in the mobile web
Mobilism 2011: How to put the mobile in the mobile web
 
Mobile SEO (English Version)
Mobile SEO (English Version)Mobile SEO (English Version)
Mobile SEO (English Version)
 
Get Mobile | Mobile & Digital Marketing | Crystal Olig | Upward | Oxiem
Get Mobile | Mobile & Digital Marketing | Crystal Olig | Upward | OxiemGet Mobile | Mobile & Digital Marketing | Crystal Olig | Upward | Oxiem
Get Mobile | Mobile & Digital Marketing | Crystal Olig | Upward | Oxiem
 
Mobile Web High Performance
Mobile Web High PerformanceMobile Web High Performance
Mobile Web High Performance
 
High Performance Distribution for Harvard Video, Mobile and the Gazette
High Performance Distribution for Harvard Video, Mobile and the GazetteHigh Performance Distribution for Harvard Video, Mobile and the Gazette
High Performance Distribution for Harvard Video, Mobile and the Gazette
 
Fake it 'til you make it
Fake it 'til you make itFake it 'til you make it
Fake it 'til you make it
 
Simple mobile Websites
Simple mobile WebsitesSimple mobile Websites
Simple mobile Websites
 
Maximising Online Resource Effectiveness Workshop Session 3/8 Priority issues
Maximising Online Resource Effectiveness Workshop Session 3/8 Priority issuesMaximising Online Resource Effectiveness Workshop Session 3/8 Priority issues
Maximising Online Resource Effectiveness Workshop Session 3/8 Priority issues
 
Responding to the challenge of the mobile web (2012)
Responding to the challenge of the mobile web (2012)Responding to the challenge of the mobile web (2012)
Responding to the challenge of the mobile web (2012)
 

Recently uploaded

Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 

Recently uploaded (20)

Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 

Mobile web apps