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
Over-promised & under-delivered
Search
Peter Gasston
April 24, 2014
Technology
1
240
Over-promised & under-delivered
A.K.A. You Ruined My Holiday. Given at Front End London, April 2014.
Peter Gasston
April 24, 2014
Tweet
Share
More Decks by Peter Gasston
See All by Peter Gasston
People Don’t Change
stopsatgreen
0
170
Your Reality Here
stopsatgreen
0
110
Growing Up, Getting Serious - #SotB6
stopsatgreen
1
350
Growing Up, Getting Serious
stopsatgreen
0
100
Surveying the Landscape — November 2016
stopsatgreen
1
180
Surveying the Landscape - Fronteers
stopsatgreen
2
500
The Web vs. The Browser
stopsatgreen
0
200
Surveying the Landscape Sept. 2016
stopsatgreen
1
440
Surveying the Landscape
stopsatgreen
4
880
Other Decks in Technology
See All in Technology
AR Guitar: Expanding Guitar Performance from a Live House to Urban Space
ekito_station
0
270
Claude Skillsの テスト業務での活用事例
moritamasami
1
120
Kiro を用いたペアプロのススメ
taikis
4
2k
Oracle Database@AWS:サービス概要のご紹介
oracle4engineer
PRO
2
450
まだ間に合う! Agentic AI on AWSの現在地をやさしく一挙おさらい
minorun365
19
3.1k
Strands AgentsとNova 2 SonicでS2Sを実践してみた
yama3133
1
2.1k
普段使ってるClaude Skillsの紹介(by Notebooklm)
zerebom
8
2.5k
Oracle Database@Azure:サービス概要のご紹介
oracle4engineer
PRO
3
200
ハッカソンから社内プロダクトへ AIエージェント「ko☆shi」開発で学んだ4つの重要要素
sonoda_mj
6
1.9k
半年で、AIゼロ知識から AI中心開発組織の変革担当に至るまで
rfdnxbro
0
150
Connection-based OAuthから学ぶOAuth for AI Agents
flatt_security
0
430
ペアーズにおけるAIエージェント 基盤とText to SQLツールの紹介
hisamouna
2
1.9k
Featured
See All Featured
A Tale of Four Properties
chriscoyier
162
23k
Reflections from 52 weeks, 52 projects
jeffersonlam
355
21k
How to make the Groovebox
asonas
2
1.9k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.4k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
1.8k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
76
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Are puppies a ranking factor?
jonoalderson
0
2.5k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.6k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
0
100
Statistics for Hackers
jakevdp
799
230k
Transcript
Peter Gasston @stopsatgreen broken-links.com
Technologist & Front-end Lead rehabstudio.com
Over-promised & Under-delivered
None
None
None
You Ruined My Holiday
None
None
None
http://brandperfect.org/index.php/knowledge/reports/597-fortune-global-100-mobile-web-review
http://www.guypo.com/uncategorized/real-world-rwd-performance-take-2/
http://www.guypo.com/uncategorized/real-world-rwd-performance-take-2/
None
None
MOBILE WEB
None
None
None
None
None
None
http://brokenmobile.tumblr.com http://wtfmobileweb.com
None
We Have A Problem
None
None
None
http://www.slideshare.net/yiibu/the-emerging-global-web
We Need To Pull Our Fingers Out
What We Can Do 1. Performance
“Over a mobile connection, it may take 2 seconds to
download the initial page of HTML, but it can be immediately rendered.
“Even as the rest of the JavaScript application is being
downloaded, the user can interact with the page. It feels 5x faster.” http://nerds.airbnb.com/weve-launched-our-first-nodejs-app-to-product
“By rendering our page content on the server and deferring
all JavaScript execution… we’ve dropped the time to first Tweet to one-fifth of what it was.” https://blog.twitter.com/2012/improving-performance-on-twittercom
var foo = window.matchMedia('(min-width: 800px)').matches; if (foo) { // Load
functions } yepnope({ test : foo, yep : 'bigscreen.js', nope : 'smallscreen.js' });
I don’t care about: 1. ‘Retina’ photos 2. Typefaces
What We Can Do 2. Experience
None
None
<meta name="viewport" content="width=device-width, minimal-ui"> <meta name="viewport" content="width=device-width, user-scalable=no"> ✓ ✗
<input type="number"> <input type="datetime"> <input type="number" id="foo"> <label for="foo">Number</label>
None
https://developer.android.com/design/ https://developer.apple.com/library/ios/design/ http://dev.windowsphone.com/design
None
None
Doing It Right
None
None
None
Help Is On Its Way
<picture> <source media="(min-width: 45em)" srcset="large-1.jpg, large-2.jpg 2x"> <source media="(min-width: 18em)"
srcset="med-1.jpg, med-2.jpg 2x"> <source srcset="small-1.jpg, small-2.jpg 2x"> <img src="small-1.jpg" alt="Alt text”> </picture> http://picture.responsiveimages.org/
Preserve my battery life Don’t wreck my data plan https://plus.google.com/+NazmulIdris/posts/SYwhyUkHnfz
http://offlinefirst.org/
navigator.serviceWorker.register('/foo.js').then( function(serviceWorker) { serviceWorker.postMessage('Hello world!'); } }); this.addEventListener('install', function(e) {
// Do your thing }); https://github.com/slightlyoff/ServiceWorker/blob/master/explainer.md
I’m not telling you what to think. I’m just asking
you to think.
Peter Gasston @stopsatgreen broken-links.com