+ All Categories
Home > Technology > Mobile, Media & Touch

Mobile, Media & Touch

Date post: 28-Jan-2015
Category:
Upload: tim-wright
View: 115 times
Download: 0 times
Share this document with a friend
Description:
 
Popular Tags:
41
Mobile, Media & Touch Tim Wright | csskarma.com | @csskarma One guy’s opinion about CSS Media Queries & Mobile Detection Thursday, October 21, 2010
Transcript
Page 1: Mobile, Media & Touch

Mobile, Media & Touch

Tim Wright | csskarma.com | @csskarma

One guy’s opinion about CSS Media Queries & Mobile Detection

Thursday, October 21, 2010

Page 2: Mobile, Media & Touch

About me•Code  monkey  /  designer  at  USC

•Blogger  on  CSSKarma

•Writer  for  Smashing  Magazine  &  SitePoint

•Avid  tweeter  under  @csskarma

•Couch  potato

Thursday, October 21, 2010

Page 3: Mobile, Media & Touch

What we’ll cover• Current  state

• Device  detection  (up  &  downsides)

• Screen  detection  (up  &  downsides)

• Future  state

• Another  way

• Touch  detection

• Combining  techniques

• Fallbacks

Thursday, October 21, 2010

Page 4: Mobile, Media & Touch

The  current  state  of  detection

Thursday, October 21, 2010

Page 5: Mobile, Media & Touch

Device  Detection.Server-side, with PHP

Thursday, October 21, 2010

Page 6: Mobile, Media & Touch

What  we’re  looking  for

<?php echo $_SERVER['HTTP_USER_AGENT']?>

Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_4; en-US) AppleWebKit/534.3 (KHTML, like Gecko) Chrome/6.0.472.63 Safari/534.3

Thursday, October 21, 2010

Page 7: Mobile, Media & Touch

Server-­‐side  detection  code<?php//setting the variables$ipod = stripos($_SERVER['HTTP_USER_AGENT'],"ipod");$iphone = stripos($_SERVER['HTTP_USER_AGENT'],"iphone");$ipad = stripos($_SERVER['HTTP_USER_AGENT'],"ipad");

//detecting deviceif ($ipod == true || $iphone == true || $ipad == true){ echo "<p>Apple Touch Product</p>"; } else { echo "<p>Screen</p>";}?>

Thursday, October 21, 2010

Page 8: Mobile, Media & Touch

The  upside

•Speed

•Support

•Established  standard

Thursday, October 21, 2010

Page 9: Mobile, Media & Touch

The  downside

•Scalability

•Maintainability

•Established  standard

Thursday, October 21, 2010

Page 10: Mobile, Media & Touch

Let’s  see  one

www.csskarma.com/presentations/cssla/server

Thursday, October 21, 2010

Page 11: Mobile, Media & Touch

Screen  Detection.CSS Media Queries

Thursday, October 21, 2010

Page 12: Mobile, Media & Touch

What  are  they?

Thursday, October 21, 2010

Page 13: Mobile, Media & Touch

Media  query  codeEmbedding@media screen and (min-width:320px) and (max-width:480px){

// styles here

}

Linking<link rel=”stylesheet” href=”mobile.css” media=”screen and (min-width:320px) and (max-width:480px)”>

Thursday, October 21, 2010

Page 14: Mobile, Media & Touch

Property  options• print,  screen,  etc.

• device-­‐aspect-­‐ratio

• orientationportrait/landscape

• color  (color  monitor/screen)

• monochrome

• min-­‐color-­‐index256

• min  &  max  width

• min  &  max  device  width

• (-­‐webkit-­‐)min-­‐device-­‐pixel-­‐ratio1.5  is  iPhone  4

Thursday, October 21, 2010

Page 15: Mobile, Media & Touch

The  upside• Scalability

• Altering  readability  &  the  interfaceline-­‐height

• Great  for  design

• Hotness

Thursday, October 21, 2010

Page 17: Mobile, Media & Touch

Let’s  see  one

www.csskarma.com/presentations/cssla/screen

Thursday, October 21, 2010

Page 18: Mobile, Media & Touch

The  future  state  of  detection

Thursday, October 21, 2010

Page 19: Mobile, Media & Touch

Building  Interaction

Thursday, October 21, 2010

Page 20: Mobile, Media & Touch

Progressive  Enhancement  Timeline

Thursday, October 21, 2010

Page 21: Mobile, Media & Touch

What  we  lose  with  touch

Thursday, October 21, 2010

Page 22: Mobile, Media & Touch

What  we  lose  with  touch

Thursday, October 21, 2010

Page 23: Mobile, Media & Touch

Thursday, October 21, 2010

Page 24: Mobile, Media & Touch

Scouring  safari  developer  docs

•“Touch”  event  object

•A  butt-­‐load  of  gesture  events

•Kick  ass  demossuuurrreee,  where  are  they?

Thursday, October 21, 2010

Page 25: Mobile, Media & Touch

Touch  Detection.Building a rich interface

Thursday, October 21, 2010

Page 26: Mobile, Media & Touch

The  “Touch”  event  object

if(window.Touch){

// you’re good

} else {

// you’re kinda lame

}

Thursday, October 21, 2010

Page 27: Mobile, Media & Touch

Gesture  Eventsontouchstart

ontouchmove

ontouchend

ontouchcancel

gesturestart

gesturechange

gestureend

orientationchange

Thursday, October 21, 2010

Page 28: Mobile, Media & Touch

Default  Behaviors

Thursday, October 21, 2010

Page 29: Mobile, Media & Touch

Preventing  Default  Behaviors

var elem = document.getElementById(‘thingy’);

elem.addEventListener(‘touchstart’, touchStart, false);

function touchstart(event){

event.preventDefault();

}

Thursday, October 21, 2010

Page 30: Mobile, Media & Touch

Let’s  see  one

www.csskarma.com/presentations/cssla/detect

Thursday, October 21, 2010

Page 31: Mobile, Media & Touch

Combining  Techniques.Creating the super-experience

Thursday, October 21, 2010

Page 32: Mobile, Media & Touch

Media  Queries+

Touch  Detection=

<3

Thursday, October 21, 2010

Page 33: Mobile, Media & Touch

Let’s  see  one

www.csskarma.com/presentations/cssla/combo

Thursday, October 21, 2010

Page 34: Mobile, Media & Touch

Fallbacks.Never forgetting about the little guy

Thursday, October 21, 2010

Page 35: Mobile, Media & Touch

Build  it  backwards.

Thursday, October 21, 2010

Page 36: Mobile, Media & Touch

Build  it  Backwards

body{ /* boring crap */ }

@media screen and (min-width:1px){

/* exciting junk */

}

Thursday, October 21, 2010

Page 37: Mobile, Media & Touch

What we covered• Current  state

• Device  detection  (up  &  downsides)

• Screen  detection  (up  &  downsides)

• Future  state

• Another  way

• Touch  detection

• Combining  techniques

• Fallbacks

Thursday, October 21, 2010

Page 38: Mobile, Media & Touch

Resources• Hardboiled  CSS  Media  Queries

http://stuffandnonsense.co.uk/blog/about/hardboiled_css3_media_queries

• Mobile  detection  scripthttp://detectmobilebrowsers.mobi/

• Safari  developer  documentationhttp://developer.apple.com/library/safari/navigation/

• Proportional  Leadinghttp://forabeautifulweb.com/blog/about/proportional_leading_with_css3_media_queries/

• Responsive  Web  Designhttp://www.alistapart.com/articles/responsive-­‐web-­‐design/

Thursday, October 21, 2010

Page 39: Mobile, Media & Touch

Real Life Example

•Netflix

•Yahoo!  Mobile

•Yahoo!  Sports

Thursday, October 21, 2010

Page 40: Mobile, Media & Touch

Questions?

Thursday, October 21, 2010

Page 41: Mobile, Media & Touch

Thanks!e-­‐mail:  [email protected]

twitter:  @csskarma

slides:  csskarma.com/presentations/cssla

Thursday, October 21, 2010


Recommended