SlideShare uma empresa Scribd logo
1 de 176
Baixar para ler offline
Real-Life Responsive
Web Design
Vitaly Friedman
13/11/2014 • Rome, Italy
Vitaly Friedman, editor-in-chief

and co-founder of SmashingMag
Design Systems
Patty Toland, FilamentGroup, “Design Consistency for RWD”, https://t.co/Tb0q1gMwQS
Responsive Considerations
• Components



Flexible grid

Typography

Navigation

Accessible form controls

Carousels

Tabbed navigation

Responsive tables

Accordions

Media lists

Drop-downs

Pagination

Data tables

Buttons

Icon fonts 

• Strategy

Responsive images

Responsive typography

Accessibility architecture

Legacy browser support

i18n/l10n tolerance

Performance budget

Interaction/Animations

Responsive advertising 

• Strategy

Responsive images

Responsive typography

Accessibility architecture

Legacy browser support

i18n/l10n tolerance

Performance budget

Interaction/Animations

Responsive advertising 

• Layouts

Homepage layout

Subpage layout

Article index layout

Article layout

Product index layout

Product detail layout

Sign up flow

Checkout flow
• Components



Flexible grid

Typography

Navigation

Accessible form controls

Carousels

Tabbed navigation

Responsive tables

Accordions

Media lists

Drop-downs

Pagination

Data tables

Buttons

Icon fonts 

Smart URL Design
http://global.burton.com
/on/demandware.store
/Sites-Burton_GLOBAL-Site
/default
/Home-Show
/index.html
What fascinates me are a few things:
how something that got its roots in late
19th century over a course of the
century turned into something as
established as Teletext. What does it
Progressive Reduction
“
Your proficiency in a product
will decay over time without
usage. As such, this proficiency
is reflected in experience decays
over time. These decays should
be avoided at all costs.






— Allan Grinshtein
Progressive Reduction
• Usability is a moving target; users get

smarter at a product as they keep using it.
• An interface should adapt and enable users

to become more efficient at using it.
• Idea: change the UI as the user moves
through different stages of proficiency.
Progressive Reduction
• Every UI regresses without usage. For major
features, track and observe their usage.
• Create a proficiency profile for every user;

as a feature is used more, start reducing the
“hand-holding” in a series of levels.
Progressive Reduction
• Assign a proficiency level to each feature and
design its variations for each level.
• If a user doesn’t use a feature for a long time,
UI regresses back to level 1.
• If a user uses a feature more, UI keeps
increasing levels to the “advanced” mode.
Designing for Extremes
“
We have clients come to us and
say, “We know our average
customer. She’s female, 34 years
old, with 2.3 kids…” But what we
really need to do to design well,
is to look at the extremes…






— Dan Formosa, “Smart Design”
“
...the weakest, or the person with
arthritis, or the athlete, or the
strongest or the fastest person.
Because if we really understand
what the extremes are, the
middle will take care of itself.






— Dan Formosa, “Smart Design”
Designing for Extremes
• Average user is an artificial, static
representation of users that don’t exist.
• Real users change constantly, reaching
different positions, roles and contexts.
• Idea: optimize for edge cases first, then
converge towards more common cases.
Skeleton Screens
Skeleton Screens
• Good feedback focuses on the progress;

keeps updating current state to ease anxiety.
• Blank screens are user experience gaps that
disrupt user experience. Progress bars focus on
the waiting; focus on the progress instead.
• Idea: minimize gaps to reduce friction with
“seamless” transitionsand skeleton screens.
Performance Strategy
“
There is no difference for the user
between a site being down and a
site being inaccessible due to
loading issues caused by blocking
resources or slow networks.


— Andy Hume

“Real-Life Responsive Redesign”, SmashingConf 2013
• T-Mobile roaming charges for loading the

full front page of Vogue.co.uk, in Moscow: €93,13
The Guardian Redesign (2013)
• Project goals focused on mobile experience:
• Tackle dropping print circulation with mobile,
• Replace the slow, rigid mobile/desktop sites,
• Solution: a mobile-first “stealth” redesign with a
strong focus on progressive enhancement.
• First focus on “mobile” experience,
• Long term: new RWD client-side architecture,
• Ultimate goal: one code base, one responsive site.
“
“Core HTML content first” with
“Core CSS styles first” is a simple
corollary of the good ol’ progressive
enhancement.


— Andy Hume

“Real-Life Responsive Redesign”, SmashingConf 2013
The Guardian Redesign
• Priority lists for content and styles to define “core”:
• Core content doesn’t rely on JavaScript,
• Only one main feature image considered “core”,
• No Ajax support for ratings, comments and live scores,
• “Cutting the mustard” to “buckle” browsers,
• Web fonts aren’t loaded by default (prevent FOUT).
The Guardian’s Modular Load
• Consider at least three types of page content:
• Core content

(essential HTML+CSS, usable non-JS enhanced experience);
• Enhancement

(JS, Geolocation, touch, enhanced CSS, Web fonts, widgets);
• Leftovers

(analytics, advertising, third-party content).
• Idea: load Core content first, then Enhancement
on DOMContentReady, then Leftovers on Load.
The Guardian’s Modular Load
• Load JS into a browser asynchronously.

While JS is being downloaded, browser still

can parse the document and show content.
• HTML/JS (for modern browsers):

@if(isModernBrowser) {

<script src="enhanced.js" async defer></script>

}
BBC’s isModernBrowser( )
• We can use server-side device detection using UA
strings with DeviceAtlas, WURFL etc.
• We can use client-side feature detection to split
browsers into groups “HTML4” / “HTML5”.
• JS:

if (

'querySelector' in document &&

'localStorage' in window &&

'addEventListener' in window ) {

// HTML5 browser detected; load the JS app

}

BBC’s isModernBrowser( )
• JS:

if (

'querySelector' in document &&

'localStorage' in window &&

'addEventListener' in window ) {

// HTML5 browser detected; load the JS app

}

• HTML5 Browsers:

IE9+, FF 3.5+, Opera 9+,

Safari 4+, Chrome 1+, iOS1+,

Android phone and tablets 2.1+,

Blackberry OS6+, Win 7.5+,

Mobile Firefox, Opera Mobile
• HTML4 Browsers:

IE8-, Blackberry OS5-,

Nokia S60 v6-, Nokia S40,

Symbian, Windows 7 Phone
(pre-Mango), a plethora of
legacy devices.
• A median start render time for an uncached page:

0.798 seconds (iPhone 4, 3G, 1.6Mps, 300ms RTT).
• Guardian users need to successfully complete

1 HTTP-request to start reading the news.
• Median time for an uncached page to start

displaying: 0.727 seconds (stable networks).
• With enhanced JS loaded, front page has 35
images on “desktop”, 67 requests, 657 Kb.
SmashingMag’s Refactoring
• Drawbacks prompted a focus on performance:
• Independent sections with separate WP-installs,
• Accessing content was difficult on slow connections,
• Question: (once we clean up the front-end), how
fast can we be, rather than how fast should we be?
• Decoupling JS dependencies (also with ads),
• Dealing with annoying Web fonts loading.
• Ultimate goal: one code base, one responsive site.
“
So how fast ist fast enough? A
Speed Index of under 1000. And
for professionals that get there,
they should shoot for delivering
the critical-path view (above the
fold) in the first 14Kb of the page.


— Paul Irish
Performance Strategies
• Average page load (onLoad) doesn’t say much
about the quality of performance. Metrics:
• Visual comparison (against competitors)

• Interface response times (<=100ms)
• Start render time within 1s on a suboptimal 3G

(“above-the-fold” optimization),
• Monitor perf. with a private instance of WebPageTest,
• Run code against performant budget (Grunt-task).
SmashingMag’s Modular Load
• Consider three types of page content:
• Core content

(essential HTML+CSS, usable non-JS enhanced experience);
• Enhancement

(JS, syntax highlighter, full CSS, Web fonts, comments);
• Leftovers

(analytics, advertising, Gravatar images).
• Idea: load Core content first, then Enhancement
on DOMContentReady, then Leftovers on Load.
SmashingMag’s Optimization
• Minor optimizations based on a simple
principle: optimize content, defer the rest.
• Load critical CSS inline and full CSS on load,
• Avoid JavaScript libraries (jQuery → JavaScript),
• Store Web fonts in localStorage + cookies,
• Defer advertising, tracking and all non-critical CSS/JS,
• Replaced Respond.js with IE8 stylesheet (fixed-width).
• Optimize the critical rendering path for content delivery.
An Ongoing Battle
• Minor optimizations prompted us to review
and adjust our editorial workflow:
• Using srcset and sizes for images in articles,
• Using grunt-perfbudget to track performance,
• Measuring changes in traffic and ad impressions,
• Reviewing articles for performance before publishing,
• PageSpeed >= 98 both on mobile and desktop as a goal.
• Next: WebViews issues, “jumps” to comments,
defer Gravatars, move to new servers, <picture>.
HTTP/1.1
• HTTP was designed for connections and
bandwidth much different from today.
• Single request per connection,
• Browsers can use max. 6 connections per domain,
• Exclusively client-initiated requests,
• Uncompressed request and response headers,
• Redundant headers,
• Optional data compression,
• HTTP is slow, HTTPS is even slower.
Delivering The Goods, Paul Irish, https://www.youtube.com/watch?v=R8W_6xWphtw
SPDY / HTTP/2.0
• SPDY, the core of HTTP/2.0, promises speed
improvement and decreased network latency.
• 64% reductions in page load times,
• 23% mean page load time improvement on mobile,
• Unlimited number of parallel requests per connection,
• Quicker slow start and better compression,
• Developers can prioritize resources,
• Always requires SSL/TLS for security,
• Extension of HTTP/1.1; as such, falls back to HTTP/1.1.
• Requires server-side and client-side implementations.
• Available for Apache 2.2 (mod_spdy),

Nginx (ngx_http_spdy_module).
• Requires server-side and client-side implementations.
• Available for IE 11+ (Win 8.1), Chrome 4+, Firefox 13+,
Opera 12.1+, Amazon Sink, Android, not Safari.
• Used by Google (Gmail), WordPress.com, CloudFlare,
Facebook, Twitter. Different browsers support different
versions of SPDY.
“
SmashingMag is the only site I
can read on an EDGE connection
when commuting in São Paulo,
every day. It makes me think why
other sites aren’t optimizing for
slow connections, too.


— a reader from Brazil
Thank you.
WUD Rome 2014 - Delightful UX – Real-Life Responsive Web Design (EN) - Vitaly Friedman

Mais conteúdo relacionado

Mais procurados

Creating mobile apps without native code
Creating mobile apps without native codeCreating mobile apps without native code
Creating mobile apps without native code
Joakim Kemeny
 
Tools for Entrepreneurs: Create. Collaborate. Communicate.
Tools for Entrepreneurs: Create. Collaborate. Communicate.Tools for Entrepreneurs: Create. Collaborate. Communicate.
Tools for Entrepreneurs: Create. Collaborate. Communicate.
Sara Rosso
 
Webdev battacherjee
Webdev battacherjeeWebdev battacherjee
Webdev battacherjee
RavingTiger
 
Architecture of a Modern Web App
Architecture of a Modern Web AppArchitecture of a Modern Web App
Architecture of a Modern Web App
scothis
 
Wd & im session a1_internet infrastructure_march 03,2010
Wd & im session a1_internet infrastructure_march 03,2010Wd & im session a1_internet infrastructure_march 03,2010
Wd & im session a1_internet infrastructure_march 03,2010
Mahesh Panchal
 
PureFormulas.com- SocialOPM Presentation
PureFormulas.com- SocialOPM PresentationPureFormulas.com- SocialOPM Presentation
PureFormulas.com- SocialOPM Presentation
durkprice
 

Mais procurados (20)

Drupal: Northeastern University Libraries website
Drupal: Northeastern University Libraries websiteDrupal: Northeastern University Libraries website
Drupal: Northeastern University Libraries website
 
Creating mobile apps without native code
Creating mobile apps without native codeCreating mobile apps without native code
Creating mobile apps without native code
 
Tools for Entrepreneurs: Create. Collaborate. Communicate.
Tools for Entrepreneurs: Create. Collaborate. Communicate.Tools for Entrepreneurs: Create. Collaborate. Communicate.
Tools for Entrepreneurs: Create. Collaborate. Communicate.
 
Mini-training: Personalization & Recommendation Demystified
Mini-training: Personalization & Recommendation DemystifiedMini-training: Personalization & Recommendation Demystified
Mini-training: Personalization & Recommendation Demystified
 
Mobile Web High Performance
Mobile Web High PerformanceMobile Web High Performance
Mobile Web High Performance
 
Webdev battacherjee
Webdev battacherjeeWebdev battacherjee
Webdev battacherjee
 
Architecture of a Modern Web App
Architecture of a Modern Web AppArchitecture of a Modern Web App
Architecture of a Modern Web App
 
Blogging
BloggingBlogging
Blogging
 
JavaScript
JavaScriptJavaScript
JavaScript
 
Wd & im session a1_internet infrastructure_march 03,2010
Wd & im session a1_internet infrastructure_march 03,2010Wd & im session a1_internet infrastructure_march 03,2010
Wd & im session a1_internet infrastructure_march 03,2010
 
Master SocialOPM Presentation from eAccountable
Master SocialOPM Presentation from eAccountableMaster SocialOPM Presentation from eAccountable
Master SocialOPM Presentation from eAccountable
 
PureFormulas.com- SocialOPM Presentation
PureFormulas.com- SocialOPM PresentationPureFormulas.com- SocialOPM Presentation
PureFormulas.com- SocialOPM Presentation
 
Jquery mobile
Jquery mobileJquery mobile
Jquery mobile
 
Using Responsive Web Design To Make Your Web Work Everywhere
Using Responsive Web Design To Make Your Web Work EverywhereUsing Responsive Web Design To Make Your Web Work Everywhere
Using Responsive Web Design To Make Your Web Work Everywhere
 
SEF 2014 - Responsive Design in SharePoint 2013
SEF 2014 - Responsive Design in SharePoint 2013SEF 2014 - Responsive Design in SharePoint 2013
SEF 2014 - Responsive Design in SharePoint 2013
 
Ap Ams Bill
Ap Ams BillAp Ams Bill
Ap Ams Bill
 
Rethinking accessibility related best practices for CSS in the modern age
Rethinking accessibility related best practices for CSS in the modern ageRethinking accessibility related best practices for CSS in the modern age
Rethinking accessibility related best practices for CSS in the modern age
 
Smash.wordpress
Smash.wordpressSmash.wordpress
Smash.wordpress
 
CSS3 Media Queries: Mobile Elixir or CSS Snake Oil
CSS3 Media Queries: Mobile Elixir or CSS Snake OilCSS3 Media Queries: Mobile Elixir or CSS Snake Oil
CSS3 Media Queries: Mobile Elixir or CSS Snake Oil
 
Patacs wp.com slides_oct_2018_final3
Patacs wp.com slides_oct_2018_final3Patacs wp.com slides_oct_2018_final3
Patacs wp.com slides_oct_2018_final3
 

Destaque

What is a user experience designer
What is a user experience designerWhat is a user experience designer
What is a user experience designer
John Whalen
 

Destaque (10)

Jet Cooper: UX In Real Life
Jet Cooper: UX In Real LifeJet Cooper: UX In Real Life
Jet Cooper: UX In Real Life
 
WCSD-UI
WCSD-UIWCSD-UI
WCSD-UI
 
Nice UX
Nice UXNice UX
Nice UX
 
What is a user experience designer
What is a user experience designerWhat is a user experience designer
What is a user experience designer
 
There is no 'i' in UX.
There is no 'i' in UX.There is no 'i' in UX.
There is no 'i' in UX.
 
UX Is Everywhere
UX Is EverywhereUX Is Everywhere
UX Is Everywhere
 
What is UX?
What is UX?What is UX?
What is UX?
 
The Good, Bad & Ugly of UI Design
The Good, Bad & Ugly of UI DesignThe Good, Bad & Ugly of UI Design
The Good, Bad & Ugly of UI Design
 
如何從搏來客行銷(Inbound marketing) 進化到成長駭客行銷(growth hacker marketing)?
如何從搏來客行銷(Inbound marketing) 進化到成長駭客行銷(growth hacker marketing)?如何從搏來客行銷(Inbound marketing) 進化到成長駭客行銷(growth hacker marketing)?
如何從搏來客行銷(Inbound marketing) 進化到成長駭客行銷(growth hacker marketing)?
 
UX in Real Life
UX in Real LifeUX in Real Life
UX in Real Life
 

Semelhante a WUD Rome 2014 - Delightful UX – Real-Life Responsive Web Design (EN) - Vitaly Friedman

Win j svsphonegap-damyan-petev-mihail-mateev
Win j svsphonegap-damyan-petev-mihail-mateevWin j svsphonegap-damyan-petev-mihail-mateev
Win j svsphonegap-damyan-petev-mihail-mateev
Mihail Mateev
 

Semelhante a WUD Rome 2014 - Delightful UX – Real-Life Responsive Web Design (EN) - Vitaly Friedman (20)

"Responsive Web Design: Clever Tips and Techniques". Vitaly Friedman, Smashin...
"Responsive Web Design: Clever Tips and Techniques". Vitaly Friedman, Smashin..."Responsive Web Design: Clever Tips and Techniques". Vitaly Friedman, Smashin...
"Responsive Web Design: Clever Tips and Techniques". Vitaly Friedman, Smashin...
 
Building Responsive Websites with the Bootstrap 3 Framework
Building Responsive Websites with the Bootstrap 3 FrameworkBuilding Responsive Websites with the Bootstrap 3 Framework
Building Responsive Websites with the Bootstrap 3 Framework
 
Win j svsphonegap-damyan-petev-mihail-mateev
Win j svsphonegap-damyan-petev-mihail-mateevWin j svsphonegap-damyan-petev-mihail-mateev
Win j svsphonegap-damyan-petev-mihail-mateev
 
Responsive Web Design - Why and How
Responsive Web Design - Why and HowResponsive Web Design - Why and How
Responsive Web Design - Why and How
 
Responsive Web Design: Clever Tips and Techniques - Vitaly Friedman (UX Riga ...
Responsive Web Design: Clever Tips and Techniques - Vitaly Friedman (UX Riga ...Responsive Web Design: Clever Tips and Techniques - Vitaly Friedman (UX Riga ...
Responsive Web Design: Clever Tips and Techniques - Vitaly Friedman (UX Riga ...
 
Responsive web design with various grids and frameworks comparison
Responsive web design with various grids and frameworks comparisonResponsive web design with various grids and frameworks comparison
Responsive web design with various grids and frameworks comparison
 
Station Four: Web Redesign Presentation
Station Four: Web Redesign PresentationStation Four: Web Redesign Presentation
Station Four: Web Redesign Presentation
 
KATHY ZHANG_3
KATHY ZHANG_3KATHY ZHANG_3
KATHY ZHANG_3
 
OSCON 2012: Design and Debug HTML5 Apps for Devices with RIB and Web Simulator
OSCON 2012: Design and Debug HTML5 Apps for Devices with RIB and Web SimulatorOSCON 2012: Design and Debug HTML5 Apps for Devices with RIB and Web Simulator
OSCON 2012: Design and Debug HTML5 Apps for Devices with RIB and Web Simulator
 
Mobile SEO (English Version)
Mobile SEO (English Version)Mobile SEO (English Version)
Mobile SEO (English Version)
 
Responsive Web Design - Web & PHP Conference - 2013-09-18
Responsive Web Design - Web & PHP Conference - 2013-09-18Responsive Web Design - Web & PHP Conference - 2013-09-18
Responsive Web Design - Web & PHP Conference - 2013-09-18
 
There Is No Mobile: An Introduction To Responsive Web Design
There Is No Mobile: An Introduction To Responsive Web DesignThere Is No Mobile: An Introduction To Responsive Web Design
There Is No Mobile: An Introduction To Responsive Web Design
 
Mobile Best Practices
Mobile Best PracticesMobile Best Practices
Mobile Best Practices
 
5 Steps To Deliver The Fastest Mobile Shopping Experience This Holiday Season
5 Steps To Deliver The Fastest Mobile Shopping Experience This Holiday Season5 Steps To Deliver The Fastest Mobile Shopping Experience This Holiday Season
5 Steps To Deliver The Fastest Mobile Shopping Experience This Holiday Season
 
Responsive Web Design - Tom Robertshaw
Responsive Web Design - Tom RobertshawResponsive Web Design - Tom Robertshaw
Responsive Web Design - Tom Robertshaw
 
Eureko frameworks
Eureko frameworksEureko frameworks
Eureko frameworks
 
Responsive & Responsible: Implementing Responsive Design at Scale
Responsive & Responsible: Implementing Responsive Design at ScaleResponsive & Responsible: Implementing Responsive Design at Scale
Responsive & Responsible: Implementing Responsive Design at Scale
 
Delightful UX
Delightful UXDelightful UX
Delightful UX
 
Responsive Development (ZendCon 2012)
Responsive Development (ZendCon 2012)Responsive Development (ZendCon 2012)
Responsive Development (ZendCon 2012)
 
Training presentation.pptx
Training presentation.pptxTraining presentation.pptx
Training presentation.pptx
 

Mais de nois3

Daniela Petrillo - Progettare una salute accessibile: l'eterna lotta tra la r...
Daniela Petrillo - Progettare una salute accessibile: l'eterna lotta tra la r...Daniela Petrillo - Progettare una salute accessibile: l'eterna lotta tra la r...
Daniela Petrillo - Progettare una salute accessibile: l'eterna lotta tra la r...
nois3
 
Simone Borsci - Deceptive design, user experience and trust
Simone Borsci - Deceptive design, user experience and trustSimone Borsci - Deceptive design, user experience and trust
Simone Borsci - Deceptive design, user experience and trust
nois3
 

Mais de nois3 (20)

Marc Fonteijn - How we tackle the future
Marc Fonteijn - How we tackle the futureMarc Fonteijn - How we tackle the future
Marc Fonteijn - How we tackle the future
 
Marilia Moita - What if smart cities were people centered
Marilia Moita - What if smart cities were people centeredMarilia Moita - What if smart cities were people centered
Marilia Moita - What if smart cities were people centered
 
Maria Rosanna Fossati - Robotics, intelligent machines, prosthetics… and humans
Maria Rosanna Fossati - Robotics, intelligent machines, prosthetics… and humansMaria Rosanna Fossati - Robotics, intelligent machines, prosthetics… and humans
Maria Rosanna Fossati - Robotics, intelligent machines, prosthetics… and humans
 
Charlotte Davies - Researching Voice UX
Charlotte Davies - Researching Voice UXCharlotte Davies - Researching Voice UX
Charlotte Davies - Researching Voice UX
 
Filippo Perlini - From Real to Unreal and Viceversa
Filippo Perlini - From Real to Unreal and ViceversaFilippo Perlini - From Real to Unreal and Viceversa
Filippo Perlini - From Real to Unreal and Viceversa
 
Nadia Piet - Design Thinking for AI
Nadia Piet - Design Thinking for AINadia Piet - Design Thinking for AI
Nadia Piet - Design Thinking for AI
 
Roberta Tassi - Future Skill sets
Roberta Tassi - Future Skill setsRoberta Tassi - Future Skill sets
Roberta Tassi - Future Skill sets
 
Dee Scarano - Creating Better Products, Faster with Design Sprints
Dee Scarano - Creating Better Products, Faster with Design SprintsDee Scarano - Creating Better Products, Faster with Design Sprints
Dee Scarano - Creating Better Products, Faster with Design Sprints
 
Carlo Frinolli - Welcome #WUDRome2018
Carlo Frinolli - Welcome #WUDRome2018Carlo Frinolli - Welcome #WUDRome2018
Carlo Frinolli - Welcome #WUDRome2018
 
Daniela Petrillo - Progettare una salute accessibile: l'eterna lotta tra la r...
Daniela Petrillo - Progettare una salute accessibile: l'eterna lotta tra la r...Daniela Petrillo - Progettare una salute accessibile: l'eterna lotta tra la r...
Daniela Petrillo - Progettare una salute accessibile: l'eterna lotta tra la r...
 
Vincenzo Di Maria - User friendly & abuser unfriendly
Vincenzo Di Maria - User friendly & abuser unfriendly Vincenzo Di Maria - User friendly & abuser unfriendly
Vincenzo Di Maria - User friendly & abuser unfriendly
 
Simone Borsci - Deceptive design, user experience and trust
Simone Borsci - Deceptive design, user experience and trustSimone Borsci - Deceptive design, user experience and trust
Simone Borsci - Deceptive design, user experience and trust
 
Pietro Gregorini - Solo in Cartolina: creativity for change
Pietro Gregorini - Solo in Cartolina: creativity for changePietro Gregorini - Solo in Cartolina: creativity for change
Pietro Gregorini - Solo in Cartolina: creativity for change
 
Matteo Cadeddu - Change.org: human centered change
Matteo Cadeddu - Change.org: human centered changeMatteo Cadeddu - Change.org: human centered change
Matteo Cadeddu - Change.org: human centered change
 
Lorenzo Fabbri - Le parole sono importanti
Lorenzo Fabbri - Le parole sono importantiLorenzo Fabbri - Le parole sono importanti
Lorenzo Fabbri - Le parole sono importanti
 
Katy Arnold - Building trust in public service delivery with human centered d...
Katy Arnold - Building trust in public service delivery with human centered d...Katy Arnold - Building trust in public service delivery with human centered d...
Katy Arnold - Building trust in public service delivery with human centered d...
 
Federica Fragapane - The Stories Behind a Line. Una narrazione visiva del via...
Federica Fragapane - The Stories Behind a Line. Una narrazione visiva del via...Federica Fragapane - The Stories Behind a Line. Una narrazione visiva del via...
Federica Fragapane - The Stories Behind a Line. Una narrazione visiva del via...
 
Cennydd Bowles - Future Ethics
Cennydd Bowles - Future EthicsCennydd Bowles - Future Ethics
Cennydd Bowles - Future Ethics
 
Alessandra Petromilli - VUI: Design Patterns and Challenges
Alessandra Petromilli - VUI: Design Patterns and ChallengesAlessandra Petromilli - VUI: Design Patterns and Challenges
Alessandra Petromilli - VUI: Design Patterns and Challenges
 
Donatella Ruggeri - Moral Centered Design. Siamo pronti a progettare esperien...
Donatella Ruggeri - Moral Centered Design. Siamo pronti a progettare esperien...Donatella Ruggeri - Moral Centered Design. Siamo pronti a progettare esperien...
Donatella Ruggeri - Moral Centered Design. Siamo pronti a progettare esperien...
 

Último

RT Nagar Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Bang...
RT Nagar Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Bang...RT Nagar Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Bang...
RT Nagar Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Bang...
amitlee9823
 
Escorts Service Nagavara ☎ 7737669865☎ Book Your One night Stand (Bangalore)
Escorts Service Nagavara ☎ 7737669865☎ Book Your One night Stand (Bangalore)Escorts Service Nagavara ☎ 7737669865☎ Book Your One night Stand (Bangalore)
Escorts Service Nagavara ☎ 7737669865☎ Book Your One night Stand (Bangalore)
amitlee9823
 
Anamika Escorts Service Darbhanga ❣️ 7014168258 ❣️ High Cost Unlimited Hard ...
Anamika Escorts Service Darbhanga ❣️ 7014168258 ❣️ High Cost Unlimited Hard  ...Anamika Escorts Service Darbhanga ❣️ 7014168258 ❣️ High Cost Unlimited Hard  ...
Anamika Escorts Service Darbhanga ❣️ 7014168258 ❣️ High Cost Unlimited Hard ...
nirzagarg
 
Recommendable # 971589162217 # philippine Young Call Girls in Dubai By Marina...
Recommendable # 971589162217 # philippine Young Call Girls in Dubai By Marina...Recommendable # 971589162217 # philippine Young Call Girls in Dubai By Marina...
Recommendable # 971589162217 # philippine Young Call Girls in Dubai By Marina...
home
 
Editorial design Magazine design project.pdf
Editorial design Magazine design project.pdfEditorial design Magazine design project.pdf
Editorial design Magazine design project.pdf
tbatkhuu1
 
Escorts Service Basapura ☎ 7737669865☎ Book Your One night Stand (Bangalore)
Escorts Service Basapura ☎ 7737669865☎ Book Your One night Stand (Bangalore)Escorts Service Basapura ☎ 7737669865☎ Book Your One night Stand (Bangalore)
Escorts Service Basapura ☎ 7737669865☎ Book Your One night Stand (Bangalore)
amitlee9823
 
VVIP CALL GIRLS Lucknow 💓 Lucknow < Renuka Sharma > 7877925207 Escorts Service
VVIP CALL GIRLS Lucknow 💓 Lucknow < Renuka Sharma > 7877925207 Escorts ServiceVVIP CALL GIRLS Lucknow 💓 Lucknow < Renuka Sharma > 7877925207 Escorts Service
VVIP CALL GIRLS Lucknow 💓 Lucknow < Renuka Sharma > 7877925207 Escorts Service
aroranaina404
 
Call Girls Basavanagudi Just Call 👗 7737669865 👗 Top Class Call Girl Service ...
Call Girls Basavanagudi Just Call 👗 7737669865 👗 Top Class Call Girl Service ...Call Girls Basavanagudi Just Call 👗 7737669865 👗 Top Class Call Girl Service ...
Call Girls Basavanagudi Just Call 👗 7737669865 👗 Top Class Call Girl Service ...
amitlee9823
 
Brookefield Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Brookefield Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...Brookefield Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Brookefield Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
amitlee9823
 

Último (20)

RT Nagar Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Bang...
RT Nagar Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Bang...RT Nagar Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Bang...
RT Nagar Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Bang...
 
Escorts Service Nagavara ☎ 7737669865☎ Book Your One night Stand (Bangalore)
Escorts Service Nagavara ☎ 7737669865☎ Book Your One night Stand (Bangalore)Escorts Service Nagavara ☎ 7737669865☎ Book Your One night Stand (Bangalore)
Escorts Service Nagavara ☎ 7737669865☎ Book Your One night Stand (Bangalore)
 
Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Hy...
Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Hy...Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Hy...
Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Hy...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Top Rated Pune Call Girls Koregaon Park ⟟ 6297143586 ⟟ Call Me For Genuine S...
Top Rated  Pune Call Girls Koregaon Park ⟟ 6297143586 ⟟ Call Me For Genuine S...Top Rated  Pune Call Girls Koregaon Park ⟟ 6297143586 ⟟ Call Me For Genuine S...
Top Rated Pune Call Girls Koregaon Park ⟟ 6297143586 ⟟ Call Me For Genuine S...
 
8377087607, Door Step Call Girls In Kalkaji (Locanto) 24/7 Available
8377087607, Door Step Call Girls In Kalkaji (Locanto) 24/7 Available8377087607, Door Step Call Girls In Kalkaji (Locanto) 24/7 Available
8377087607, Door Step Call Girls In Kalkaji (Locanto) 24/7 Available
 
call girls in Kaushambi (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝...
call girls in Kaushambi (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝...call girls in Kaushambi (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝...
call girls in Kaushambi (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝...
 
Anamika Escorts Service Darbhanga ❣️ 7014168258 ❣️ High Cost Unlimited Hard ...
Anamika Escorts Service Darbhanga ❣️ 7014168258 ❣️ High Cost Unlimited Hard  ...Anamika Escorts Service Darbhanga ❣️ 7014168258 ❣️ High Cost Unlimited Hard  ...
Anamika Escorts Service Darbhanga ❣️ 7014168258 ❣️ High Cost Unlimited Hard ...
 
Recommendable # 971589162217 # philippine Young Call Girls in Dubai By Marina...
Recommendable # 971589162217 # philippine Young Call Girls in Dubai By Marina...Recommendable # 971589162217 # philippine Young Call Girls in Dubai By Marina...
Recommendable # 971589162217 # philippine Young Call Girls in Dubai By Marina...
 
Editorial design Magazine design project.pdf
Editorial design Magazine design project.pdfEditorial design Magazine design project.pdf
Editorial design Magazine design project.pdf
 
Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Th...
Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Th...Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Th...
Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Th...
 
Escorts Service Basapura ☎ 7737669865☎ Book Your One night Stand (Bangalore)
Escorts Service Basapura ☎ 7737669865☎ Book Your One night Stand (Bangalore)Escorts Service Basapura ☎ 7737669865☎ Book Your One night Stand (Bangalore)
Escorts Service Basapura ☎ 7737669865☎ Book Your One night Stand (Bangalore)
 
💫✅jodhpur 24×7 BEST GENUINE PERSON LOW PRICE CALL GIRL SERVICE FULL SATISFACT...
💫✅jodhpur 24×7 BEST GENUINE PERSON LOW PRICE CALL GIRL SERVICE FULL SATISFACT...💫✅jodhpur 24×7 BEST GENUINE PERSON LOW PRICE CALL GIRL SERVICE FULL SATISFACT...
💫✅jodhpur 24×7 BEST GENUINE PERSON LOW PRICE CALL GIRL SERVICE FULL SATISFACT...
 
VVIP CALL GIRLS Lucknow 💓 Lucknow < Renuka Sharma > 7877925207 Escorts Service
VVIP CALL GIRLS Lucknow 💓 Lucknow < Renuka Sharma > 7877925207 Escorts ServiceVVIP CALL GIRLS Lucknow 💓 Lucknow < Renuka Sharma > 7877925207 Escorts Service
VVIP CALL GIRLS Lucknow 💓 Lucknow < Renuka Sharma > 7877925207 Escorts Service
 
Case Study of Hotel Taj Vivanta, Pune
Case Study of Hotel Taj Vivanta, PuneCase Study of Hotel Taj Vivanta, Pune
Case Study of Hotel Taj Vivanta, Pune
 
Call Girls Basavanagudi Just Call 👗 7737669865 👗 Top Class Call Girl Service ...
Call Girls Basavanagudi Just Call 👗 7737669865 👗 Top Class Call Girl Service ...Call Girls Basavanagudi Just Call 👗 7737669865 👗 Top Class Call Girl Service ...
Call Girls Basavanagudi Just Call 👗 7737669865 👗 Top Class Call Girl Service ...
 
Brookefield Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Brookefield Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...Brookefield Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Brookefield Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
 
Booking open Available Pune Call Girls Nanded City 6297143586 Call Hot India...
Booking open Available Pune Call Girls Nanded City  6297143586 Call Hot India...Booking open Available Pune Call Girls Nanded City  6297143586 Call Hot India...
Booking open Available Pune Call Girls Nanded City 6297143586 Call Hot India...
 
Jordan_Amanda_DMBS202404_PB1_2024-04.pdf
Jordan_Amanda_DMBS202404_PB1_2024-04.pdfJordan_Amanda_DMBS202404_PB1_2024-04.pdf
Jordan_Amanda_DMBS202404_PB1_2024-04.pdf
 
Sweety Planet Packaging Design Process Book.pptx
Sweety Planet Packaging Design Process Book.pptxSweety Planet Packaging Design Process Book.pptx
Sweety Planet Packaging Design Process Book.pptx
 

WUD Rome 2014 - Delightful UX – Real-Life Responsive Web Design (EN) - Vitaly Friedman

  • 1.
  • 2. Real-Life Responsive Web Design Vitaly Friedman 13/11/2014 • Rome, Italy
  • 3. Vitaly Friedman, editor-in-chief
 and co-founder of SmashingMag
  • 4.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30. Patty Toland, FilamentGroup, “Design Consistency for RWD”, https://t.co/Tb0q1gMwQS
  • 31. Responsive Considerations • Components
 
 Flexible grid
 Typography
 Navigation
 Accessible form controls
 Carousels
 Tabbed navigation
 Responsive tables
 Accordions
 Media lists
 Drop-downs
 Pagination
 Data tables
 Buttons
 Icon fonts 
 • Strategy
 Responsive images
 Responsive typography
 Accessibility architecture
 Legacy browser support
 i18n/l10n tolerance
 Performance budget
 Interaction/Animations
 Responsive advertising 

  • 32. • Strategy
 Responsive images
 Responsive typography
 Accessibility architecture
 Legacy browser support
 i18n/l10n tolerance
 Performance budget
 Interaction/Animations
 Responsive advertising 
 • Layouts
 Homepage layout
 Subpage layout
 Article index layout
 Article layout
 Product index layout
 Product detail layout
 Sign up flow
 Checkout flow • Components
 
 Flexible grid
 Typography
 Navigation
 Accessible form controls
 Carousels
 Tabbed navigation
 Responsive tables
 Accordions
 Media lists
 Drop-downs
 Pagination
 Data tables
 Buttons
 Icon fonts 

  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 53.
  • 54.
  • 56.
  • 57.
  • 58. What fascinates me are a few things: how something that got its roots in late 19th century over a course of the century turned into something as established as Teletext. What does it
  • 59.
  • 60.
  • 61.
  • 62.
  • 63.
  • 64.
  • 65.
  • 67. “ Your proficiency in a product will decay over time without usage. As such, this proficiency is reflected in experience decays over time. These decays should be avoided at all costs. 
 
 
 — Allan Grinshtein
  • 68. Progressive Reduction • Usability is a moving target; users get
 smarter at a product as they keep using it. • An interface should adapt and enable users
 to become more efficient at using it. • Idea: change the UI as the user moves through different stages of proficiency.
  • 69.
  • 70. Progressive Reduction • Every UI regresses without usage. For major features, track and observe their usage. • Create a proficiency profile for every user;
 as a feature is used more, start reducing the “hand-holding” in a series of levels.
  • 71. Progressive Reduction • Assign a proficiency level to each feature and design its variations for each level. • If a user doesn’t use a feature for a long time, UI regresses back to level 1. • If a user uses a feature more, UI keeps increasing levels to the “advanced” mode.
  • 72.
  • 73.
  • 74.
  • 75.
  • 76.
  • 77.
  • 79.
  • 80. “ We have clients come to us and say, “We know our average customer. She’s female, 34 years old, with 2.3 kids…” But what we really need to do to design well, is to look at the extremes… 
 
 
 — Dan Formosa, “Smart Design”
  • 81. “ ...the weakest, or the person with arthritis, or the athlete, or the strongest or the fastest person. Because if we really understand what the extremes are, the middle will take care of itself. 
 
 
 — Dan Formosa, “Smart Design”
  • 82.
  • 83.
  • 84.
  • 85.
  • 86. Designing for Extremes • Average user is an artificial, static representation of users that don’t exist. • Real users change constantly, reaching different positions, roles and contexts. • Idea: optimize for edge cases first, then converge towards more common cases.
  • 87.
  • 88.
  • 89.
  • 90.
  • 92.
  • 93.
  • 94. Skeleton Screens • Good feedback focuses on the progress;
 keeps updating current state to ease anxiety. • Blank screens are user experience gaps that disrupt user experience. Progress bars focus on the waiting; focus on the progress instead. • Idea: minimize gaps to reduce friction with “seamless” transitionsand skeleton screens.
  • 95.
  • 96.
  • 97.
  • 98.
  • 99.
  • 100.
  • 101.
  • 102.
  • 103.
  • 104.
  • 105.
  • 106.
  • 108. “ There is no difference for the user between a site being down and a site being inaccessible due to loading issues caused by blocking resources or slow networks. 
 — Andy Hume
 “Real-Life Responsive Redesign”, SmashingConf 2013
  • 109.
  • 110.
  • 111. • T-Mobile roaming charges for loading the
 full front page of Vogue.co.uk, in Moscow: €93,13
  • 112.
  • 113.
  • 114.
  • 115.
  • 116.
  • 117.
  • 118. The Guardian Redesign (2013) • Project goals focused on mobile experience: • Tackle dropping print circulation with mobile, • Replace the slow, rigid mobile/desktop sites, • Solution: a mobile-first “stealth” redesign with a strong focus on progressive enhancement. • First focus on “mobile” experience, • Long term: new RWD client-side architecture, • Ultimate goal: one code base, one responsive site.
  • 119.
  • 120. “ “Core HTML content first” with “Core CSS styles first” is a simple corollary of the good ol’ progressive enhancement. 
 — Andy Hume
 “Real-Life Responsive Redesign”, SmashingConf 2013
  • 121. The Guardian Redesign • Priority lists for content and styles to define “core”: • Core content doesn’t rely on JavaScript, • Only one main feature image considered “core”, • No Ajax support for ratings, comments and live scores, • “Cutting the mustard” to “buckle” browsers, • Web fonts aren’t loaded by default (prevent FOUT).
  • 122. The Guardian’s Modular Load • Consider at least three types of page content: • Core content
 (essential HTML+CSS, usable non-JS enhanced experience); • Enhancement
 (JS, Geolocation, touch, enhanced CSS, Web fonts, widgets); • Leftovers
 (analytics, advertising, third-party content). • Idea: load Core content first, then Enhancement on DOMContentReady, then Leftovers on Load.
  • 123.
  • 124.
  • 125.
  • 126.
  • 127.
  • 128. The Guardian’s Modular Load • Load JS into a browser asynchronously.
 While JS is being downloaded, browser still
 can parse the document and show content. • HTML/JS (for modern browsers):
 @if(isModernBrowser) {
 <script src="enhanced.js" async defer></script>
 }
  • 129.
  • 130. BBC’s isModernBrowser( ) • We can use server-side device detection using UA strings with DeviceAtlas, WURFL etc. • We can use client-side feature detection to split browsers into groups “HTML4” / “HTML5”. • JS:
 if (
 'querySelector' in document &&
 'localStorage' in window &&
 'addEventListener' in window ) {
 // HTML5 browser detected; load the JS app
 }

  • 131. BBC’s isModernBrowser( ) • JS:
 if (
 'querySelector' in document &&
 'localStorage' in window &&
 'addEventListener' in window ) {
 // HTML5 browser detected; load the JS app
 }
 • HTML5 Browsers:
 IE9+, FF 3.5+, Opera 9+,
 Safari 4+, Chrome 1+, iOS1+,
 Android phone and tablets 2.1+,
 Blackberry OS6+, Win 7.5+,
 Mobile Firefox, Opera Mobile • HTML4 Browsers:
 IE8-, Blackberry OS5-,
 Nokia S60 v6-, Nokia S40,
 Symbian, Windows 7 Phone (pre-Mango), a plethora of legacy devices.
  • 132.
  • 133.
  • 134. • A median start render time for an uncached page:
 0.798 seconds (iPhone 4, 3G, 1.6Mps, 300ms RTT). • Guardian users need to successfully complete
 1 HTTP-request to start reading the news.
  • 135. • Median time for an uncached page to start
 displaying: 0.727 seconds (stable networks). • With enhanced JS loaded, front page has 35 images on “desktop”, 67 requests, 657 Kb.
  • 136.
  • 137.
  • 138.
  • 139.
  • 140.
  • 141.
  • 142. SmashingMag’s Refactoring • Drawbacks prompted a focus on performance: • Independent sections with separate WP-installs, • Accessing content was difficult on slow connections, • Question: (once we clean up the front-end), how fast can we be, rather than how fast should we be? • Decoupling JS dependencies (also with ads), • Dealing with annoying Web fonts loading. • Ultimate goal: one code base, one responsive site.
  • 143. “ So how fast ist fast enough? A Speed Index of under 1000. And for professionals that get there, they should shoot for delivering the critical-path view (above the fold) in the first 14Kb of the page. 
 — Paul Irish
  • 144. Performance Strategies • Average page load (onLoad) doesn’t say much about the quality of performance. Metrics: • Visual comparison (against competitors)
 • Interface response times (<=100ms) • Start render time within 1s on a suboptimal 3G
 (“above-the-fold” optimization), • Monitor perf. with a private instance of WebPageTest, • Run code against performant budget (Grunt-task).
  • 145.
  • 146.
  • 147.
  • 148. SmashingMag’s Modular Load • Consider three types of page content: • Core content
 (essential HTML+CSS, usable non-JS enhanced experience); • Enhancement
 (JS, syntax highlighter, full CSS, Web fonts, comments); • Leftovers
 (analytics, advertising, Gravatar images). • Idea: load Core content first, then Enhancement on DOMContentReady, then Leftovers on Load.
  • 149.
  • 150. SmashingMag’s Optimization • Minor optimizations based on a simple principle: optimize content, defer the rest. • Load critical CSS inline and full CSS on load, • Avoid JavaScript libraries (jQuery → JavaScript), • Store Web fonts in localStorage + cookies, • Defer advertising, tracking and all non-critical CSS/JS, • Replaced Respond.js with IE8 stylesheet (fixed-width). • Optimize the critical rendering path for content delivery.
  • 151.
  • 152.
  • 153.
  • 154.
  • 155.
  • 156.
  • 157. An Ongoing Battle • Minor optimizations prompted us to review and adjust our editorial workflow: • Using srcset and sizes for images in articles, • Using grunt-perfbudget to track performance, • Measuring changes in traffic and ad impressions, • Reviewing articles for performance before publishing, • PageSpeed >= 98 both on mobile and desktop as a goal. • Next: WebViews issues, “jumps” to comments, defer Gravatars, move to new servers, <picture>.
  • 158.
  • 159.
  • 160.
  • 161.
  • 162.
  • 163.
  • 164. HTTP/1.1 • HTTP was designed for connections and bandwidth much different from today. • Single request per connection, • Browsers can use max. 6 connections per domain, • Exclusively client-initiated requests, • Uncompressed request and response headers, • Redundant headers, • Optional data compression, • HTTP is slow, HTTPS is even slower.
  • 165. Delivering The Goods, Paul Irish, https://www.youtube.com/watch?v=R8W_6xWphtw
  • 166. SPDY / HTTP/2.0 • SPDY, the core of HTTP/2.0, promises speed improvement and decreased network latency. • 64% reductions in page load times, • 23% mean page load time improvement on mobile, • Unlimited number of parallel requests per connection, • Quicker slow start and better compression, • Developers can prioritize resources, • Always requires SSL/TLS for security, • Extension of HTTP/1.1; as such, falls back to HTTP/1.1.
  • 167.
  • 168. • Requires server-side and client-side implementations. • Available for Apache 2.2 (mod_spdy),
 Nginx (ngx_http_spdy_module).
  • 169. • Requires server-side and client-side implementations. • Available for IE 11+ (Win 8.1), Chrome 4+, Firefox 13+, Opera 12.1+, Amazon Sink, Android, not Safari.
  • 170. • Used by Google (Gmail), WordPress.com, CloudFlare, Facebook, Twitter. Different browsers support different versions of SPDY.
  • 171.
  • 172.
  • 173. “ SmashingMag is the only site I can read on an EDGE connection when commuting in São Paulo, every day. It makes me think why other sites aren’t optimizing for slow connections, too. 
 — a reader from Brazil
  • 174.