Download - Crafting Rich Experiences with Progressive Enhancement [WebVisions 2011]

Transcript
Page 1: Crafting Rich Experiences with Progressive Enhancement [WebVisions 2011]

CRAFTING RICHEXPERIENCESwith progressive enhancement

Page 2: Crafting Rich Experiences with Progressive Enhancement [WebVisions 2011]

progressive enhancement

?

Page 3: Crafting Rich Experiences with Progressive Enhancement [WebVisions 2011]

TECHNOLOGICALRESTRICTIONS

Page 4: Crafting Rich Experiences with Progressive Enhancement [WebVisions 2011]
Page 5: Crafting Rich Experiences with Progressive Enhancement [WebVisions 2011]

MCMLXXVII

Page 6: Crafting Rich Experiences with Progressive Enhancement [WebVisions 2011]

MCMLXXVII(that’s 1977)

Page 7: Crafting Rich Experiences with Progressive Enhancement [WebVisions 2011]
Page 8: Crafting Rich Experiences with Progressive Enhancement [WebVisions 2011]
Page 9: Crafting Rich Experiences with Progressive Enhancement [WebVisions 2011]
Page 10: Crafting Rich Experiences with Progressive Enhancement [WebVisions 2011]
Page 11: Crafting Rich Experiences with Progressive Enhancement [WebVisions 2011]
Page 12: Crafting Rich Experiences with Progressive Enhancement [WebVisions 2011]
Page 13: Crafting Rich Experiences with Progressive Enhancement [WebVisions 2011]
Page 14: Crafting Rich Experiences with Progressive Enhancement [WebVisions 2011]

HTML CSS

Page 15: Crafting Rich Experiences with Progressive Enhancement [WebVisions 2011]

fault tolerancen. a system’s ability to continue to operate when it encounters and unexpected error.

Page 16: Crafting Rich Experiences with Progressive Enhancement [WebVisions 2011]
Page 17: Crafting Rich Experiences with Progressive Enhancement [WebVisions 2011]
Page 18: Crafting Rich Experiences with Progressive Enhancement [WebVisions 2011]
Page 19: Crafting Rich Experiences with Progressive Enhancement [WebVisions 2011]

BROWSERS IGNORE WHAT

THEY DON’T UNDERSTAND

Page 20: Crafting Rich Experiences with Progressive Enhancement [WebVisions 2011]

GRACEFULDEGRADATION

Page 21: Crafting Rich Experiences with Progressive Enhancement [WebVisions 2011]

MODERN BROWSERS

OLDER BROWSERS

Page 22: Crafting Rich Experiences with Progressive Enhancement [WebVisions 2011]

PROGRESSIVE ENHANCEMENT

Page 23: Crafting Rich Experiences with Progressive Enhancement [WebVisions 2011]

CONTENT

Page 24: Crafting Rich Experiences with Progressive Enhancement [WebVisions 2011]
Page 25: Crafting Rich Experiences with Progressive Enhancement [WebVisions 2011]

ACCESSIBILITY

Page 26: Crafting Rich Experiences with Progressive Enhancement [WebVisions 2011]

“SPECIAL NEEDS”

Page 27: Crafting Rich Experiences with Progressive Enhancement [WebVisions 2011]

CAN BECONTEXTUAL

“SPECIAL NEEDS”

Page 28: Crafting Rich Experiences with Progressive Enhancement [WebVisions 2011]
Page 29: Crafting Rich Experiences with Progressive Enhancement [WebVisions 2011]

GRACEFUL DEGRADATION PROGRESSIVEENHANCEMENT

Page 30: Crafting Rich Experiences with Progressive Enhancement [WebVisions 2011]

OOOH SHINY!,

Page 31: Crafting Rich Experiences with Progressive Enhancement [WebVisions 2011]

PROGRESSIVE ENHANCEMENT

ISN’T ABOUT BROWSERS

Page 32: Crafting Rich Experiences with Progressive Enhancement [WebVisions 2011]

BROWSERS AND TECHNOLOGIES COME AND GO

Page 33: Crafting Rich Experiences with Progressive Enhancement [WebVisions 2011]

DON’T LOSE SIGHT OF

YOUR USERS

Page 34: Crafting Rich Experiences with Progressive Enhancement [WebVisions 2011]

BASIC ADVANCED

Use

r Exp

erie

nce

Browser Capabilities

Page 35: Crafting Rich Experiences with Progressive Enhancement [WebVisions 2011]

BASIC ADVANCED

Use

r Exp

erie

nce

Browser Capabilities

Content

Page 36: Crafting Rich Experiences with Progressive Enhancement [WebVisions 2011]

BASIC ADVANCED

Use

r Exp

erie

nce

Browser Capabilities

Content

Semantics

Page 37: Crafting Rich Experiences with Progressive Enhancement [WebVisions 2011]

BASIC ADVANCED

Use

r Exp

erie

nce

Browser Capabilities

Content

Semantics

Design

Page 38: Crafting Rich Experiences with Progressive Enhancement [WebVisions 2011]

BASIC ADVANCED

Use

r Exp

erie

nce

Browser Capabilities

Content

Semantics

Design

Interactivity

Page 39: Crafting Rich Experiences with Progressive Enhancement [WebVisions 2011]

BASIC ADVANCED

Use

r Exp

erie

nce

Browser Capabilities

Content

Semantics

Design

Interactivity

Accessibility

Page 40: Crafting Rich Experiences with Progressive Enhancement [WebVisions 2011]

BASIC ADVANCED

Use

r Exp

erie

nce

Browser Capabilities

Text & HTTP

HTML

CSS

JavaScript

ARIA

Page 41: Crafting Rich Experiences with Progressive Enhancement [WebVisions 2011]

FOR EXAMPLE

Page 42: Crafting Rich Experiences with Progressive Enhancement [WebVisions 2011]

<input type="date" name="dob"/>

Page 43: Crafting Rich Experiences with Progressive Enhancement [WebVisions 2011]

<video poster=”poster.png”>

<source src=”video.m4v”/>

<source src=”video.webm”/>

<source src=”video.ogv”/>

<img src=”poster.png” alt=””/>

<ul>

<li><a href="video.m4v">Download MP4</a></li>

<li><a href="video.webm">Download WebM</a></li>

<li><a href="video ogv">Download Ogg</a></li>

</ul>

</video>

Page 44: Crafting Rich Experiences with Progressive Enhancement [WebVisions 2011]

<header role=”banner”>

<h1><img src="i/logo.png"/></h1>

<nav role=”navigation”>

<ol>

<li><a href="#details">Details</a></li>

<li><a href="#schedule">Schedule</a></li>

<li><a href="#instructors">Instructors</a></li>

<li><a href="#lodging">Lodging</a></li>

<li><a href="#location">Location</a></li>

</ol>

</nav>

</header>

Page 45: Crafting Rich Experiences with Progressive Enhancement [WebVisions 2011]

p {

color: #ccc;

color: rgba( 0, 0, 0, .5 );

}

Page 46: Crafting Rich Experiences with Progressive Enhancement [WebVisions 2011]

html[lang] p {

color: #ccc;

color: rgba( 0, 0, 0, .5 );

}

Page 47: Crafting Rich Experiences with Progressive Enhancement [WebVisions 2011]

IE6 & underMOSe

Page 48: Crafting Rich Experiences with Progressive Enhancement [WebVisions 2011]

#intro {

/* Basic Layout */

}

/* ... */

body[id=css-zen-garden] #intro {

/* Advanced Layout */

}

Page 49: Crafting Rich Experiences with Progressive Enhancement [WebVisions 2011]

#intro {

/* Basic Layout */

}

/* ... */

[foo],

#intro {

/* Advanced Layout */

}

Page 50: Crafting Rich Experiences with Progressive Enhancement [WebVisions 2011]

@import 'not-for-IE7-or-below.css'

screen;

@media screen, print, refrigerator {

/* IE will get these rules */

}

Page 51: Crafting Rich Experiences with Progressive Enhancement [WebVisions 2011]

@media

screen and (min-device-width:1024px)

and (max-width:989px),

screen and (max-device-width:480px),

screen and (max-device-width:480px)

and (orientation:landscape),

screen and (min-device-width:481px)

and (orientation:portrait) {

/* Layout for narrower desktop (below 990px)

or

iPhone running iOS 3 (or equivalent)

or

iPhone running iOS 4 (or equivalent) in “landscape” view

or

iPad (or equivalent) in “portrait” view */

}

Page 52: Crafting Rich Experiences with Progressive Enhancement [WebVisions 2011]
Page 53: Crafting Rich Experiences with Progressive Enhancement [WebVisions 2011]

Text & HTTP

HTML

CSS

JavaScript

ARIA

Page 54: Crafting Rich Experiences with Progressive Enhancement [WebVisions 2011]

Crafting Rich Experiences with Progressive Enhancement

by Aaron Gustafson

More of the same:http://adaptivewebdesign.info

http://easy-designs.nethttp://easy-reader.net

http://aaron-gustafson.com

Slides available athttp://slideshare.net/AaronGustafson

This presentation is licensed underCreative Commons

Attribution-Noncommercial-Share Alike 3.0

flickr Photo Credits“Drumming circle” by Explore The Bruce

“Usability Fail” by soopahgrover“ferris wheel? not yet…” by drcorneilus