Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Strategies For Progressive Enhancement
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Drew McLellan
September 27, 2011
Technology
97
1
Share
Strategies For Progressive Enhancement
Drew McLellan
September 27, 2011
More Decks by Drew McLellan
See All by Drew McLellan
HTML5 APIs PHP Yorkshire 2017
drewm
1
210
HTML5 APIs Confoo Montreal
drewm
1
270
PHP Payments with Omnipay
drewm
0
120
HTML5 APIs Confoo Vancouver
drewm
0
290
Learn to Love Regular Expressions
drewm
0
170
Ecommerce Projects with Moltin
drewm
0
700
Writing Portable PHP
drewm
0
140
Getting to Grips with Regular Expressions
drewm
1
280
Back to Front Performance - Oct 2013
drewm
0
130
Other Decks in Technology
See All in Technology
AWS Transform CustomでIaCコードを自由自在に変換しよう
duelist2020jp
0
200
Shipping AI Agents — Lessons from Production
vvatanabe
0
290
社内エンジニア勉強会の醍醐味と苦しみ/tamadev
nishiuma
0
260
GitHub Copilot Dev Days
tomokusaba
0
100
データを"持てない"環境でのアノテーション基盤設計
sansantech
PRO
1
160
ファインディの事業拡大を支える 拡張可能なデータ基盤へのリアーキテクチャ
hiracky16
0
120
AgentCore Managed Harness を使ってみよう
yakumo
2
250
ハーネスエンジニアリングをやりすぎた話 ~そのハーネスは解体された~
gotalab555
5
1.9k
【技術書典20】OpenFOAM(自宅で深める流体解析)流れと熱移動(2)
kamakiri1225
0
320
Google Cloud Next '26 の裏でこっそりリリースされたCloud Number Registry & Cloud Hub コスト分析 を試してみた
hikaru1001
0
120
はじめての MagicPod生成AI機能 機能紹介から活用方法まで
magicpod
0
120
AIはハッカーを減らすのか、増やすのか?──現役ホワイトハッカーから見るAI時代のリアル【MEGU-Meet】
cscengineer
PRO
0
220
Featured
See All Featured
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
170
How Software Deployment tools have changed in the past 20 years
geshan
0
33k
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.4k
The SEO Collaboration Effect
kristinabergwall1
1
430
Product Roadmaps are Hard
iamctodd
PRO
55
12k
Code Reviewing Like a Champion
maltzj
528
40k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
180
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
1
360
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
530
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.5k
Embracing the Ebb and Flow
colly
88
5k
Skip the Path - Find Your Career Trail
mkilby
1
110
Transcript
- STRATEGIES FOR - PROGRESSIVE ENHANCEMENT THINK VITAMIN JAVASCRIPT CONFERENCE
- 13 SEPTEMBER 2010 -
DREW MCLELLAN
FRONT END DEVELOPER (SOMETIMES)
JQUERY
GOOD JAVASCRIPT DESIGN STARTS WITHOUT JAVASCRIPT
THE WEB WORKS IN LAYERS
HTML IMPLEMENTATION 1
STYLE WITH CSS 2
ENHANCE WITH JAVASCRIPT 3
CHECK YOU’VE NOT BROKEN ANYTHING 4
PROGRESSIVE ENHANCEMENT !== GRACEFUL DEGRADATION
BE THE BEST DEVELOPER YOU CAN BE
“WE REQUIRE JAVASCRIPT”
DESIGNING A FEATURE TO WORK WITHOUT JAVASCRIPT IS NOT EXTRA
EFFORT
IT’S BASE EFFORT.
ADDING JAVASCRIPT IS THE EXTRA BIT
PRIORITISE BASIC FUNCTIONALITY
HIJACK!
SIMPLE, RIGHT?
A SIDE NOTE ON CSS...
<body> $(‘body’).addClass(‘js’); <body class=“js”> .js #thing
PREVENT CSS FOR HIJACKED ELEMENTS MESSING WITH THE DEFAULT STATE
THUMBNAIL IMAGES
“ADD A FRIEND” LINK
BASIC AJAX FORM
DRAG’N’DROP REORDERING
MODAL DIALOGUES
CAROUSELS
MORE CAROUSELS
REMEMBER:
HTML IMPLEMENTATION 1
STYLE WITH CSS 2
ENHANCE WITH JAVASCRIPT 3
CHECK YOU’VE NOT BROKEN ANYTHING 4