SlideShare a Scribd company logo
Touch The Web
Chris Love
@ChrisLove
Love2Dev.com
Who Am I
• ASP.NET MVP
• ASP Insider
• Internet Explorer User Agent
• Author
• Speaker
• Tweaker, Lover of Web, JavaScript, CSS & HTML5
• @ChrisLove
• Love2Dev.com
High Performance Single Page Web
Applications
• Responsive Design
• Touch
• Mobile First
• SPA
• Extensible, Scalable Architecture
• Web Build and Workflow
• Goes Really Fast!
• ~395 Pages
• 20 Chapters
• $9.99 http://amzn.to/1a55L89
Slide Deck & Source Code
• Normal Slide Decks – http://slidesha.re/15YTrTT
• Today’s Slides - http://bit.ly/1m66Hu6
• Source Code – http://GitHub.com/docluv/movies
Touch
• Touch Is Not New
• Mobile Devices Have Made Touch Common
Import Touch Design Considerations
• Make Data Actionable
• Make Actionable Items Easy to Touch
• Provide Enough Margin between Touch Points to Eliminate
Touch Error
• Simple is often Better
Touch Guidelines
• iOS Human Interface guidelines - http://bit.ly/UYh3Vh
• Windows Phone Design and Interaction Guidelines -
http://bit.ly/1nUhREj
• Windows Store UI Guidelines Touch Interactions -
http://bit.ly/1nUhTMg
• Unbuntu - Designing for Finger UIs – http://bit.ly/1suY2s1
• Android Touch Feedback Guidelines - http://bit.ly/1nUi0HB
• Guidelines for Building Touch Friendly Sites -
http://bit.ly/1qqAFfh
Hover
• There is Currently No Hover Event Related To Touch
• This May Eventually Change
• Internet Explorer Supports Tap + Hold to Trigger Hover
Event
• Always Provide Secondary, Touch Friendly Mechanism To
Trigger Hover Actions
Touch Your Application
• Content Must Be Touchable
• Account for Fat Fingers
• Support APIs
• Mouse
• Touch (Apple)
• Pointer (MSFT & W3C)
Touch Your Application
Touch Your Application
• The Average Human Finger
is 11mm in Diameter
• Fingers Range from 8mm -
19mm
• Baby to Large Man
Touch Your Application
• Touch Points Need Margin
• Or Separation From
Neighbors
Touch Gestures
• Pan
• Pinch/Zoom
• Swipe
• Tap
• Tap + Hold
• Rotate
Touch-action
• CSS Property to Help Determine How Touch is Handled
• Auto
• None
• Pan-x
• Pan-y
• Can disable Auto-zoom
• Enable Scrolling
• http://bit.ly/Thlyc0
Scrolling Content
overflow: scroll;
-webkit-overflow-scrolling: touch;
-ms-overflow-style: -ms-autohiding-scrollbar;
-ms-scroll-chaining: none;
-ms-scroll-translation: vertical-to-horizontal;
Scrollable Lists
• Vertical
• Horizontal
• Momentum
• Rubber band or Bounce Effect
Scroll View Container
Data Element Container
<div class="xy-scroller-wrapper">
<div class="movie-poster-div movie-poster-grid">
<!– The wrapping element should have known width Assigned -->
[Data Elements]
</div>
</div>
.x-scroller-wrapper, .xy-scroller-wrapper, .y-scroller-wrapper {
/* properties */
}
Input Modalities
• Mouse
• Touch
• Pen
• Non-Touch
• Keyboard
• Voice
• Eye Tracking & Assistive Technologies
Input Modality APIs
• Mouse
• Touch
• Patented By Apple
• W3C http://bit.ly/SZEGee
• Pointer
• Created by Microsoft
• Kinect
Mouse API
• MouseDown
• MouseUp
• MouseOver
• MouseMove
• MouseEnter
• MouseCancel
• Click, etc
• Multiple Buttons
Apple’s Touch API
• TouchStart
• TouchEnd
• TouchMove
• TouchCancel
Apple’s Gesture API
• Rotate
• Scale
• http://bit.ly/SZFC2e
• onGestureChange: function(e) {
e.preventDefault();
e.target.style.webkitTransform =
'scale(' + e.scale + startScale + ') rotate(' + e.rotation +
startRotation + 'deg)';
}
Pointer Events
• Created By Internet Explorer Team
• Abstracts Mouse, Touch, Pen into Common API
• W3C Standard http://bit.ly/1we8qmu
• Public Domain, not Patented
Pointer Events
Pointer Events
• Pointerdown
• Pointerup
• Pointercancel
• Pointermove
• Pointerover
• Pointerout
• Pointerenter
• Pointerleave
• Gotpointercapture
• lostpointercapture
MSGestureEvent
• Similar to Apple’s Gesture Events
• Scale
• Rotate
• http://bit.ly/1lIaqzJ
MSGestureEvent
• MSGestureChange
• MSGestureEnd
• MSGestureHold
• MSGestureStart
• MSGestureTap
• MSInertiaStart
Touch Libraries
HammerJS - http://bit.ly/1kXXT6X
HandJS – Pointer Events Polyfil http://bit.ly/1wduAFn
DeepTissue – http://deeptissuejs.com
DeepTissue
• Abstracts Touch & Mouse APIs
• Abstracts Input Modality Gestures
• http://deeptissuejs.com
DeepTissue
var dt = deeptissue(".sgl-tap");
dt.tap(function (evt) {
tl.textContent = "Single Tapn" + tl.textContent;
console.log(evt.type);
console.log(evt.screenX);
console.log(evt.screenY);
});
Touch the web
INPUT TYPE=XXXX
• New Input Types Drive On-Screen
Keyboards
• Drives Native Validation
• Tel, email, url, number, etc
High Performance Single Page Web
Applications
• Responsive Design
• Touch
• Mobile First
• SPA
• Extensible, Scalable Architecture
• Web Build and Workflow
• Goes Really Fast!
• ~395 Pages
• 20 Chapters
• $9.99 http://amzn.to/1a55L89

More Related Content

KEY
Mobile html5
PPTX
Website Review with Screen Reader vs. SiteImprove
PPT
2010 11 pubcon_hendison_wordpress
KEY
Freelancing and side-projects on Rails
PDF
How Does the Internet Work? (Wix she codes; branch)
KEY
Becoming a more productive Rails Developer
PDF
Containers across Clouds - Docker Randstad, April 17th, 2015
KEY
Windycityrails page performance
Mobile html5
Website Review with Screen Reader vs. SiteImprove
2010 11 pubcon_hendison_wordpress
Freelancing and side-projects on Rails
How Does the Internet Work? (Wix she codes; branch)
Becoming a more productive Rails Developer
Containers across Clouds - Docker Randstad, April 17th, 2015
Windycityrails page performance

Viewers also liked (6)

PPTX
A night at the spa
PPTX
SPAs Are Easy
PPTX
Doing Modern Web, aka JavaScript and HTML5 in the Enterprise NYC Code Camp
PPTX
Developing and deploying a website with html5
PPTX
10 Things You Can Do to Speed Up Your Web App Today
PPTX
Single page applications the basics
A night at the spa
SPAs Are Easy
Doing Modern Web, aka JavaScript and HTML5 in the Enterprise NYC Code Camp
Developing and deploying a website with html5
10 Things You Can Do to Speed Up Your Web App Today
Single page applications the basics
Ad

Similar to Touch the web (20)

PPTX
Fast multi touch enabled web sites
PPTX
Tips for building fast multi touch enabled web sites
PDF
T3con10_html5_kosack_zinner
PDF
Interactions in Responsive Web - BDConf Orlando 2014
PPTX
CSS for Touch Devices
PDF
The touch events
KEY
Creating Responsive HTML5 Touch Interfaces
PPTX
Touch me, I Dare You...
PPTX
Getting Touchy Feely with the Web
PDF
Touchevents
PDF
The touch events
PDF
The touch events - WebExpo
PDF
Getting touchy - an introduction to touch and pointer events / Frontend NE / ...
PPTX
A Day Building Fast, Responsive, Extensible Single Page Applications
PDF
Responsive Web Design and touch devices
PDF
Getting touchy - an introduction to touch and pointer events / TPAC 2016 / Li...
PDF
Getting touchy - an introduction to touch events / Web Standards Days / Mosco...
PDF
Getting touchy - an introduction to touch and pointer events (1 day workshop)...
PDF
Getting touchy - an introduction to touch events / Sainté Mobile Days / Saint...
PDF
Getting touchy - an introduction to touch and pointer events (complete master...
Fast multi touch enabled web sites
Tips for building fast multi touch enabled web sites
T3con10_html5_kosack_zinner
Interactions in Responsive Web - BDConf Orlando 2014
CSS for Touch Devices
The touch events
Creating Responsive HTML5 Touch Interfaces
Touch me, I Dare You...
Getting Touchy Feely with the Web
Touchevents
The touch events
The touch events - WebExpo
Getting touchy - an introduction to touch and pointer events / Frontend NE / ...
A Day Building Fast, Responsive, Extensible Single Page Applications
Responsive Web Design and touch devices
Getting touchy - an introduction to touch and pointer events / TPAC 2016 / Li...
Getting touchy - an introduction to touch events / Web Standards Days / Mosco...
Getting touchy - an introduction to touch and pointer events (1 day workshop)...
Getting touchy - an introduction to touch events / Sainté Mobile Days / Saint...
Getting touchy - an introduction to touch and pointer events (complete master...
Ad

More from Chris Love (20)

PPTX
Quick Fetch API Introduction
PPTX
Introduction to Progressive Web Applications
PPTX
Introduction to Progressive Web Applications
PPTX
Lazy load Website Assets
PPTX
Progressive Web Apps for Education
PPTX
The server is dead going serverless to create a highly scalable application y...
PPTX
Real World Lessons in Progressive Web Application & Service Worker Caching
PPTX
Disrupting the application eco system with progressive web applications
PPTX
Service workers your applications never felt so good
PPTX
Develop a vanilla.js spa you and your customers will love
PPTX
JavaScript front end performance optimizations
PPTX
Advanced front end debugging with ms edge and ms tools
PPTX
Html5 Fit: Get Rid of Love Handles
PPTX
Using Responsive Web Design To Make Your Web Work Everywhere - Updated
PPTX
Implementing a Responsive Image Strategy
PPTX
Using Responsive Web Design To Make Your Web Work Everywhere
PPTX
10 things you can do to speed up your web app today 2016
PPT
Css best practices style guide and tips
PPTX
Using Responsive Web Design To Make Your Web Work Everywhere
PPTX
An Introduction to Microsoft Edge
Quick Fetch API Introduction
Introduction to Progressive Web Applications
Introduction to Progressive Web Applications
Lazy load Website Assets
Progressive Web Apps for Education
The server is dead going serverless to create a highly scalable application y...
Real World Lessons in Progressive Web Application & Service Worker Caching
Disrupting the application eco system with progressive web applications
Service workers your applications never felt so good
Develop a vanilla.js spa you and your customers will love
JavaScript front end performance optimizations
Advanced front end debugging with ms edge and ms tools
Html5 Fit: Get Rid of Love Handles
Using Responsive Web Design To Make Your Web Work Everywhere - Updated
Implementing a Responsive Image Strategy
Using Responsive Web Design To Make Your Web Work Everywhere
10 things you can do to speed up your web app today 2016
Css best practices style guide and tips
Using Responsive Web Design To Make Your Web Work Everywhere
An Introduction to Microsoft Edge

Recently uploaded (20)

PPTX
cloud_computing_Infrastucture_as_cloud_p
PDF
Microsoft Solutions Partner Drive Digital Transformation with D365.pdf
PDF
Zenith AI: Advanced Artificial Intelligence
PDF
project resource management chapter-09.pdf
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
A novel scalable deep ensemble learning framework for big data classification...
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PPTX
A Presentation on Touch Screen Technology
PDF
Heart disease approach using modified random forest and particle swarm optimi...
PPTX
SOPHOS-XG Firewall Administrator PPT.pptx
PDF
Transform Your ITIL® 4 & ITSM Strategy with AI in 2025.pdf
PDF
DP Operators-handbook-extract for the Mautical Institute
PDF
Enhancing emotion recognition model for a student engagement use case through...
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
A comparative analysis of optical character recognition models for extracting...
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PDF
Getting Started with Data Integration: FME Form 101
cloud_computing_Infrastucture_as_cloud_p
Microsoft Solutions Partner Drive Digital Transformation with D365.pdf
Zenith AI: Advanced Artificial Intelligence
project resource management chapter-09.pdf
Unlocking AI with Model Context Protocol (MCP)
A novel scalable deep ensemble learning framework for big data classification...
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
A Presentation on Touch Screen Technology
Heart disease approach using modified random forest and particle swarm optimi...
SOPHOS-XG Firewall Administrator PPT.pptx
Transform Your ITIL® 4 & ITSM Strategy with AI in 2025.pdf
DP Operators-handbook-extract for the Mautical Institute
Enhancing emotion recognition model for a student engagement use case through...
Building Integrated photovoltaic BIPV_UPV.pdf
A comparative analysis of optical character recognition models for extracting...
Assigned Numbers - 2025 - Bluetooth® Document
Getting Started with Data Integration: FME Form 101

Touch the web

  • 1. Touch The Web Chris Love @ChrisLove Love2Dev.com
  • 2. Who Am I • ASP.NET MVP • ASP Insider • Internet Explorer User Agent • Author • Speaker • Tweaker, Lover of Web, JavaScript, CSS & HTML5 • @ChrisLove • Love2Dev.com
  • 3. High Performance Single Page Web Applications • Responsive Design • Touch • Mobile First • SPA • Extensible, Scalable Architecture • Web Build and Workflow • Goes Really Fast! • ~395 Pages • 20 Chapters • $9.99 http://amzn.to/1a55L89
  • 4. Slide Deck & Source Code • Normal Slide Decks – http://slidesha.re/15YTrTT • Today’s Slides - http://bit.ly/1m66Hu6 • Source Code – http://GitHub.com/docluv/movies
  • 5. Touch • Touch Is Not New • Mobile Devices Have Made Touch Common
  • 6. Import Touch Design Considerations • Make Data Actionable • Make Actionable Items Easy to Touch • Provide Enough Margin between Touch Points to Eliminate Touch Error • Simple is often Better
  • 7. Touch Guidelines • iOS Human Interface guidelines - http://bit.ly/UYh3Vh • Windows Phone Design and Interaction Guidelines - http://bit.ly/1nUhREj • Windows Store UI Guidelines Touch Interactions - http://bit.ly/1nUhTMg • Unbuntu - Designing for Finger UIs – http://bit.ly/1suY2s1 • Android Touch Feedback Guidelines - http://bit.ly/1nUi0HB • Guidelines for Building Touch Friendly Sites - http://bit.ly/1qqAFfh
  • 8. Hover • There is Currently No Hover Event Related To Touch • This May Eventually Change • Internet Explorer Supports Tap + Hold to Trigger Hover Event • Always Provide Secondary, Touch Friendly Mechanism To Trigger Hover Actions
  • 9. Touch Your Application • Content Must Be Touchable • Account for Fat Fingers • Support APIs • Mouse • Touch (Apple) • Pointer (MSFT & W3C)
  • 11. Touch Your Application • The Average Human Finger is 11mm in Diameter • Fingers Range from 8mm - 19mm • Baby to Large Man
  • 12. Touch Your Application • Touch Points Need Margin • Or Separation From Neighbors
  • 13. Touch Gestures • Pan • Pinch/Zoom • Swipe • Tap • Tap + Hold • Rotate
  • 14. Touch-action • CSS Property to Help Determine How Touch is Handled • Auto • None • Pan-x • Pan-y • Can disable Auto-zoom • Enable Scrolling • http://bit.ly/Thlyc0
  • 15. Scrolling Content overflow: scroll; -webkit-overflow-scrolling: touch; -ms-overflow-style: -ms-autohiding-scrollbar; -ms-scroll-chaining: none; -ms-scroll-translation: vertical-to-horizontal;
  • 16. Scrollable Lists • Vertical • Horizontal • Momentum • Rubber band or Bounce Effect
  • 17. Scroll View Container Data Element Container
  • 18. <div class="xy-scroller-wrapper"> <div class="movie-poster-div movie-poster-grid"> <!– The wrapping element should have known width Assigned --> [Data Elements] </div> </div>
  • 20. Input Modalities • Mouse • Touch • Pen • Non-Touch • Keyboard • Voice • Eye Tracking & Assistive Technologies
  • 21. Input Modality APIs • Mouse • Touch • Patented By Apple • W3C http://bit.ly/SZEGee • Pointer • Created by Microsoft • Kinect
  • 22. Mouse API • MouseDown • MouseUp • MouseOver • MouseMove • MouseEnter • MouseCancel • Click, etc • Multiple Buttons
  • 23. Apple’s Touch API • TouchStart • TouchEnd • TouchMove • TouchCancel
  • 24. Apple’s Gesture API • Rotate • Scale • http://bit.ly/SZFC2e • onGestureChange: function(e) { e.preventDefault(); e.target.style.webkitTransform = 'scale(' + e.scale + startScale + ') rotate(' + e.rotation + startRotation + 'deg)'; }
  • 25. Pointer Events • Created By Internet Explorer Team • Abstracts Mouse, Touch, Pen into Common API • W3C Standard http://bit.ly/1we8qmu • Public Domain, not Patented
  • 27. Pointer Events • Pointerdown • Pointerup • Pointercancel • Pointermove • Pointerover • Pointerout • Pointerenter • Pointerleave • Gotpointercapture • lostpointercapture
  • 28. MSGestureEvent • Similar to Apple’s Gesture Events • Scale • Rotate • http://bit.ly/1lIaqzJ
  • 29. MSGestureEvent • MSGestureChange • MSGestureEnd • MSGestureHold • MSGestureStart • MSGestureTap • MSInertiaStart
  • 30. Touch Libraries HammerJS - http://bit.ly/1kXXT6X HandJS – Pointer Events Polyfil http://bit.ly/1wduAFn DeepTissue – http://deeptissuejs.com
  • 31. DeepTissue • Abstracts Touch & Mouse APIs • Abstracts Input Modality Gestures • http://deeptissuejs.com
  • 32. DeepTissue var dt = deeptissue(".sgl-tap"); dt.tap(function (evt) { tl.textContent = "Single Tapn" + tl.textContent; console.log(evt.type); console.log(evt.screenX); console.log(evt.screenY); });
  • 34. INPUT TYPE=XXXX • New Input Types Drive On-Screen Keyboards • Drives Native Validation • Tel, email, url, number, etc
  • 35. High Performance Single Page Web Applications • Responsive Design • Touch • Mobile First • SPA • Extensible, Scalable Architecture • Web Build and Workflow • Goes Really Fast! • ~395 Pages • 20 Chapters • $9.99 http://amzn.to/1a55L89