Crafting Rich Experiences with Progressive Enhancement [WebVisions 2011]

54
CRAFTING RICH EXPERIENCES with progressive enhancement

description

If you’ve been working on the web for any amount of time, you’ve likely heard (or even used) the term “progressive enhancement” before. As you probably know, it is the gold standard of how to approach web design. But what is progressive enhancement really? What does it mean? How does it work? And how does it fit into our workflow in a time of rapidly evolving languages and browsers? In this session, Aaron Gustafson will answer all of these questions and provide concrete takeaways that will help you improve your web design skills.

Transcript of Crafting Rich Experiences with Progressive Enhancement [WebVisions 2011]

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