SlideShare a Scribd company logo
1 of 148
Download to read offline
New Perspectives in
Web Design
Vitaly Friedman
02/10/2013 • YAC, Moscow
Vitaly Friedman, editor-in-chief
and co-founder of SmashingMag
This talk is about new techniques.
And about clever UX patterns.
This talk is about new techniques.
And about clever UX patterns.
This talk is about new techniques.
And what works in real-life projects.
We are blinded by chrome.
When it comes to RWD, we
think about layouts, and often
we should, but we have to keep
in mind that we are not
rectangle artists. we explore
solutions to problems.
Browsers think in boxes, but
humans shouldn't. And we do it
because we had to find some
“
Designing for the Web is like
visualizing a tesseract. We build
experiences by manipulating
their shadows.
— Tim Brown
Responsive Design is an appropriate
tool for “multi-dimensional” designs.
It’s a new mindset that requires us
to rethink and extend our practices.
Designing Systems
“
If you’re used to designing fixed-
width layouts, it’s going to be really,
really hard to get your head around
designing and building in a fluid
way… at first.
— Elliot Jay Stocks
http://elliotjaystocks.com/blog/responsive-web-design-the-war-has-not-yet-been-won/
“
...Once you overcome that initial
struggle of adapting to a new
process, designing and building
responsive sites needn’t take any
longer, or cost any more money.
— Elliot Jay Stocks
http://elliotjaystocks.com/blog/responsive-web-design-the-war-has-not-yet-been-won/
“
...The homepage is comprised of
Lego-like building blocks designed to
be combined together...
— Dave Rupert
“
...Today, the deliverables could look
a lot like fully-functioning Twitter
Bootstrap-style systems which are
custom tailored for your clients’
needs. Think of it as tiny bootstraps,
for every client.
— Dave Rupert
Responsive Deliverables
•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
“
Atomic design gives us the ability to
traverse from abstract to concrete.
We can create systems that promote
consistency and scalability. We
assemble rather than deconstruct.
— Brad Frost
Atomic Design
• Obvious relationships between modules
• Abstract → Concrete: atoms are used for
references, pages for review, rest for build.
• Pattern library serves as a final deliverable,
and as such scalable and future-proof.
Resolution Independence
Resolution Independence
• High pixel density displays prompt us to
create future-proof solutions for graphics.
• Creating multiple assets for the same
graphics (not photos) isn’t future-proof.
• Two options: SVG and Icon Fonts.
• HTML:
<ul class="actions">
<li><a class="a-share" href="#">Share</a></li>
<li><a class="a-print" href="#">Print</a></li>
</ul>
• CSS:
.actions a { font-size: 1em; /* Sprite: 30x160px */
background-image: url('sprite.png'); }
.actions .a-share {
background-position: 10px 0; }
.actions .a-print {
background-position: 10px -40px; }
PNG sprites
• HTML:
<ul class="actions">
<li><a class="a-share" href="#">Share</a></li>
</ul>
• CSS:
body { font-size: 100%; } /* = 16px by default */
.actions a { font-size: 1em;
background-image: url('sprite.svg');
background-size: 1.875em 10em; }
.actions .a-share {
background-position: 0.625em 0; }
SVG sprites
Resolution Independence (SVG)
• Good SVG support: Chrome 4+, Safari 4+,
FF4+, Opera 9.5+, IE9+, mobile browsers.
• For legacy browsers (and Android 2.3)
we need PNG-fallback with Cond.
Comments (IE<9) or Modernizr or SVG
polyfills (Canvg).
• HTML:
<a class="icon share" href="#">Share</a>
• CSS:
@font-face { font-family: 'Icon Font';
src: url('icon-font.eot');
src: local('☺');
url('icon-font.woff') format('woff'),
url('icon-font.ttf') format('truetype'),
url('icon-font.svg') format('svg'); }
.icon { font-family: 'Icon Font'; font-size: 1.5em; }
.share:before { content: "s"; }
Icon Fonts
• HTML:
<a class="icon" data-icon="s" href="#">Share</a>
<a class="icon" data-icon="h" href="#">History</a>
• CSS:
.icon:before {
content: attr(data-icon);
/* Optional color definition */
}
Icon Fonts
• Furthermore, we can combine icon font
glyphs to create complex multi-layered icons.
• Idea: Split apart the components of your multi-
color vector, add each element to the icon font,
then stack them to create a new icon.
Resolution Independence
(Web Fonts)
Resolution Independence
(Web Fonts)
• There are many comprehensive Web fonts:
Entypo and FontAwesome are free.
• Excellent support: everywhere but Opera
Mini and Android 2.1.
• Build custom, small “bundles” with Fontello
(combines popular open-source fonts).
Compressive Images
Compressive Images
• To display photos properly on high pixel
density displays, we don’t need hi-res images.
• If a JPG image has relatively small
dimensions, we can use a workaround to
keep its size small.
“
...Given two identical images that
are displayed at the same size on a
website, one can be dramatically
smaller than the other in file size if
it’s highly compressed and
dramatically larger in dimensions
than it is displayed.
— Daan Jobsis
600×400px file, 0% JPEG quality,
displayed in 600×400 (file size 7 Kb)
600×400px file, 0% JPEG quality,
displayed in 300×200 (file size 7 Kb)
600×400px file (7 Kb)
________________________________
0% JPEG quality
displayed in 300×200
300×200px file (21 Kb)
_________________________________
80% JPEG quality
displayed in 300×200
Responsive Images
• For photos, consider using Scott Jehl’s
Picturefill or Tyson Matanich’s branch of it.
• Allows images to load before the entire DOM
is ready or after the rest of the page loads.
• Allows you to wait for the new image to
complete downloading before updating <img>.
Also, allows you to disable swapping of images.
Clown Car Technique (With SVG)
• We can use media queries within SVG to serve
right raster images without double markup.
• HTML:
<img src="image.svg" alt="Responsive image" />
•SVG:
<svg xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink" width="300" height="329">
<title>The Clown Car Technique</title>
<g>
<image id="small" height="329" width="300" xlink:href="small.png" />
<image id="medium" height="329" width="300" xlink:href="medium.png" />
<image id="big" height="329" width="300" xlink:href="big.png" />
<image id="huge" height="329" width="300" xlink:href="huge.png" />
</g>
</svg>
•SVG:
<svg xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink" width="300" height="329">
<title>The Clown Car Technique</title>
<g>
<image id="small" height="329" width="300" xlink:href="small.png" />
<defs>
<style>
image { display: none; }
#small { display: block; }
@media screen and (max-width: 25em) {
#medium { display: block; }
#small { display: none; } }
@media screen and (max-width: 45em) {
#big { display: block; }
#small { display: none; } }
</style>
</defs>
•SVG:
<svg xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink" width="300" height="329">
<title>The Clown Car Technique</title>
<g>
<image id="small" height="329" width="300" xlink:href="small.png" />
<defs>
<style>
svg { background-size: 100% 100%;
background-repeat: no-repeat; }
@media screen and (max-width: 25em) {
svg { background-image: url(small.png"); } }
@media screen and (max-width: 45em) {
svg { background-image: url(medium.png"); } }
@media screen and (max-width: 60em) {
svg { background-image: url(large.png"); } }
</style>
</defs>
Clown Car Technique (With SVG)
• Due to cross-browser issues, we have to use the
<object> tag instead of <img>:
<object data="image.svg" type="image/svg+xml"></object>
• Two main benefits:
• MQs within SVG are based on the parent element in
which the SVG is contained, not the viewport width.
• All image options are encapsulated in an SVG file.
Conditional Loading
Conditional Loading
• We ask browsers to load assets progressively—
ensuring a fast and functional core experience.
• Essentially, the state-of-the-art progressive
enhancement with a focus on performance.
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>
}
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
}
• 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.
BBC’s isModernBrowser( )
Gmail’s Lazy Loading
• Idea: let browsers download all of the JS right away,
but evaluate it “on demand”, i.e. when users need a
particular feature.
• Much of the downloaded JS is commented out, and
when needed uncommented and eval-ed.
• Gmail’s case:
200 Kb of JS -> 2600 ms page load
200 Kb of JS (lazy loaded) -> 240 ms page load
Gmail’s Lazy Loading
• <script id="lazy">
// Make sure you strip out (or replace) comment blocks in your
JavaScript first.
/* JavaScript of lazy module */
</script>
<script>
function lazyLoad() {
var lazyElement = document.getElementById('lazy'); var lazyElementBody
= lazyElement.innerHTML;
var jsCode = stripOutCommentBlock(lazyElementBody); eval(jsCode); }
</script>
<div onclick=lazyLoad()>Lazy Load</div>
The Two-Click Social Widget
• Load social widgets only when user explicitly
chooses to take that action to share content.
• Idea: load small social icons by default, and
load the FB, Twitter and G+ widgets on click.
• Cuts down on bandwidth and on latency.
(FB button alone weighs 120 Kb + 4 requests).
Optimistic Interfaces
Optimistic Interfaces
• Performance is not only about technology;
it’s about how users perceive it, too.
• To create a noticeable performance
improvement, it has to improve by 20%.
• Idea: fake performance by being optimistic
about user’s next steps.
Steven C. Seow, “Designing and Engineering Time: The Psychology of Time Perception”
• Perform actions optimistically
Pretend that an action succeeded right away.
• Adaptively prefetch content
Reprioritize loading based on user’s actions.
• Move bits when no one is watching
Keep users busy while boring stuff happens.
Mike Krieger, co-founder of Instagram, “Secrets to Lightning-Fast Mobile Design”
Optimistic Interfaces
“
The optimal style is a backwards
moving and decelerating ribbed
progress bar, which made the load
time appear 11% faster than a solid
colored bar.
“
Performance isn’t solely a technical
concern for developers. It’s time to
treat performance as an essential
design feature.
— Brad Frost
Performance Budget
• Idea: always include performance in project
documents—e.g. proposals and design briefs.
• Set a “budget” on your site and don’t allow the
site to exceed it (number of requests, page size).
• Helps make every decision through the design/
build process, as something that has consequence.
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.
• 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.
Progressive Reduction
Responsive Design Patterns
“
If a design problem can be solved
responsively, eventually it will be
solved responsively.
— You-know-who
Conclusion
www.smashingbook.com
www.the-mobile-book.com
Thank you.
Image credits
• Front cover: Geometric Wallpapers
by Simon C Page (http://simoncpage.co.uk/blog/
2012/03/ipad-hd-retina-wallpaper/)
• Homer Simpsons: http://smashed.by/homer
• Sections illustrations: “bisous les copains”, by
Guillaume Kurkdjian (http://
bisouslescopains.tumblr.com/)
• Hypercube: http://en.academic.ru, Wikipedia

More Related Content

What's hot

Atomic Design - BDConf Nashville, 2013
Atomic Design - BDConf Nashville, 2013Atomic Design - BDConf Nashville, 2013
Atomic Design - BDConf Nashville, 2013Brad Frost
 
React Storybook, Atomic Design, and ITCSS
React Storybook, Atomic Design, and ITCSSReact Storybook, Atomic Design, and ITCSS
React Storybook, Atomic Design, and ITCSSTrevor Pierce
 
Web Development for UX Designers
Web Development for UX DesignersWeb Development for UX Designers
Web Development for UX DesignersAshlimarie
 
HTML5 and CSS3: does now really mean now?
HTML5 and CSS3: does now really mean now?HTML5 and CSS3: does now really mean now?
HTML5 and CSS3: does now really mean now?Chris Mills
 
Adventures in Atomic Design
Adventures in Atomic DesignAdventures in Atomic Design
Adventures in Atomic DesignAndrew Jones
 
Atomic design React Nova Presentation
Atomic design React Nova PresentationAtomic design React Nova Presentation
Atomic design React Nova PresentationSteve Zyglowicz
 
The Server Side of Responsive Web Design
The Server Side of Responsive Web DesignThe Server Side of Responsive Web Design
The Server Side of Responsive Web DesignDave Olsen
 
[HEWEBAR 2012] Beyond Desktop Browsing (HTML5)
[HEWEBAR 2012] Beyond Desktop Browsing (HTML5)[HEWEBAR 2012] Beyond Desktop Browsing (HTML5)
[HEWEBAR 2012] Beyond Desktop Browsing (HTML5)Christopher Schmitt
 
Brad frost: Atomic design (Webdagene 2014)
Brad frost: Atomic design (Webdagene 2014)Brad frost: Atomic design (Webdagene 2014)
Brad frost: Atomic design (Webdagene 2014)webdagene
 
Front End Best Practices
Front End Best PracticesFront End Best Practices
Front End Best PracticesHolger Bartel
 
Style Guides Are The New Photoshop (Fronteers 2012)
Style Guides Are The New Photoshop (Fronteers 2012)Style Guides Are The New Photoshop (Fronteers 2012)
Style Guides Are The New Photoshop (Fronteers 2012)Stephen Hay
 
Web Design Primer Sample - HTML CSS JS
Web Design Primer Sample - HTML CSS JSWeb Design Primer Sample - HTML CSS JS
Web Design Primer Sample - HTML CSS JSBootstrap Creative
 
Creating Living Style Guides to Improve Performance
Creating Living Style Guides to Improve PerformanceCreating Living Style Guides to Improve Performance
Creating Living Style Guides to Improve PerformanceNicole Sullivan
 
Modern Front-End Development
Modern Front-End DevelopmentModern Front-End Development
Modern Front-End Developmentmwrather
 
Front-End Frameworks: a quick overview
Front-End Frameworks: a quick overviewFront-End Frameworks: a quick overview
Front-End Frameworks: a quick overviewDiacode
 
Responsive & Responsible Web Design in DNN
Responsive & Responsible Web Design in DNNResponsive & Responsible Web Design in DNN
Responsive & Responsible Web Design in DNNgravityworksdd
 
State of jQuery June 2013 - Portland
State of jQuery June 2013 - PortlandState of jQuery June 2013 - Portland
State of jQuery June 2013 - Portlanddmethvin
 
jQuery For Beginners - jQuery Conference 2009
jQuery For Beginners - jQuery Conference 2009jQuery For Beginners - jQuery Conference 2009
jQuery For Beginners - jQuery Conference 2009Ralph Whitbeck
 

What's hot (20)

Atomic Design - BDConf Nashville, 2013
Atomic Design - BDConf Nashville, 2013Atomic Design - BDConf Nashville, 2013
Atomic Design - BDConf Nashville, 2013
 
React Storybook, Atomic Design, and ITCSS
React Storybook, Atomic Design, and ITCSSReact Storybook, Atomic Design, and ITCSS
React Storybook, Atomic Design, and ITCSS
 
Web Development for UX Designers
Web Development for UX DesignersWeb Development for UX Designers
Web Development for UX Designers
 
HTML5 and CSS3: does now really mean now?
HTML5 and CSS3: does now really mean now?HTML5 and CSS3: does now really mean now?
HTML5 and CSS3: does now really mean now?
 
Adventures in Atomic Design
Adventures in Atomic DesignAdventures in Atomic Design
Adventures in Atomic Design
 
Atomic design React Nova Presentation
Atomic design React Nova PresentationAtomic design React Nova Presentation
Atomic design React Nova Presentation
 
The Server Side of Responsive Web Design
The Server Side of Responsive Web DesignThe Server Side of Responsive Web Design
The Server Side of Responsive Web Design
 
Atomic design
Atomic designAtomic design
Atomic design
 
[HEWEBAR 2012] Beyond Desktop Browsing (HTML5)
[HEWEBAR 2012] Beyond Desktop Browsing (HTML5)[HEWEBAR 2012] Beyond Desktop Browsing (HTML5)
[HEWEBAR 2012] Beyond Desktop Browsing (HTML5)
 
Brad frost: Atomic design (Webdagene 2014)
Brad frost: Atomic design (Webdagene 2014)Brad frost: Atomic design (Webdagene 2014)
Brad frost: Atomic design (Webdagene 2014)
 
Front End Best Practices
Front End Best PracticesFront End Best Practices
Front End Best Practices
 
Style Guides Are The New Photoshop (Fronteers 2012)
Style Guides Are The New Photoshop (Fronteers 2012)Style Guides Are The New Photoshop (Fronteers 2012)
Style Guides Are The New Photoshop (Fronteers 2012)
 
Web Design Primer Sample - HTML CSS JS
Web Design Primer Sample - HTML CSS JSWeb Design Primer Sample - HTML CSS JS
Web Design Primer Sample - HTML CSS JS
 
Creating Living Style Guides to Improve Performance
Creating Living Style Guides to Improve PerformanceCreating Living Style Guides to Improve Performance
Creating Living Style Guides to Improve Performance
 
Modern Front-End Development
Modern Front-End DevelopmentModern Front-End Development
Modern Front-End Development
 
[O'Reilly] HTML5 Design
[O'Reilly] HTML5 Design[O'Reilly] HTML5 Design
[O'Reilly] HTML5 Design
 
Front-End Frameworks: a quick overview
Front-End Frameworks: a quick overviewFront-End Frameworks: a quick overview
Front-End Frameworks: a quick overview
 
Responsive & Responsible Web Design in DNN
Responsive & Responsible Web Design in DNNResponsive & Responsible Web Design in DNN
Responsive & Responsible Web Design in DNN
 
State of jQuery June 2013 - Portland
State of jQuery June 2013 - PortlandState of jQuery June 2013 - Portland
State of jQuery June 2013 - Portland
 
jQuery For Beginners - jQuery Conference 2009
jQuery For Beginners - jQuery Conference 2009jQuery For Beginners - jQuery Conference 2009
jQuery For Beginners - jQuery Conference 2009
 

Viewers also liked

Student Mentoring Programs: The Why's, How's, and More
Student Mentoring Programs: The Why's, How's, and MoreStudent Mentoring Programs: The Why's, How's, and More
Student Mentoring Programs: The Why's, How's, and MoreCindy Pao
 
Learn how to Responsive web desing
Learn how to Responsive web desing Learn how to Responsive web desing
Learn how to Responsive web desing DHARA
 
Web Design And Development With Open Source
Web Design And Development With Open SourceWeb Design And Development With Open Source
Web Design And Development With Open SourceBaki Goxhaj
 
Brian Beckham - Atomic Design - Modularity Matters: Bringing Atomic Design to...
Brian Beckham - Atomic Design - Modularity Matters: Bringing Atomic Design to...Brian Beckham - Atomic Design - Modularity Matters: Bringing Atomic Design to...
Brian Beckham - Atomic Design - Modularity Matters: Bringing Atomic Design to...SUGCON
 
Designing Responsive Websites
Designing Responsive WebsitesDesigning Responsive Websites
Designing Responsive WebsitesClarissa Peterson
 
Atomic Designにまつわるエトセトラ
Atomic DesignにまつわるエトセトラAtomic Designにまつわるエトセトラ
Atomic DesignにまつわるエトセトラEdward Fox
 
Getting Familiar with Animate CC
Getting Familiar with Animate CCGetting Familiar with Animate CC
Getting Familiar with Animate CCJoseph Labrecque
 
Responsive Web Design - but for real!
Responsive Web Design - but for real!Responsive Web Design - but for real!
Responsive Web Design - but for real!Rudy Rigot
 
Intro to modern web technology
Intro to modern web technologyIntro to modern web technology
Intro to modern web technologyChris Love
 
Responsive Web Design Basics
Responsive Web Design BasicsResponsive Web Design Basics
Responsive Web Design BasicsAustin Walker
 
Creating Beautiful, Accessible, and User-Friendly Forms
Creating Beautiful, Accessible, and User-Friendly FormsCreating Beautiful, Accessible, and User-Friendly Forms
Creating Beautiful, Accessible, and User-Friendly FormsClarissa Peterson
 
Responsive Design Workflow (Breaking Development Conference 2012 Orlando)
Responsive Design Workflow (Breaking Development Conference 2012 Orlando)Responsive Design Workflow (Breaking Development Conference 2012 Orlando)
Responsive Design Workflow (Breaking Development Conference 2012 Orlando)Stephen Hay
 
Latest Trends in Web Technologies
Latest Trends in Web TechnologiesLatest Trends in Web Technologies
Latest Trends in Web Technologiesbryanbibat
 
Presentación sobre Bitcoin - Bootcamp Incutex
Presentación sobre Bitcoin - Bootcamp IncutexPresentación sobre Bitcoin - Bootcamp Incutex
Presentación sobre Bitcoin - Bootcamp IncutexLeandro Pisaroni Gerbaldo
 
Introduction to Responsive Web Design
Introduction to Responsive Web DesignIntroduction to Responsive Web Design
Introduction to Responsive Web DesignClarissa Peterson
 

Viewers also liked (20)

Student Mentoring Programs: The Why's, How's, and More
Student Mentoring Programs: The Why's, How's, and MoreStudent Mentoring Programs: The Why's, How's, and More
Student Mentoring Programs: The Why's, How's, and More
 
Learn how to Responsive web desing
Learn how to Responsive web desing Learn how to Responsive web desing
Learn how to Responsive web desing
 
Web Design And Development With Open Source
Web Design And Development With Open SourceWeb Design And Development With Open Source
Web Design And Development With Open Source
 
Bootstrap Fundamentals
Bootstrap FundamentalsBootstrap Fundamentals
Bootstrap Fundamentals
 
Brian Beckham - Atomic Design - Modularity Matters: Bringing Atomic Design to...
Brian Beckham - Atomic Design - Modularity Matters: Bringing Atomic Design to...Brian Beckham - Atomic Design - Modularity Matters: Bringing Atomic Design to...
Brian Beckham - Atomic Design - Modularity Matters: Bringing Atomic Design to...
 
Designing Responsive Websites
Designing Responsive WebsitesDesigning Responsive Websites
Designing Responsive Websites
 
Atomic Designにまつわるエトセトラ
Atomic DesignにまつわるエトセトラAtomic Designにまつわるエトセトラ
Atomic Designにまつわるエトセトラ
 
Getting Familiar with Animate CC
Getting Familiar with Animate CCGetting Familiar with Animate CC
Getting Familiar with Animate CC
 
Responsive web design
Responsive web designResponsive web design
Responsive web design
 
Responsive Web Design - but for real!
Responsive Web Design - but for real!Responsive Web Design - but for real!
Responsive Web Design - but for real!
 
Responsive Web Design
Responsive Web DesignResponsive Web Design
Responsive Web Design
 
Responsive Web Design
Responsive Web DesignResponsive Web Design
Responsive Web Design
 
Responsive Design Workshop
Responsive Design WorkshopResponsive Design Workshop
Responsive Design Workshop
 
Intro to modern web technology
Intro to modern web technologyIntro to modern web technology
Intro to modern web technology
 
Responsive Web Design Basics
Responsive Web Design BasicsResponsive Web Design Basics
Responsive Web Design Basics
 
Creating Beautiful, Accessible, and User-Friendly Forms
Creating Beautiful, Accessible, and User-Friendly FormsCreating Beautiful, Accessible, and User-Friendly Forms
Creating Beautiful, Accessible, and User-Friendly Forms
 
Responsive Design Workflow (Breaking Development Conference 2012 Orlando)
Responsive Design Workflow (Breaking Development Conference 2012 Orlando)Responsive Design Workflow (Breaking Development Conference 2012 Orlando)
Responsive Design Workflow (Breaking Development Conference 2012 Orlando)
 
Latest Trends in Web Technologies
Latest Trends in Web TechnologiesLatest Trends in Web Technologies
Latest Trends in Web Technologies
 
Presentación sobre Bitcoin - Bootcamp Incutex
Presentación sobre Bitcoin - Bootcamp IncutexPresentación sobre Bitcoin - Bootcamp Incutex
Presentación sobre Bitcoin - Bootcamp Incutex
 
Introduction to Responsive Web Design
Introduction to Responsive Web DesignIntroduction to Responsive Web Design
Introduction to Responsive Web Design
 

Similar to "Responsive Web Design: Clever Tips and Techniques". Vitaly Friedman, Smashing Magazine

Responsive Web Design tips and tricks.
Responsive Web Design tips and tricks.Responsive Web Design tips and tricks.
Responsive Web Design tips and tricks.GaziAhsan
 
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-18Frédéric Harper
 
WUD Rome 2014 - Delightful UX – Real-Life Responsive Web Design (EN) - Vitaly...
WUD Rome 2014 - Delightful UX – Real-Life Responsive Web Design (EN) - Vitaly...WUD Rome 2014 - Delightful UX – Real-Life Responsive Web Design (EN) - Vitaly...
WUD Rome 2014 - Delightful UX – Real-Life Responsive Web Design (EN) - Vitaly...nois3
 
Adobe MAX 2008: HTML/CSS + Fireworks
Adobe MAX 2008: HTML/CSS + FireworksAdobe MAX 2008: HTML/CSS + Fireworks
Adobe MAX 2008: HTML/CSS + FireworksNathan Smith
 
Great Responsive-ability Web Design
Great Responsive-ability Web DesignGreat Responsive-ability Web Design
Great Responsive-ability Web DesignMike Wilcox
 
Making Your Site Printable: CSS Summit 2014
Making Your Site Printable: CSS Summit 2014Making Your Site Printable: CSS Summit 2014
Making Your Site Printable: CSS Summit 2014Adrian Roselli
 
Trendsetting: Web Design and Beyond
Trendsetting: Web Design and BeyondTrendsetting: Web Design and Beyond
Trendsetting: Web Design and BeyondAndy Stratton
 
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 2013Marc D Anderson
 
UX Alive Conference speaker is Vitaly Friedman (Smashing Magazine) presentations
UX Alive Conference speaker is Vitaly Friedman (Smashing Magazine) presentationsUX Alive Conference speaker is Vitaly Friedman (Smashing Magazine) presentations
UX Alive Conference speaker is Vitaly Friedman (Smashing Magazine) presentationsUX Alive Conference
 
Organize Your Website With Advanced CSS Tricks
Organize Your Website With Advanced CSS TricksOrganize Your Website With Advanced CSS Tricks
Organize Your Website With Advanced CSS TricksAndolasoft Inc
 
Accessibility Hacks version 2
Accessibility Hacks version 2Accessibility Hacks version 2
Accessibility Hacks version 2Graham Armfield
 
Accessibility Hacks Version 2
Accessibility Hacks Version 2Accessibility Hacks Version 2
Accessibility Hacks Version 2Graham Armfield
 
Mobile Best Practices
Mobile Best PracticesMobile Best Practices
Mobile Best Practicesmintersam
 
Responsive content
Responsive contentResponsive content
Responsive contenthonzie
 
Responsive web design
Responsive web designResponsive web design
Responsive web designBen MacNeill
 
Accessibility Hacks Wordcamp Manchester October 2018
Accessibility Hacks Wordcamp Manchester October 2018Accessibility Hacks Wordcamp Manchester October 2018
Accessibility Hacks Wordcamp Manchester October 2018Graham Armfield
 
Advancio, Inc. Academy: Responsive Web Design
Advancio, Inc. Academy: Responsive Web DesignAdvancio, Inc. Academy: Responsive Web Design
Advancio, Inc. Academy: Responsive Web DesignAdvancio
 
Let's dig into the Omega Theme!
Let's dig into the Omega Theme!Let's dig into the Omega Theme!
Let's dig into the Omega Theme!Mediacurrent
 

Similar to "Responsive Web Design: Clever Tips and Techniques". Vitaly Friedman, Smashing Magazine (20)

Responsive Web Design tips and tricks.
Responsive Web Design tips and tricks.Responsive Web Design tips and tricks.
Responsive Web Design tips and tricks.
 
Rwd slidedeck
Rwd slidedeckRwd slidedeck
Rwd slidedeck
 
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
 
WUD Rome 2014 - Delightful UX – Real-Life Responsive Web Design (EN) - Vitaly...
WUD Rome 2014 - Delightful UX – Real-Life Responsive Web Design (EN) - Vitaly...WUD Rome 2014 - Delightful UX – Real-Life Responsive Web Design (EN) - Vitaly...
WUD Rome 2014 - Delightful UX – Real-Life Responsive Web Design (EN) - Vitaly...
 
Adobe MAX 2008: HTML/CSS + Fireworks
Adobe MAX 2008: HTML/CSS + FireworksAdobe MAX 2008: HTML/CSS + Fireworks
Adobe MAX 2008: HTML/CSS + Fireworks
 
Great Responsive-ability Web Design
Great Responsive-ability Web DesignGreat Responsive-ability Web Design
Great Responsive-ability Web Design
 
Making Your Site Printable: CSS Summit 2014
Making Your Site Printable: CSS Summit 2014Making Your Site Printable: CSS Summit 2014
Making Your Site Printable: CSS Summit 2014
 
Trendsetting: Web Design and Beyond
Trendsetting: Web Design and BeyondTrendsetting: Web Design and Beyond
Trendsetting: Web Design and Beyond
 
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
 
UX Alive Conference speaker is Vitaly Friedman (Smashing Magazine) presentations
UX Alive Conference speaker is Vitaly Friedman (Smashing Magazine) presentationsUX Alive Conference speaker is Vitaly Friedman (Smashing Magazine) presentations
UX Alive Conference speaker is Vitaly Friedman (Smashing Magazine) presentations
 
Organize Your Website With Advanced CSS Tricks
Organize Your Website With Advanced CSS TricksOrganize Your Website With Advanced CSS Tricks
Organize Your Website With Advanced CSS Tricks
 
Accessibility Hacks version 2
Accessibility Hacks version 2Accessibility Hacks version 2
Accessibility Hacks version 2
 
Accessibility Hacks Version 2
Accessibility Hacks Version 2Accessibility Hacks Version 2
Accessibility Hacks Version 2
 
Mobile Best Practices
Mobile Best PracticesMobile Best Practices
Mobile Best Practices
 
Html5 more than just html5 v final
Html5  more than just html5 v finalHtml5  more than just html5 v final
Html5 more than just html5 v final
 
Responsive content
Responsive contentResponsive content
Responsive content
 
Responsive web design
Responsive web designResponsive web design
Responsive web design
 
Accessibility Hacks Wordcamp Manchester October 2018
Accessibility Hacks Wordcamp Manchester October 2018Accessibility Hacks Wordcamp Manchester October 2018
Accessibility Hacks Wordcamp Manchester October 2018
 
Advancio, Inc. Academy: Responsive Web Design
Advancio, Inc. Academy: Responsive Web DesignAdvancio, Inc. Academy: Responsive Web Design
Advancio, Inc. Academy: Responsive Web Design
 
Let's dig into the Omega Theme!
Let's dig into the Omega Theme!Let's dig into the Omega Theme!
Let's dig into the Omega Theme!
 

More from Yandex

Предсказание оттока игроков из World of Tanks
Предсказание оттока игроков из World of TanksПредсказание оттока игроков из World of Tanks
Предсказание оттока игроков из World of TanksYandex
 
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...Yandex
 
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров ЯндексаСтруктурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров ЯндексаYandex
 
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров Яндекса
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров ЯндексаПредставление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров Яндекса
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров ЯндексаYandex
 
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...Yandex
 
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...Yandex
 
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...Yandex
 
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...Yandex
 
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...Yandex
 
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...Yandex
 
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...Yandex
 
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...Yandex
 
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеровКак защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеровYandex
 
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...Yandex
 
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...Yandex
 
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...Yandex
 
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...Yandex
 
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...Yandex
 
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...Yandex
 
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...Yandex
 

More from Yandex (20)

Предсказание оттока игроков из World of Tanks
Предсказание оттока игроков из World of TanksПредсказание оттока игроков из World of Tanks
Предсказание оттока игроков из World of Tanks
 
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...
 
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров ЯндексаСтруктурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
 
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров Яндекса
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров ЯндексаПредставление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров Яндекса
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров Яндекса
 
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...
 
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...
 
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...
 
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...
 
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...
 
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...
 
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
 
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...
 
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеровКак защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
 
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...
 
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...
 
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...
 
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...
 
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...
 
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...
 
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...
 

Recently uploaded

Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 

Recently uploaded (20)

Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 

"Responsive Web Design: Clever Tips and Techniques". Vitaly Friedman, Smashing Magazine

  • 1. New Perspectives in Web Design Vitaly Friedman 02/10/2013 • YAC, Moscow
  • 2. Vitaly Friedman, editor-in-chief and co-founder of SmashingMag
  • 3.
  • 4. This talk is about new techniques.
  • 5. And about clever UX patterns. This talk is about new techniques.
  • 6. And about clever UX patterns. This talk is about new techniques. And what works in real-life projects.
  • 7. We are blinded by chrome. When it comes to RWD, we think about layouts, and often we should, but we have to keep in mind that we are not rectangle artists. we explore solutions to problems. Browsers think in boxes, but humans shouldn't. And we do it because we had to find some
  • 8.
  • 9.
  • 10. “ Designing for the Web is like visualizing a tesseract. We build experiences by manipulating their shadows. — Tim Brown
  • 11.
  • 12. Responsive Design is an appropriate tool for “multi-dimensional” designs.
  • 13. It’s a new mindset that requires us to rethink and extend our practices.
  • 15.
  • 16.
  • 17. “ If you’re used to designing fixed- width layouts, it’s going to be really, really hard to get your head around designing and building in a fluid way… at first. — Elliot Jay Stocks http://elliotjaystocks.com/blog/responsive-web-design-the-war-has-not-yet-been-won/
  • 18. “ ...Once you overcome that initial struggle of adapting to a new process, designing and building responsive sites needn’t take any longer, or cost any more money. — Elliot Jay Stocks http://elliotjaystocks.com/blog/responsive-web-design-the-war-has-not-yet-been-won/
  • 19.
  • 20.
  • 21.
  • 22.
  • 23. “ ...The homepage is comprised of Lego-like building blocks designed to be combined together... — Dave Rupert
  • 24. “ ...Today, the deliverables could look a lot like fully-functioning Twitter Bootstrap-style systems which are custom tailored for your clients’ needs. Think of it as tiny bootstraps, for every client. — Dave Rupert
  • 25.
  • 26. Responsive Deliverables •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
  • 27. •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
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35. “ Atomic design gives us the ability to traverse from abstract to concrete. We can create systems that promote consistency and scalability. We assemble rather than deconstruct. — Brad Frost
  • 36. Atomic Design • Obvious relationships between modules • Abstract → Concrete: atoms are used for references, pages for review, rest for build. • Pattern library serves as a final deliverable, and as such scalable and future-proof.
  • 37.
  • 38.
  • 39.
  • 41. Resolution Independence • High pixel density displays prompt us to create future-proof solutions for graphics. • Creating multiple assets for the same graphics (not photos) isn’t future-proof. • Two options: SVG and Icon Fonts.
  • 42. • HTML: <ul class="actions"> <li><a class="a-share" href="#">Share</a></li> <li><a class="a-print" href="#">Print</a></li> </ul> • CSS: .actions a { font-size: 1em; /* Sprite: 30x160px */ background-image: url('sprite.png'); } .actions .a-share { background-position: 10px 0; } .actions .a-print { background-position: 10px -40px; } PNG sprites
  • 43. • HTML: <ul class="actions"> <li><a class="a-share" href="#">Share</a></li> </ul> • CSS: body { font-size: 100%; } /* = 16px by default */ .actions a { font-size: 1em; background-image: url('sprite.svg'); background-size: 1.875em 10em; } .actions .a-share { background-position: 0.625em 0; } SVG sprites
  • 44.
  • 45.
  • 46.
  • 47. Resolution Independence (SVG) • Good SVG support: Chrome 4+, Safari 4+, FF4+, Opera 9.5+, IE9+, mobile browsers. • For legacy browsers (and Android 2.3) we need PNG-fallback with Cond. Comments (IE<9) or Modernizr or SVG polyfills (Canvg).
  • 48.
  • 49.
  • 50. • HTML: <a class="icon share" href="#">Share</a> • CSS: @font-face { font-family: 'Icon Font'; src: url('icon-font.eot'); src: local('☺'); url('icon-font.woff') format('woff'), url('icon-font.ttf') format('truetype'), url('icon-font.svg') format('svg'); } .icon { font-family: 'Icon Font'; font-size: 1.5em; } .share:before { content: "s"; } Icon Fonts
  • 51. • HTML: <a class="icon" data-icon="s" href="#">Share</a> <a class="icon" data-icon="h" href="#">History</a> • CSS: .icon:before { content: attr(data-icon); /* Optional color definition */ } Icon Fonts
  • 52. • Furthermore, we can combine icon font glyphs to create complex multi-layered icons. • Idea: Split apart the components of your multi- color vector, add each element to the icon font, then stack them to create a new icon. Resolution Independence (Web Fonts)
  • 53.
  • 54.
  • 55. Resolution Independence (Web Fonts) • There are many comprehensive Web fonts: Entypo and FontAwesome are free. • Excellent support: everywhere but Opera Mini and Android 2.1. • Build custom, small “bundles” with Fontello (combines popular open-source fonts).
  • 56.
  • 57.
  • 58.
  • 59.
  • 61. Compressive Images • To display photos properly on high pixel density displays, we don’t need hi-res images. • If a JPG image has relatively small dimensions, we can use a workaround to keep its size small.
  • 62. “ ...Given two identical images that are displayed at the same size on a website, one can be dramatically smaller than the other in file size if it’s highly compressed and dramatically larger in dimensions than it is displayed. — Daan Jobsis
  • 63. 600×400px file, 0% JPEG quality, displayed in 600×400 (file size 7 Kb)
  • 64. 600×400px file, 0% JPEG quality, displayed in 300×200 (file size 7 Kb)
  • 65. 600×400px file (7 Kb) ________________________________ 0% JPEG quality displayed in 300×200 300×200px file (21 Kb) _________________________________ 80% JPEG quality displayed in 300×200
  • 66.
  • 67.
  • 68.
  • 69.
  • 70.
  • 71.
  • 72.
  • 73.
  • 74. Responsive Images • For photos, consider using Scott Jehl’s Picturefill or Tyson Matanich’s branch of it. • Allows images to load before the entire DOM is ready or after the rest of the page loads. • Allows you to wait for the new image to complete downloading before updating <img>. Also, allows you to disable swapping of images.
  • 75.
  • 76. Clown Car Technique (With SVG) • We can use media queries within SVG to serve right raster images without double markup. • HTML: <img src="image.svg" alt="Responsive image" />
  • 77. •SVG: <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="300" height="329"> <title>The Clown Car Technique</title> <g> <image id="small" height="329" width="300" xlink:href="small.png" /> <image id="medium" height="329" width="300" xlink:href="medium.png" /> <image id="big" height="329" width="300" xlink:href="big.png" /> <image id="huge" height="329" width="300" xlink:href="huge.png" /> </g> </svg>
  • 78. •SVG: <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="300" height="329"> <title>The Clown Car Technique</title> <g> <image id="small" height="329" width="300" xlink:href="small.png" /> <defs> <style> image { display: none; } #small { display: block; } @media screen and (max-width: 25em) { #medium { display: block; } #small { display: none; } } @media screen and (max-width: 45em) { #big { display: block; } #small { display: none; } } </style> </defs>
  • 79. •SVG: <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="300" height="329"> <title>The Clown Car Technique</title> <g> <image id="small" height="329" width="300" xlink:href="small.png" /> <defs> <style> svg { background-size: 100% 100%; background-repeat: no-repeat; } @media screen and (max-width: 25em) { svg { background-image: url(small.png"); } } @media screen and (max-width: 45em) { svg { background-image: url(medium.png"); } } @media screen and (max-width: 60em) { svg { background-image: url(large.png"); } } </style> </defs>
  • 80. Clown Car Technique (With SVG) • Due to cross-browser issues, we have to use the <object> tag instead of <img>: <object data="image.svg" type="image/svg+xml"></object> • Two main benefits: • MQs within SVG are based on the parent element in which the SVG is contained, not the viewport width. • All image options are encapsulated in an SVG file.
  • 81.
  • 83. Conditional Loading • We ask browsers to load assets progressively— ensuring a fast and functional core experience. • Essentially, the state-of-the-art progressive enhancement with a focus on performance.
  • 84. 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.
  • 85.
  • 86.
  • 87.
  • 88. 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> }
  • 89.
  • 90. 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> }
  • 91. 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 }
  • 92. • 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. BBC’s isModernBrowser( )
  • 93.
  • 94.
  • 95. Gmail’s Lazy Loading • Idea: let browsers download all of the JS right away, but evaluate it “on demand”, i.e. when users need a particular feature. • Much of the downloaded JS is commented out, and when needed uncommented and eval-ed. • Gmail’s case: 200 Kb of JS -> 2600 ms page load 200 Kb of JS (lazy loaded) -> 240 ms page load
  • 96. Gmail’s Lazy Loading • <script id="lazy"> // Make sure you strip out (or replace) comment blocks in your JavaScript first. /* JavaScript of lazy module */ </script> <script> function lazyLoad() { var lazyElement = document.getElementById('lazy'); var lazyElementBody = lazyElement.innerHTML; var jsCode = stripOutCommentBlock(lazyElementBody); eval(jsCode); } </script> <div onclick=lazyLoad()>Lazy Load</div>
  • 97.
  • 98.
  • 99. The Two-Click Social Widget • Load social widgets only when user explicitly chooses to take that action to share content. • Idea: load small social icons by default, and load the FB, Twitter and G+ widgets on click. • Cuts down on bandwidth and on latency. (FB button alone weighs 120 Kb + 4 requests).
  • 100.
  • 101.
  • 102.
  • 104. Optimistic Interfaces • Performance is not only about technology; it’s about how users perceive it, too. • To create a noticeable performance improvement, it has to improve by 20%. • Idea: fake performance by being optimistic about user’s next steps. Steven C. Seow, “Designing and Engineering Time: The Psychology of Time Perception”
  • 105. • Perform actions optimistically Pretend that an action succeeded right away. • Adaptively prefetch content Reprioritize loading based on user’s actions. • Move bits when no one is watching Keep users busy while boring stuff happens. Mike Krieger, co-founder of Instagram, “Secrets to Lightning-Fast Mobile Design” Optimistic Interfaces
  • 106.
  • 107.
  • 108.
  • 109.
  • 110.
  • 111.
  • 112. “ The optimal style is a backwards moving and decelerating ribbed progress bar, which made the load time appear 11% faster than a solid colored bar.
  • 113.
  • 114.
  • 115.
  • 116.
  • 117. “ Performance isn’t solely a technical concern for developers. It’s time to treat performance as an essential design feature. — Brad Frost
  • 118. Performance Budget • Idea: always include performance in project documents—e.g. proposals and design briefs. • Set a “budget” on your site and don’t allow the site to exceed it (number of requests, page size). • Helps make every decision through the design/ build process, as something that has consequence.
  • 119.
  • 120.
  • 122. “ 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
  • 123. 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.
  • 124.
  • 125. 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.
  • 126. • 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. Progressive Reduction
  • 127.
  • 128.
  • 130. “ If a design problem can be solved responsively, eventually it will be solved responsively. — You-know-who
  • 131.
  • 132.
  • 133.
  • 134.
  • 135.
  • 136.
  • 137.
  • 138.
  • 139.
  • 140.
  • 142.
  • 143.
  • 147.
  • 148. Image credits • Front cover: Geometric Wallpapers by Simon C Page (http://simoncpage.co.uk/blog/ 2012/03/ipad-hd-retina-wallpaper/) • Homer Simpsons: http://smashed.by/homer • Sections illustrations: “bisous les copains”, by Guillaume Kurkdjian (http:// bisouslescopains.tumblr.com/) • Hypercube: http://en.academic.ru, Wikipedia