Progressive Enhancement 101

33
Thought Works JAMES COOK / GARETH ROGERS / KORNY SIETSMA Progressive 101 Enhancement

description

Introduction to Progressive Enhancement

Transcript of Progressive Enhancement 101

Page 1: Progressive Enhancement 101

ThoughtWorksJ A M E S C O O K / G A R E T H R O G E R S / K O R N Y S I E T S M A

Progressive

101Enhancement

Page 2: Progressive Enhancement 101
Page 3: Progressive Enhancement 101

Progressive Enhancement !

!

What is it?

Page 4: Progressive Enhancement 101

Progressive enhancement is a strategy for building web things in a layered fashion that allows everyone to access the basic content and functionality, using any browser or connection, while also providing an enhanced version to those with more

advanced software or greater bandwidth.

Definition

Page 5: Progressive Enhancement 101
Page 6: Progressive Enhancement 101
Page 7: Progressive Enhancement 101
Page 8: Progressive Enhancement 101
Page 9: Progressive Enhancement 101
Page 10: Progressive Enhancement 101
Page 11: Progressive Enhancement 101

Layer your interface

Page 12: Progressive Enhancement 101

Layer your interface

Semantic markup HTML

Baseline styles CSS

Modern styles CSS

Behaviour Scripting

Content task or prose

Page 13: Progressive Enhancement 101
Page 14: Progressive Enhancement 101
Page 15: Progressive Enhancement 101
Page 16: Progressive Enhancement 101

Progressive Enhancement !

!

Why care?

Page 17: Progressive Enhancement 101
Page 18: Progressive Enhancement 101
Page 19: Progressive Enhancement 101
Page 20: Progressive Enhancement 101
Page 21: Progressive Enhancement 101

Simplify your solution Reduce development time

Reduce bugs Ease maintenance

Improve performance Support the past

Future-proof Mobile-critical

Page 22: Progressive Enhancement 101

You’ll build a better product

Page 23: Progressive Enhancement 101

Think, design, build – iteratively

Page 24: Progressive Enhancement 101

You don’t always know from where

your stuff will be accessed or by whom or on what

Page 25: Progressive Enhancement 101

https://gds.blog.gov.uk/2013/10/21/how-many-people-are-missing-out-on-javascript-enhancement

We didn’t really have any idea how many people are experiencing UK government web services without the enhancement of JavaScript…

GDS JavaScript research

Page 26: Progressive Enhancement 101

Temporary network errors DNS lookup failures

Server response failures Corporate & Government Firewalls

Network Provider filters Browser extensions

Page 27: Progressive Enhancement 101

Progressive Enhancement !

!

How to do it

Page 28: Progressive Enhancement 101
Page 29: Progressive Enhancement 101
Page 30: Progressive Enhancement 101
Page 31: Progressive Enhancement 101

Key technology enablers Advanced CSS

Shared client/server view templates Shared client/server code

Nashorn! React / OM / What’s next?

Page 32: Progressive Enhancement 101

• Aaron Gustafson’s series on A List Apart: Understanding Progressive Enhancement, Progressive Enhancement with CSS, and Progressive Enhancement with JavaScript.

• Progressive enhancement is still important, by Jake Archibald

• Progressive Enhancement: What It Is, And How To Use It? on Smashing Magazine

• Designing with Progressive Enhancement, by Filament Group

• Enough with the JavaScript Already, by Nicholoas Zakas

Further Reading…

Page 33: Progressive Enhancement 101

http://slideshare.net/ohellojamesS L I D E S AT

Any discussion?