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
Mobile First: as difficult as doing things right
Search
Swwweet
November 08, 2013
Technology
219
8.8k
Mobile First: as difficult as doing things right
Presentation by @htmlboy at Barcelona Developers Conference 2013.
Swwweet
November 08, 2013
Tweet
Share
More Decks by Swwweet
See All by Swwweet
Wonders from the Full Stack Fest website
swwweet
1
260
How to be the best web designer in the world.
swwweet
6
1.1k
Design for loading
swwweet
5
430
One Size Fits None
swwweet
12
780
One Size Fits None - From the Front 2013
swwweet
2
630
Responsively Responsive
swwweet
23
1.5k
La letra con píxel entra
swwweet
0
1k
The future of code
swwweet
4
480
RWD: Dealing with navigation
swwweet
5
410
Other Decks in Technology
See All in Technology
Git 研修 Basic【MIXI 24新卒技術研修】
mixi_engineers
PRO
0
310
目標設定は好きですか? アジャイルとともに目標と向き合い続ける方法 / Do you like target Management?
kakehashi
10
3k
dxd2024-生成AIに振り回された3か月間の成功と失敗/dxd2024-link-and-motivation
lmi
2
260
開発生産性をむしろ向上させる セキュリティパートナーの作り方 / Dev Productivity Con 2024
flatt_security
0
380
テストケースの自動生成に生成AIの導入を試みた話と生成AIによる今後の期待
shift_evolve
0
190
累計ダウンロード数1億8000万を超えるアプリケーションプラットフォームのレガシーシステム脱却とモダン化への道
kmitsuhashi
0
120
サービス開発を前に進めるために 新米リードエンジニアが 取り組んだこと / Steps Taken by a Novice Lead Engineer to Advance Service Development
nologyance
0
180
Scaling Technical Excellence at 104: Evolution in AWS and Developer Empowerment
scotthsieh825
1
160
データ分析基盤を作ってみよう~設計編~
nrinetcom
PRO
1
110
Git 研修 Advanced【MIXI 24新卒技術研修】
mixi_engineers
PRO
0
200
データベース研修 分析向けSQL入門【MIXI 24新卒技術研修】
mixi_engineers
PRO
0
110
地理情報とAPIのトレンド
nagix
0
160
Featured
See All Featured
Designing Experiences People Love
moore
136
23k
Building Better People: How to give real-time feedback that sticks.
wjessup
357
18k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
502
140k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
325
21k
A Modern Web Designer's Workflow
chriscoyier
689
190k
No one is an island. Learnings from fostering a developers community.
thoeni
17
2.8k
What’s in a name? Adding method to the madness
productmarketing
PRO
21
2.9k
How To Stay Up To Date on Web Technology
chriscoyier
784
250k
Debugging Ruby Performance
tmm1
71
11k
GraphQLとの向き合い方2022年版
quramy
36
13k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
23
1.9k
Building an army of robots
kneath
301
42k
Transcript
MOBILE FIRST As difficult as doing things right Javier Usobiaga
#bdc13
@HTMLBOY Swwweet.com
None
None
None
Opera Mini
200 MILLION USERS WORLDWIDE
HATES MY WEBSITES
No @font-face No client-side JavaScript No gradients No border-radius
None
1. AN OVERWEIGHT PROBLEM
“We've remade the Internet in our image… Obese.” – Jason
Grigsby –
The average webpage is 1.617MB. Mostly images. httparchive.org
milwaukeepolicenews.com
milwaukeepolicenews.com 7MB
redrobin.com
redrobin.com 10.9MB
grolsch.com
grolsch.com 25MB
moto.oakley.com
moto.oakley.com 85MB
Just because we can, it doesn’t mean we should.
None
None
74% of mobile users won’t wait longer than 5 seconds
for a page to load bit.ly/5secondsmobile
20€/month for 1GB
20€/month for 1GB 85MB = 1.70€
US roaming: 10€/MB
US roaming: 10€/MB 85MB = 850€
None
None
2. THE IMPORTANCE OF BEING MOBILE FIRST
Content First?
User First?
Everything First!
Reduced Browser Window In Developer's Computer First
Worry about the less capable first
None
Design around real content
1 column of content + basic styles
body{max-width: 30em;}
Consider layout an enhancement: inside @media queries
@media screen and (min-width:1px){ body{ max-width: inherit; } }
<!--[if lt IE 9]> <link href=“ie8.css" rel="stylesheet" /> <![endif]-->
github.com/scottjehl/Respond
Enhance with JavaScript
if( 'querySelector' in document && 'localStorage' in window && 'addEventListener'
in window )
Cutting the mustard
None
Conditionally load: secondary assets third-party content transitions, effects AJAX stuff
Design agnostically
Design for every input
None
Design for every context
Design for every connection
3. OPTIMIZE ALL THE THINGS!
The average webpage is 1.617MB. Mostly images. httparchive.org
Can we afford another image?
Try to serve the right image size
adaptive-images.com
github.com/scottjehl/picturefill
Do retina devices need retina images?
netvlies.nl/blog/design-interactie/retina-revolution
Optimize images: ImageOptim JpegMini SVGO
Optimize everything: reduce requests combine & minify gzip
JS files belong on the footer
Do we need a JS framework?
Avoid or conditionally load: iframes social plugins third-party assets
Consider plain links for social stuff
https://twitter.com/intent/tweet?url=http://bit.ly/ ancientMistery&text=What+is+your+sound?&via=htmlboy Twitter: http://www.facebook.com/sharer.php?u=http://bit.ly/ ancientMistery&t=What+is+your+sound? Facebook: https://plus.google.com/share?url=http://bit.ly/ ancientMistery Google+:
None
There’s so much we can optimize
None
4. PERFORMANCE BUDGET
“We’ll do it later” is a lie
Performance as a design principle
“Make the page usable in less than 10 seconds on
a GPRS connection.” – BBC News –
First load: somewhere between 65KB and 100KB
“Don't make more than 20 http requests”
“Make the page weigh less than 300KB”
“1. Optimize an existing feature or asset. 2. Remove an
existing feature or asset. 3. Don’t add the new feature or asset.” – Steve Souders –
5. PERCEIVED PERFORMANCE
Avoid JS redrawings
None
None
None
Show content as soon as possible
None
FOUT: Flash Of Unstyled Text
github.com/typekit/webfontloader
300ms delay on touch devices
github.com/ftlabs/fastclick
WRAPPING UP
Web design is not about pretty pictures
None
None
wow such design very icons so flats nice font wow
dribbble such parallax
Set a performance budget in the design workflow
“What a fast website, that on top of that, is
beautiful.”
LET PEOPLE COMMUNICATE
THANKS! @htmlboy ·
[email protected]