SlideShare a Scribd company logo
1 of 43
MAKE YOUR MOBILE WEB APPS ROCK!


Chris Love
Tellago Inc.
http://ProfessionalASPNET.com
http://Twitter.com/ChrisLove
TELLAGO
REFERENCES
   Mobile Web Books
     Mobile   First
     http://bit.ly/jMSGAB
     Programming the Mobile Web
     http://amzn.to/bZMOch
     Mobile Web Development
     http://amzn.to/9cvDoE
     Mobile Design and Development
     http://amzn.to/hh8cPd
KNOW THE LANDSCAPE
 Mobile Devices Are Prevalent Around the
  World
 SmartPhones/Devices Becoming Common

 Mobile Data Plans (3/4G)

 HTML 5 Is Here, Embrace It ;)
MARKET REALITY




      http://on.mash.to/k38NZw
MARKET REALITY




      http://bit.ly/tFdyXF
USER PROBLEMS
UNDERSTAND THE LANDSCAPE
 Lots of Phones Out There!
 Several Browsers
     Opera,Safari, IE, FireFox, many others you
     never heard of
   Proxy Browsers
     Opera   Mini
GRADING BROWSERS
 Assume Modern
  Smart Phones
 Most Are Webkit &
  Support Most
  HTML5 Features
 Confidently
  Assume No
  Feature Phones
http://haz.io
http://html5test.com
WINDOWS PHONE 7 IE 9
   Like Desktop
     Supports    Basic HTML5, CSS3, Canvas, Media
      Tag Stuff
     GPU Speed

 Does Not Support Touch
 Does Not Support Input Types


   http://bit.ly/ij3RAj
   http://bit.ly/kYOZ5W
MOBILE FIRST
“designing for mobile first not only prepares
you for the explosive growth and new
opportunities on the mobile internet, it forces
you to focus and enables you to innovate in
ways you previously couldn’t.”
     Luke Wroblewski
MOBILE FIRST
DETERMINE CONTENT
   Define Use Cases
     Order  Cases by Most
      Frequent for Mobile
     Make Cases Successful
      within 3 clicks
 Always Offer Link to
  Desktop Site
 Determine if User
  Location Matters
DETERMINE CONTENT




        http://bit.ly/aD1dr3
USER CONTEXT

   Don’t Miss The Boat
DETERMINE CONTENT
 Reduce Form Pages
 Avoid Welcome
  Screens/Splash
 Predict User Actions
  Based On History
     ThinkLocal
     Storage/Tombstoning
CONTEXT
 Where Is The User
 Why are They on Your Site

 What are they looking for

 What can you offer for mobile
  user to solve problem
 Where will the user be
  accessing the site
META TAGS
<meta name="description" content="">
<meta name="author" content="">
<meta name="HandheldFriendly" content="True">
<meta name="MobileOptimized" content="320"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0">

 <link rel="apple-touch-icon" href="@Url.Content("~/apple-touch-icon.png")"/>
 <link rel="apple-touch-icon-precomposed" sizes="114x114" href="@Url.Content("~/img/h/apple-
touch-icon.png")">
 <link rel="apple-touch-icon-precomposed" sizes="72x72" href="@Url.Content("~/img/m/apple-
touch-icon.png")">
 <link rel="apple-touch-icon-precomposed" href="@Url.Content("~/img/l/apple-touch-icon-
precomposed.png")">
 <link rel="shortcut icon" href="@Url.Content("~/img/l/apple-touch-icon.png")">

 <meta name="apple-mobile-web-app-capable" content="yes">
 <meta name="apple-mobile-web-app-status-bar-style" content="black">

 <link rel="apple-touch-startup-image" href="@Url.Content("~img/l/splash.png”)">
HTML5 BOILERPLATE




http://html5boilerplate.com
http://html5boilerplate.com/mobile/
TOUCH ICONS
 Allows You to Set the
  Home Screen Icon
 Comparable to
  favicon
 Apple Convention

 Supported on Most
  Android Platforms
ADD TO HOME SCREEN
 Promptsthe User to
 Add The App To the
 iOS Home Screen

  http://bit.ly/fi1wqp
APPLE-MOBILE-WEB-APP-CAPABLE
 Allows You To Hide Mobile Safari Chrome
 Gives You Native App-Like Experience

 iOS Only At This Point 

 Does use a Different JS Engine Than Safari



http://bit.ly/ilKFKT
APPLE-MOBILE-WEB-APP-STATUS-BAR-STYLE

 Allows You to Hide
  Status Bar @ The
  Top of The Screen or
  Set The Color.
 <meta name="apple-
  mobile-web-app-
  status-bar-style"
  content="black">

http://bit.ly/9Mgv0y
UNDERSTAND THE VIEWPORT
 ViewableArea on Device
 May actually be very wide
   iPhone   is actually 980pixels
    wide
   Internet Explorer Assumes
    1024 pixels wide

  http://bit.ly/e18svU
SET THE VIEWPORT
•MetaTag
    •Width
    •Height
    •Initial-scale
    •User-scalable
    •Minimum-scale
    •Maximum-scale


<meta name="viewport"
content="width=device-width,initial-
scale=1.0,user-scalable=no"/>
   http://tinyurl.com/wp7viewport
TYPICAL LAYOUT
        Header
        Navigation




       Content

         Footer
RETHINK LAYOUT
TOUCH
LEVERAGE HTML5
 Semantics
 CSS3 is AWESOMIER

 New Form Input Types Help

 New Form Input Attributes
  Really Help
INPUT TYPES
 HTML5 Adds Many New Input Types and
  Attributes
 Telephone, Number, URL, E-Mail, etc

 autocapitalize, autocomplete, placeholder,
  required…
INPUT TYPES
6. UNDERSTAND CSS3
 Animations
 Gradients

 Transforms

 Shadows

 Rounded Corners

 Media Queries

 So Much More!!
TRANSITIONS
 2D Transformations
 Shadows. Rounded Corners Etc

 3D Keyframe Animations!

 CSS3 Animations w/jQuery Fallbacks
     http://bit.ly/oBDnko
SINGLE PAGE SITES
 Use AJAX to Transition Between Content
 Use HashTags to Track State

 jQuery BBQ plugin
     http://bit.ly/abippr

 Allows Transition Effects
 jQuery Mobile, jqTouch & Sencha Leverage
TOUCH EVENTS

  touchStart                  touchEnter
  touchEnd                    touchLeave
  touchMove                   touchCancel

  http://tinyurl.com/webtch
TOUCH GESTURES
 Fingers Are Fat
 20px Spacing

 Primary Items Min 40px W &H

 Provide Quick Feedback of Touched Item

 Include Auto-Clear Feature for Text Inputs
TOUCH FIRST LAYOUT
Recommended size
   7x7mm


Optimized for accuracy
   9x9mm


Optimized for small size
   5x5mm


Each target has 2mm padding
HOW TARGET SIZE RELATES TO ERROR
RATES
TOUCH GESTURES
 touchstart            gesturestart*
 touchend              gesturechange
 touchmove              *
 touchenter            gestureend*

 touchleave
 gouchcancel


http://bit.ly/ion0Um
http://bit.ly/bYeSRT
* Safari Only
WINDOWS 8 TOUCH
OFFLINE & STORAGE
   Application Cache
     Sort   of Buggy - http://bit.ly/oryAF5
   Local Storage
     localstorage

     sessionstorage
THE DEVICE APIS
 Accelerometer    Gallery
 Gyroscope        Camera

 Messaging        Calendar

 Address book     Device status
  management        information
 Geolocation      Native menus

More Related Content

What's hot

SMX@adtech: Mobile Local and Video Search — Cindy Krum
SMX@adtech: Mobile Local and Video Search — Cindy KrumSMX@adtech: Mobile Local and Video Search — Cindy Krum
SMX@adtech: Mobile Local and Video Search — Cindy Krum
adtech_fan
 

What's hot (19)

HTML5@电子商务.com
HTML5@电子商务.comHTML5@电子商务.com
HTML5@电子商务.com
 
Best And Worst Practices Building Ria with Adobe and Microsoft
Best And Worst Practices Building Ria with Adobe and MicrosoftBest And Worst Practices Building Ria with Adobe and Microsoft
Best And Worst Practices Building Ria with Adobe and Microsoft
 
Joomla wireframing Template - Joomladay Netherlands 2014 #jd14nl
Joomla wireframing Template - Joomladay Netherlands 2014 #jd14nlJoomla wireframing Template - Joomladay Netherlands 2014 #jd14nl
Joomla wireframing Template - Joomladay Netherlands 2014 #jd14nl
 
Recreating mobile controls in mobile web apps
Recreating mobile controls in mobile web appsRecreating mobile controls in mobile web apps
Recreating mobile controls in mobile web apps
 
Websocket in iOS application to create real-time applications
Websocket in iOS application to create real-time applicationsWebsocket in iOS application to create real-time applications
Websocket in iOS application to create real-time applications
 
TPR4
TPR4TPR4
TPR4
 
A New Hope – the web strikes back
A New Hope – the web strikes backA New Hope – the web strikes back
A New Hope – the web strikes back
 
2021 Chrome Dev Summit: Web Performance 101
2021 Chrome Dev Summit: Web Performance 1012021 Chrome Dev Summit: Web Performance 101
2021 Chrome Dev Summit: Web Performance 101
 
Performance Tuning Web Apps - The Need For Speed
Performance Tuning Web Apps - The Need For SpeedPerformance Tuning Web Apps - The Need For Speed
Performance Tuning Web Apps - The Need For Speed
 
Progressive Web Apps - Bringing the web front and center
Progressive Web Apps - Bringing the web front and center Progressive Web Apps - Bringing the web front and center
Progressive Web Apps - Bringing the web front and center
 
Intro to Web Development
Intro to Web DevelopmentIntro to Web Development
Intro to Web Development
 
CSS vs. JavaScript - Trust vs. Control
CSS vs. JavaScript - Trust vs. ControlCSS vs. JavaScript - Trust vs. Control
CSS vs. JavaScript - Trust vs. Control
 
Progressive Web Apps – the return of the web?
Progressive Web Apps – the return of the web?Progressive Web Apps – the return of the web?
Progressive Web Apps – the return of the web?
 
The Future of the Web - Cold Front conference 2016
The Future of the Web - Cold Front conference 2016The Future of the Web - Cold Front conference 2016
The Future of the Web - Cold Front conference 2016
 
Front End Oprtimization
Front End OprtimizationFront End Oprtimization
Front End Oprtimization
 
SMX@adtech: Mobile Local and Video Search — Cindy Krum
SMX@adtech: Mobile Local and Video Search — Cindy KrumSMX@adtech: Mobile Local and Video Search — Cindy Krum
SMX@adtech: Mobile Local and Video Search — Cindy Krum
 
Leveling up your JavaScipt - DrupalJam 2017
Leveling up your JavaScipt - DrupalJam 2017Leveling up your JavaScipt - DrupalJam 2017
Leveling up your JavaScipt - DrupalJam 2017
 
The Future of Progressive Web Apps - View Source conference, Berlin 2016
The Future of Progressive Web Apps - View Source conference, Berlin 2016The Future of Progressive Web Apps - View Source conference, Berlin 2016
The Future of Progressive Web Apps - View Source conference, Berlin 2016
 
Progressive Web Apps - Goto Chicago 2017
Progressive Web Apps - Goto Chicago 2017Progressive Web Apps - Goto Chicago 2017
Progressive Web Apps - Goto Chicago 2017
 

Similar to Make mobile web apps rock

Handys und Tablets - Webentwicklung jenseits des Desktops - WebTech Mainz 12....
Handys und Tablets - Webentwicklung jenseits des Desktops - WebTech Mainz 12....Handys und Tablets - Webentwicklung jenseits des Desktops - WebTech Mainz 12....
Handys und Tablets - Webentwicklung jenseits des Desktops - WebTech Mainz 12....
Patrick Lauke
 
Смартфоны и планшетники - mobile-friendly веб-разработка помимо десктопа - RI...
Смартфоны и планшетники - mobile-friendly веб-разработка помимо десктопа - RI...Смартфоны и планшетники - mobile-friendly веб-разработка помимо десктопа - RI...
Смартфоны и планшетники - mobile-friendly веб-разработка помимо десктопа - RI...
Patrick Lauke
 
I like i phone and android but know .net
I like i phone and android but know .netI like i phone and android but know .net
I like i phone and android but know .net
Chris Love
 
смартфоны и планшетники. веб разработка помимо десктопа. Patrick h. lauke. зал 1
смартфоны и планшетники. веб разработка помимо десктопа. Patrick h. lauke. зал 1смартфоны и планшетники. веб разработка помимо десктопа. Patrick h. lauke. зал 1
смартфоны и планшетники. веб разработка помимо десктопа. Patrick h. lauke. зал 1
rit2011
 
Developing for Mobile Web
Developing for Mobile WebDeveloping for Mobile Web
Developing for Mobile Web
Barbara Bermes
 
Philly ete-2011
Philly ete-2011Philly ete-2011
Philly ete-2011
davyjones
 

Similar to Make mobile web apps rock (20)

10 Things To Make You a Great Mobile Web Developer
10 Things To Make You a Great Mobile Web Developer10 Things To Make You a Great Mobile Web Developer
10 Things To Make You a Great Mobile Web Developer
 
10 Things To Make You a Great Mobile Web Developer
10 Things To Make You a Great Mobile Web Developer10 Things To Make You a Great Mobile Web Developer
10 Things To Make You a Great Mobile Web Developer
 
Mobile tech briefing 2013
Mobile tech briefing 2013Mobile tech briefing 2013
Mobile tech briefing 2013
 
Handys und Tablets - Webentwicklung jenseits des Desktops - WebTech Mainz 12....
Handys und Tablets - Webentwicklung jenseits des Desktops - WebTech Mainz 12....Handys und Tablets - Webentwicklung jenseits des Desktops - WebTech Mainz 12....
Handys und Tablets - Webentwicklung jenseits des Desktops - WebTech Mainz 12....
 
Mobilise your ASP.NET website
Mobilise your ASP.NET websiteMobilise your ASP.NET website
Mobilise your ASP.NET website
 
Смартфоны и планшетники - mobile-friendly веб-разработка помимо десктопа - RI...
Смартфоны и планшетники - mobile-friendly веб-разработка помимо десктопа - RI...Смартфоны и планшетники - mobile-friendly веб-разработка помимо десктопа - RI...
Смартфоны и планшетники - mobile-friendly веб-разработка помимо десктопа - RI...
 
I like i phone and android but know .net
I like i phone and android but know .netI like i phone and android but know .net
I like i phone and android but know .net
 
How To Create Web Sites For Mobile Clients
How To Create Web Sites For Mobile ClientsHow To Create Web Sites For Mobile Clients
How To Create Web Sites For Mobile Clients
 
смартфоны и планшетники. веб разработка помимо десктопа. Patrick h. lauke. зал 1
смартфоны и планшетники. веб разработка помимо десктопа. Patrick h. lauke. зал 1смартфоны и планшетники. веб разработка помимо десктопа. Patrick h. lauke. зал 1
смартфоны и планшетники. веб разработка помимо десктопа. Patrick h. lauke. зал 1
 
Making your site mobile-friendly - DevCSI Reading 21.07.2010
Making your site mobile-friendly - DevCSI Reading 21.07.2010Making your site mobile-friendly - DevCSI Reading 21.07.2010
Making your site mobile-friendly - DevCSI Reading 21.07.2010
 
Building a Simple Mobile-optimized Web App Using the jQuery Mobile Framework
Building a Simple Mobile-optimized Web App Using the jQuery Mobile FrameworkBuilding a Simple Mobile-optimized Web App Using the jQuery Mobile Framework
Building a Simple Mobile-optimized Web App Using the jQuery Mobile Framework
 
Developing for Mobile Web
Developing for Mobile WebDeveloping for Mobile Web
Developing for Mobile Web
 
Mobile for web developers
Mobile for web developersMobile for web developers
Mobile for web developers
 
Best Practices for Mobile Web Design
Best Practices for Mobile Web DesignBest Practices for Mobile Web Design
Best Practices for Mobile Web Design
 
html5 & phonegap
html5 & phonegaphtml5 & phonegap
html5 & phonegap
 
Drupalcamp LA Aug 2009
Drupalcamp LA Aug 2009Drupalcamp LA Aug 2009
Drupalcamp LA Aug 2009
 
Philly ete-2011
Philly ete-2011Philly ete-2011
Philly ete-2011
 
Creating a Slick Web App Using jQTouch
Creating a Slick Web App Using jQTouchCreating a Slick Web App Using jQTouch
Creating a Slick Web App Using jQTouch
 
Optimizing content for the "mobile web"
Optimizing content for the "mobile web"Optimizing content for the "mobile web"
Optimizing content for the "mobile web"
 
Bruce lawson-over-the-air
Bruce lawson-over-the-airBruce lawson-over-the-air
Bruce lawson-over-the-air
 

More from Chris Love

More from Chris Love (20)

Quick Fetch API Introduction
Quick Fetch API IntroductionQuick Fetch API Introduction
Quick Fetch API Introduction
 
Introduction to Progressive Web Applications
Introduction to Progressive Web ApplicationsIntroduction to Progressive Web Applications
Introduction to Progressive Web Applications
 
Introduction to Progressive Web Applications
Introduction to Progressive Web ApplicationsIntroduction to Progressive Web Applications
Introduction to Progressive Web Applications
 
Lazy load Website Assets
Lazy load Website AssetsLazy load Website Assets
Lazy load Website Assets
 
Progressive Web Apps for Education
Progressive Web Apps for EducationProgressive Web Apps for Education
Progressive Web Apps for Education
 
The server is dead going serverless to create a highly scalable application y...
The server is dead going serverless to create a highly scalable application y...The server is dead going serverless to create a highly scalable application y...
The server is dead going serverless to create a highly scalable application y...
 
A Day Building Fast, Responsive, Extensible Single Page Applications
A Day Building Fast, Responsive, Extensible Single Page ApplicationsA Day Building Fast, Responsive, Extensible Single Page Applications
A Day Building Fast, Responsive, Extensible Single Page Applications
 
Real World Lessons in Progressive Web Application & Service Worker Caching
Real World Lessons in Progressive Web Application & Service Worker CachingReal World Lessons in Progressive Web Application & Service Worker Caching
Real World Lessons in Progressive Web Application & Service Worker Caching
 
Disrupting the application eco system with progressive web applications
Disrupting the application eco system with progressive web applicationsDisrupting the application eco system with progressive web applications
Disrupting the application eco system with progressive web applications
 
Service workers your applications never felt so good
Service workers   your applications never felt so goodService workers   your applications never felt so good
Service workers your applications never felt so good
 
Develop a vanilla.js spa you and your customers will love
Develop a vanilla.js spa you and your customers will loveDevelop a vanilla.js spa you and your customers will love
Develop a vanilla.js spa you and your customers will love
 
JavaScript front end performance optimizations
JavaScript front end performance optimizationsJavaScript front end performance optimizations
JavaScript front end performance optimizations
 
Advanced front end debugging with ms edge and ms tools
Advanced front end debugging with ms edge and ms toolsAdvanced front end debugging with ms edge and ms tools
Advanced front end debugging with ms edge and ms tools
 
Html5 Fit: Get Rid of Love Handles
Html5 Fit:  Get Rid of Love HandlesHtml5 Fit:  Get Rid of Love Handles
Html5 Fit: Get Rid of Love Handles
 
Using Responsive Web Design To Make Your Web Work Everywhere - Updated
Using Responsive Web Design To Make Your Web Work Everywhere - UpdatedUsing Responsive Web Design To Make Your Web Work Everywhere - Updated
Using Responsive Web Design To Make Your Web Work Everywhere - Updated
 
Implementing a Responsive Image Strategy
Implementing a Responsive Image StrategyImplementing a Responsive Image Strategy
Implementing a Responsive Image Strategy
 
Using Responsive Web Design To Make Your Web Work Everywhere
Using Responsive Web Design To Make Your Web Work EverywhereUsing Responsive Web Design To Make Your Web Work Everywhere
Using Responsive Web Design To Make Your Web Work Everywhere
 
10 things you can do to speed up your web app today 2016
10 things you can do to speed up your web app today 201610 things you can do to speed up your web app today 2016
10 things you can do to speed up your web app today 2016
 
Css best practices style guide and tips
Css best practices style guide and tipsCss best practices style guide and tips
Css best practices style guide and tips
 
Using Responsive Web Design To Make Your Web Work Everywhere
Using Responsive Web Design To Make Your Web Work Everywhere Using Responsive Web Design To Make Your Web Work Everywhere
Using Responsive Web Design To Make Your Web Work Everywhere
 

Recently uploaded

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Recently uploaded (20)

Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
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
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
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
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
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...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
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
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 

Make mobile web apps rock

  • 1. MAKE YOUR MOBILE WEB APPS ROCK! Chris Love Tellago Inc. http://ProfessionalASPNET.com http://Twitter.com/ChrisLove
  • 3. REFERENCES  Mobile Web Books  Mobile First  http://bit.ly/jMSGAB  Programming the Mobile Web  http://amzn.to/bZMOch  Mobile Web Development  http://amzn.to/9cvDoE  Mobile Design and Development  http://amzn.to/hh8cPd
  • 4. KNOW THE LANDSCAPE  Mobile Devices Are Prevalent Around the World  SmartPhones/Devices Becoming Common  Mobile Data Plans (3/4G)  HTML 5 Is Here, Embrace It ;)
  • 5. MARKET REALITY http://on.mash.to/k38NZw
  • 6. MARKET REALITY http://bit.ly/tFdyXF
  • 8. UNDERSTAND THE LANDSCAPE  Lots of Phones Out There!  Several Browsers  Opera,Safari, IE, FireFox, many others you never heard of  Proxy Browsers  Opera Mini
  • 9. GRADING BROWSERS  Assume Modern Smart Phones  Most Are Webkit & Support Most HTML5 Features  Confidently Assume No Feature Phones http://haz.io http://html5test.com
  • 10. WINDOWS PHONE 7 IE 9  Like Desktop  Supports Basic HTML5, CSS3, Canvas, Media Tag Stuff  GPU Speed  Does Not Support Touch  Does Not Support Input Types  http://bit.ly/ij3RAj  http://bit.ly/kYOZ5W
  • 11. MOBILE FIRST “designing for mobile first not only prepares you for the explosive growth and new opportunities on the mobile internet, it forces you to focus and enables you to innovate in ways you previously couldn’t.” Luke Wroblewski
  • 12.
  • 14. DETERMINE CONTENT  Define Use Cases  Order Cases by Most Frequent for Mobile  Make Cases Successful within 3 clicks  Always Offer Link to Desktop Site  Determine if User Location Matters
  • 15. DETERMINE CONTENT http://bit.ly/aD1dr3
  • 16. USER CONTEXT Don’t Miss The Boat
  • 17. DETERMINE CONTENT  Reduce Form Pages  Avoid Welcome Screens/Splash  Predict User Actions Based On History  ThinkLocal Storage/Tombstoning
  • 18. CONTEXT  Where Is The User  Why are They on Your Site  What are they looking for  What can you offer for mobile user to solve problem  Where will the user be accessing the site
  • 19. META TAGS <meta name="description" content=""> <meta name="author" content=""> <meta name="HandheldFriendly" content="True"> <meta name="MobileOptimized" content="320"/> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link rel="apple-touch-icon" href="@Url.Content("~/apple-touch-icon.png")"/> <link rel="apple-touch-icon-precomposed" sizes="114x114" href="@Url.Content("~/img/h/apple- touch-icon.png")"> <link rel="apple-touch-icon-precomposed" sizes="72x72" href="@Url.Content("~/img/m/apple- touch-icon.png")"> <link rel="apple-touch-icon-precomposed" href="@Url.Content("~/img/l/apple-touch-icon- precomposed.png")"> <link rel="shortcut icon" href="@Url.Content("~/img/l/apple-touch-icon.png")"> <meta name="apple-mobile-web-app-capable" content="yes"> <meta name="apple-mobile-web-app-status-bar-style" content="black"> <link rel="apple-touch-startup-image" href="@Url.Content("~img/l/splash.png”)">
  • 21. TOUCH ICONS  Allows You to Set the Home Screen Icon  Comparable to favicon  Apple Convention  Supported on Most Android Platforms
  • 22. ADD TO HOME SCREEN  Promptsthe User to Add The App To the iOS Home Screen http://bit.ly/fi1wqp
  • 23. APPLE-MOBILE-WEB-APP-CAPABLE  Allows You To Hide Mobile Safari Chrome  Gives You Native App-Like Experience  iOS Only At This Point   Does use a Different JS Engine Than Safari http://bit.ly/ilKFKT
  • 24. APPLE-MOBILE-WEB-APP-STATUS-BAR-STYLE  Allows You to Hide Status Bar @ The Top of The Screen or Set The Color.  <meta name="apple- mobile-web-app- status-bar-style" content="black"> http://bit.ly/9Mgv0y
  • 25. UNDERSTAND THE VIEWPORT  ViewableArea on Device  May actually be very wide  iPhone is actually 980pixels wide  Internet Explorer Assumes 1024 pixels wide http://bit.ly/e18svU
  • 26. SET THE VIEWPORT •MetaTag •Width •Height •Initial-scale •User-scalable •Minimum-scale •Maximum-scale <meta name="viewport" content="width=device-width,initial- scale=1.0,user-scalable=no"/> http://tinyurl.com/wp7viewport
  • 27. TYPICAL LAYOUT Header Navigation Content Footer
  • 29. TOUCH
  • 30. LEVERAGE HTML5  Semantics  CSS3 is AWESOMIER  New Form Input Types Help  New Form Input Attributes Really Help
  • 31. INPUT TYPES  HTML5 Adds Many New Input Types and Attributes  Telephone, Number, URL, E-Mail, etc  autocapitalize, autocomplete, placeholder, required…
  • 33. 6. UNDERSTAND CSS3  Animations  Gradients  Transforms  Shadows  Rounded Corners  Media Queries  So Much More!!
  • 34. TRANSITIONS  2D Transformations  Shadows. Rounded Corners Etc  3D Keyframe Animations!  CSS3 Animations w/jQuery Fallbacks  http://bit.ly/oBDnko
  • 35. SINGLE PAGE SITES  Use AJAX to Transition Between Content  Use HashTags to Track State  jQuery BBQ plugin  http://bit.ly/abippr  Allows Transition Effects  jQuery Mobile, jqTouch & Sencha Leverage
  • 36. TOUCH EVENTS touchStart touchEnter touchEnd touchLeave touchMove touchCancel http://tinyurl.com/webtch
  • 37. TOUCH GESTURES  Fingers Are Fat  20px Spacing  Primary Items Min 40px W &H  Provide Quick Feedback of Touched Item  Include Auto-Clear Feature for Text Inputs
  • 38. TOUCH FIRST LAYOUT Recommended size 7x7mm Optimized for accuracy 9x9mm Optimized for small size 5x5mm Each target has 2mm padding
  • 39. HOW TARGET SIZE RELATES TO ERROR RATES
  • 40. TOUCH GESTURES  touchstart  gesturestart*  touchend  gesturechange  touchmove *  touchenter  gestureend*  touchleave  gouchcancel http://bit.ly/ion0Um http://bit.ly/bYeSRT * Safari Only
  • 42. OFFLINE & STORAGE  Application Cache  Sort of Buggy - http://bit.ly/oryAF5  Local Storage  localstorage  sessionstorage
  • 43. THE DEVICE APIS  Accelerometer  Gallery  Gyroscope  Camera  Messaging  Calendar  Address book  Device status management information  Geolocation  Native menus

Editor's Notes

  1. Show sample using local storage for offline, back button support
  2. Show sample using local storage for offline, back button support
  3. Show sample using local storage for offline, back button support
  4. Show sample using local storage for offline, back button support
  5. Show sample using local storage for offline, back button support
  6. Show sample using local storage for offline, back button support