@bencallahan @robertharr
Wednesday, October 16, 13
Slide 2
Slide 2 text
Wednesday, October 16, 13
Slide 3
Slide 3 text
@hearsparkbox @brworkshop
@bencallahan @robertharr
Wednesday, October 16, 13
Slide 4
Slide 4 text
#convergerva
#brworkshop
Wednesday, October 16, 13
Slide 5
Slide 5 text
Please, turn off Dropbox sync.
Wednesday, October 16, 13
Slide 6
Slide 6 text
And, stop streaming
Game of Thrones.
Wednesday, October 16, 13
Slide 7
Slide 7 text
Wednesday, October 16, 13
Slide 8
Slide 8 text
Collaborative note-taking
experiment:
http://bit.ly/19neMUs
Wednesday, October 16, 13
Slide 9
Slide 9 text
About Us
Wednesday, October 16, 13
Slide 10
Slide 10 text
About You
Wednesday, October 16, 13
Slide 11
Slide 11 text
AN INTRODUCTION TO RESPONSIVE WEB DESIGN
RWD 101
Wednesday, October 16, 13
Slide 12
Slide 12 text
September 9, 2007
6:30am
Wednesday, October 16, 13
Slide 13
Slide 13 text
177%
increase in tablet
ownership since last year
In the US...
http://bit.ly/YFW4Ai
Wednesday, October 16, 13
Slide 14
Slide 14 text
80%
of consumers multi-task
with other devices while
watching TV
In the US...
http://bit.ly/YFW4Ai
Wednesday, October 16, 13
Slide 15
Slide 15 text
26%
of consumers own a
laptop, tablet &
smartphone
http://bit.ly/YFW4Ai
In the US...
Wednesday, October 16, 13
Slide 16
Slide 16 text
The web is not fixed width
Wednesday, October 16, 13
Slide 17
Slide 17 text
The penetration of
desktop & laptop
ownership is the same
today as it was in 2007.
http://bit.ly/zE1zgp
In the US...
Wednesday, October 16, 13
Slide 18
Slide 18 text
Mobile vs Desktop Browsing
0
500
1000
1500
2000
2007 2008 2009 2010 2011 2012 2013 2014 2015
Mobile Users Desktop Users
http://bit.ly/L5cqiO
Wednesday, October 16, 13
Slide 19
Slide 19 text
Not that far away
0
500
1000
1500
2000
2007 2008 2009 2010 2011 2012 2013 2014 2015
Mobile Users Desktop Users
http://bit.ly/L5cqiO
Wednesday, October 16, 13
Slide 20
Slide 20 text
Q1 2013
conversions on tablets
surpassed conversions on
traditional desktops
http://bit.ly/sNpLte
In the US...
Wednesday, October 16, 13
Slide 21
Slide 21 text
Flexibility is the new norm
Wednesday, October 16, 13
Slide 22
Slide 22 text
People are trying to
browse your sites on these
devices, today
Wednesday, October 16, 13
Slide 23
Slide 23 text
Responsive web design
Wednesday, October 16, 13
Slide 24
Slide 24 text
Ethan Marcotte
Article on ALA
(http://bit.ly/Wi0xvw)
Book via ABA
(http://bit.ly/f6TPB7)
Wednesday, October 16, 13
Slide 25
Slide 25 text
Wednesday, October 16, 13
Slide 26
Slide 26 text
RWD 101
‣ Three Core Techniques
- A Fluid Foundation
- Flexible Content
- Media Queries
Wednesday, October 16, 13
Slide 27
Slide 27 text
A Fluid Foundation
Honor the proportions of
the design by creating
percentage-based layout
instead of fixed-width,
pixel-based layout.
Wednesday, October 16, 13
Slide 28
Slide 28 text
A Fluid Foundation
Browser Window
1000px
600px 400px
Wednesday, October 16, 13
Slide 29
Slide 29 text
Browser Window
A Fluid Foundation
1000px
600px 400px
Wednesday, October 16, 13
Slide 30
Slide 30 text
A Fluid Foundation
Browser Window
100%
60% 40%
Wednesday, October 16, 13
Slide 31
Slide 31 text
A Fluid Foundation
Browser Window
100%
60% 40%
Wednesday, October 16, 13
Slide 32
Slide 32 text
Flexible Content
Once we have a layout
which is based on
proportions, the content
must also respond.
Wednesday, October 16, 13
Slide 33
Slide 33 text
Browser Window
We the People of the United States, in Order
to form a more perfect Union, establish
Justice, insure domestic Tranquility, provide
for the common defence, promote the general
Welfare, and secure the Blessings of Liberty to
ourselves and our Posterity, do ordain and
establish this Constitution for the United
States of America.
Flexible Content
Wednesday, October 16, 13
Slide 34
Slide 34 text
Browser Window
We the People of
the United States, in
Order to form a
more perfect Union,
establish Justice,
insure domestic
Tranquility, provide
for the common
defence, promote
the general Welfare,
and secure the
Blessings of Liberty
to ourselves and
Flexible Content
Wednesday, October 16, 13
Slide 35
Slide 35 text
Browser Window
We the People of the United States, in Order
to form a more perfect Union, establish
Justice, insure domestic Tranquility, provide
for the common defence, promote the general
Flexible Content
(Image)
600px
Wednesday, October 16, 13
Slide 36
Slide 36 text
Browser Window
We the People of
the United States, in
Order to form a
Flexible Content
(Image)
600px
Wednesday, October 16, 13
Slide 37
Slide 37 text
Browser Window
We the People of
the United States, in
Order to form a
Flexible Content
(Image)
600px
http://bit.ly/ZdC8pH
Wednesday, October 16, 13
Slide 38
Slide 38 text
Browser Window
We the People of
the United States, in
Order to form a
more perfect Union,
establish Justice,
insure domestic
Tranquility, provide
for the common
Flexible Content
(Image)
100%
Wednesday, October 16, 13
Slide 39
Slide 39 text
Media Queries
When our content and our
design are no longer
working in harmony, we
need to make a larger shift
in layout.
Wednesday, October 16, 13
Slide 40
Slide 40 text
Browser Window
100%
60% 40%
Media Queries
Wednesday, October 16, 13
Slide 41
Slide 41 text
Browser Window
A
100%
B
100%
C
100%
Media Queries
Browser Window
A
100%
B
60%
C
40%
Wednesday, October 16, 13
Slide 42
Slide 42 text
Browser Window
A
100%
B
60%
C
40%
Media Queries
Browser Window
A
100%
B
100%
C
100%
Wednesday, October 16, 13
Slide 43
Slide 43 text
[live examples]
Wednesday, October 16, 13
Slide 44
Slide 44 text
RWD 101
‣ Three Core Techniques
- A Fluid Foundation
- Flexible Content
- Media Queries
Wednesday, October 16, 13
Slide 45
Slide 45 text
[code examples]
Wednesday, October 16, 13
Slide 46
Slide 46 text
WEB DESIGN PROCESS IN A RESPONSIVE WORLD
RWD WORKFLOW
Wednesday, October 16, 13
Slide 47
Slide 47 text
A SHIFT IN
MINDSET
Wednesday, October 16, 13
Slide 48
Slide 48 text
Where we’ve been
Wednesday, October 16, 13
Slide 49
Slide 49 text
A SHIFT IN MINDSET
Traditional Linear Workflow
DESIGN FRONT-END BACK-END LAUNCH!
Wednesday, October 16, 13
Slide 50
Slide 50 text
A SHIFT IN MINDSET
Traditional Linear Workflow
DESIGN FRONT-END BACK-END LAUNCH!
TH
IN
K
A
B
O
U
T
U
SER
S
Wednesday, October 16, 13
Slide 51
Slide 51 text
A SHIFT IN MINDSET
Traditional Linear Workflow
DESIGN FRONT-END BACK-END LAUNCH!
TH
IN
K
A
B
O
U
T
U
SER
S
TH
R
O
W
IN
C
O
N
TEN
T
Wednesday, October 16, 13
Slide 52
Slide 52 text
A SHIFT IN MINDSET
Slightly Better Linear Workflow
CONTENT UX DESIGN FRONT-END BACK-END LAUNCH!
Wednesday, October 16, 13
Slide 53
Slide 53 text
What happens when you
throw RWD into this
process?
Wednesday, October 16, 13
Slide 54
Slide 54 text
A SHIFT IN MINDSET
Linear Workflow
CONTENT UX DESIGN FRONT-END BACK-END LAUNCH
Now with
RWD!
Wednesday, October 16, 13
Slide 55
Slide 55 text
Now with
RWD!
A SHIFT IN MINDSET
Linear Workflow
CONTENT UX DESIGN FRONT-END BACK-END LAUNCH
Me too!
Ditto!
Wednesday, October 16, 13
Slide 56
Slide 56 text
This doesn’t work.
Wednesday, October 16, 13
Slide 57
Slide 57 text
(example: seesparkbox.com)
Wednesday, October 16, 13
Slide 58
Slide 58 text
Jakob Nielsen Says...
‣ Build a separate mobile site
‣ Cut features
‣ Cut content
http://www.nngroup.com/articles/mobile-site-vs-full-site/
Wednesday, October 16, 13
Slide 59
Slide 59 text
Jakob Nielsen Says...
‣ Build a separate mobile site
‣ Cut features
‣ Cut content
http://www.nngroup.com/articles/mobile-site-vs-full-site/
PLEASE, NO.
Wednesday, October 16, 13
Slide 60
Slide 60 text
We need to invite others
into the process
Wednesday, October 16, 13
Slide 61
Slide 61 text
A SHIFT IN MINDSET
“1 Deliverable” Workflow
Wednesday, October 16, 13
A SHIFT IN MINDSET
‣ Pros
- Natural Decisions
- Encourages Collaboration
- Encourages Iteration
- Better Results
“1 Deliverable” Workflow
Wednesday, October 16, 13
Slide 67
Slide 67 text
A SHIFT IN MINDSET
‣ Cons
- Requires Change
- May Conflict with Organizational
Structure
- Dependent on Team Make-up
“1 Deliverable” Workflow
Wednesday, October 16, 13
Slide 68
Slide 68 text
What happens when you
invite others into the
process?
Wednesday, October 16, 13
Slide 69
Slide 69 text
The quality as a whole
improves
Wednesday, October 16, 13
Slide 70
Slide 70 text
(example: nd.edu)
Wednesday, October 16, 13
Slide 71
Slide 71 text
So, how do we actually
do this?
Wednesday, October 16, 13
Slide 72
Slide 72 text
A SHIFT IN
PROCESS
Wednesday, October 16, 13
Slide 73
Slide 73 text
A SHIFT IN PROCESS
A Process Myth
Each client deliverable needs to
look more like a final, beautiful
end-product than the previous
one.
Wednesday, October 16, 13
Slide 74
Slide 74 text
A SHIFT IN PROCESS
Which Results In
Pushing toward nearly-designed
wireframes quickly and completely
designed comps soon after.
(This sets up all sorts of
unrealistic client expectations.)
Wednesday, October 16, 13
Slide 75
Slide 75 text
A SHIFT IN PROCESS
A Better Approach
Inviting the client into the process
regularly so that “deliverables”
become “progress updates.”
Time is not wasted on perfecting
the parts, but advancing the
whole.
Wednesday, October 16, 13
Slide 76
Slide 76 text
A SHIFT IN PROCESS
Our Deliverables Updates
‣ Research Deliverables Updates
‣ Content Deliverables Updates
‣ Priority Deliverables Updates
‣ Style Deliverables Updates
‣ Functional Deliverables Updates
Wednesday, October 16, 13
Slide 77
Slide 77 text
A SHIFT IN PROCESS
Let’s Focus On...
‣ Research Updates
‣ Content Updates
‣ Priority Updates
‣ Style Updates
‣ Functional Updates
Wednesday, October 16, 13
Slide 78
Slide 78 text
A SHIFT IN PROCESS
Priority Updates
‣ Content Priority Prototypes
- Takes the place of a traditional
wireframe.
- As much real content as you can.
- Linear in nature, priority implied.
- Possibly created in HTML, viewed
in a browser.
- Generated by content/UX people.
Wednesday, October 16, 13
Slide 79
Slide 79 text
A SHIFT IN PROCESS
Priority Updates
‣ Content Priority Examples
- Non HTML examples
• Smashing Article: Design Process In The
Responsive Age
- HTML example
• building.seesparkbox.com
Wednesday, October 16, 13
Slide 80
Slide 80 text
A SHIFT IN PROCESS
Style Updates
‣ Style Prototype
- Like Style Tiles, but in the browser
(styletil.es).
- Very fast to build.
- Accurate web typography.
- Easy to show web interaction.
- Client reviews in their browser of
preference.
Wednesday, October 16, 13
Slide 81
Slide 81 text
A SHIFT IN PROCESS
Style Updates
‣ Style Prototype Examples
- building.seesparkbox.com
• new Sparkbox web style prototype
- dressresponsively.com
• dress responsively style prototype
Wednesday, October 16, 13
Slide 82
Slide 82 text
A SHIFT IN PROCESS
Other Style Updates
‣ Element Collages (Dan Mall)
‣ Style Tiles (Samantha Warren)
‣ Photoshop Comps (Everyone)
Wednesday, October 16, 13
Slide 83
Slide 83 text
A SHIFT IN PROCESS
Use What The Project Needs
‣ Research Deliverables Updates
‣ Content Deliverables Updates
‣ Priority Deliverables Updates
‣ Style Deliverables Updates
‣ Functional Deliverables Updates
Wednesday, October 16, 13
Slide 84
Slide 84 text
BEN & ROB’S
LATEST THEORY ON
WEB PROCESS
Wednesday, October 16, 13
Slide 85
Slide 85 text
The amount of process
required is inversely
proportional to the skill and
experience of your team.
Wednesday, October 16, 13
Slide 86
Slide 86 text
Create the perfect, fully-
documented, all-encompassing web
design and development process.
Or...
Wednesday, October 16, 13
Slide 87
Slide 87 text
Chill out and develop our people.
Wednesday, October 16, 13
Slide 88
Slide 88 text
Discussion
‣ What happens next in this
process?
‣ How are you handling RWD
deliverables now?
‣ What are you struggling with?
Wednesday, October 16, 13
Slide 89
Slide 89 text
CODE AND PROJECT STRUCTURE
SERVING
RWD STYLES
Wednesday, October 16, 13
Slide 90
Slide 90 text
SERVING RWD STYLES
Major Approaches
‣ Single CSS File
‣ Multiple CSS Files
‣ Breakpoint Based Partials
‣ Module Based Partials
Wednesday, October 16, 13
Slide 91
Slide 91 text
SERVING RWD STYLES
Major Approaches
‣ Single CSS File
‣ Multiple CSS Files
‣ Breakpoint Based Partials
‣ Module Based Partials
CSS PREPROCESSING FTW!
Wednesday, October 16, 13
Slide 92
Slide 92 text
Before any of this stuff will
work, you need to do this:
Wednesday, October 16, 13
Slide 93
Slide 93 text
And, you should
also do this:
/* CSS */
@-webkit-viewport { width:device-width; }
@-moz-viewport { width:device-width; }
@-ms-viewport { width:device-width; }
@-o-viewport { width:device-width; }
@viewport { width:device-width; }
Wednesday, October 16, 13
Slide 94
Slide 94 text
The Example
100%
50% 30%
Wednesday, October 16, 13
Slide 95
Slide 95 text
SERVING RWD STYLES
Major Approaches
‣ Single CSS File
‣ Multiple CSS Files
‣ Breakpoint Based Partials
‣ Module Based Partials
Wednesday, October 16, 13
Slide 96
Slide 96 text
Single CSS File
HTML
CSS
Start with styles applied
to all
Styles scoped to a
media query
Styles scoped to another
media query
Wednesday, October 16, 13
Slide 97
Slide 97 text
/* styles.css */
aside { color: #333; width: 100%; }
Single CSS File
Wednesday, October 16, 13
Slide 98
Slide 98 text
/* styles.css */
aside { color: #333; width: 100%; }
/* if the viewport width is 40em or greater */
Single CSS File
Wednesday, October 16, 13
Slide 99
Slide 99 text
PAUSE:
MEDIA QUERIES
Wednesday, October 16, 13
Slide 100
Slide 100 text
Slide 101
Slide 101 text
Slide 102
Slide 102 text
Media Types
all
braille, embossed, speech
handheld, projection, screen, tv
print
tty
http://www.w3.org/TR/CSS21/media.html#media-types
Wednesday, October 16, 13
Slide 103
Slide 103 text
Slide 104
Slide 104 text
Media Features
width, height
device-width, device-height
orientation
aspect-ratio, device-aspect-ratio
color, color-index, monochrome
resolution, scan, grid
http://www.w3.org/TR/css3-mediaqueries
Wednesday, October 16, 13
Slide 105
Slide 105 text
Single CSS File
HTML
CSS
Start with styles applied
to all
Styles scoped to a
media query
Styles scoped to another
media query
Wednesday, October 16, 13
Slide 106
Slide 106 text
Small Viewport Width First
HTML
CSS
Smallest styles
Wider styles (mq)
Even wider styles (mq)
Super wide styles (mq)
Wednesday, October 16, 13
Slide 107
Slide 107 text
Large Viewport Width First
HTML
CSS
Widest styles
Wide styles (mq)
Narrow styles (mq)
Very narrow styles (mq)
Wednesday, October 16, 13
Slide 108
Slide 108 text
/* styles.css */
aside { color: #333; width: 100%; }
/* if the viewport width is 40em or greater */
Single CSS File
Wednesday, October 16, 13
Slide 109
Slide 109 text
/* styles.css */
aside { color: #333; width: 100%; }
/* if the viewport width is 40em or greater */
@media (min-width: 40em) {
aside { width: 50%; }
}
Single CSS File
Wednesday, October 16, 13
Slide 110
Slide 110 text
/* styles.css */
aside { color: #333; width: 100%; }
/* if the viewport width is 40em or greater */
@media (min-width: 40em) {
aside { width: 50%; }
}
Single CSS File
Wednesday, October 16, 13
Slide 111
Slide 111 text
/* styles.css */
aside { color: #333; width: 100%; }
/* if the viewport width is 40em or greater */
@media (min-width: 40em) {
aside { width: 50%; }
}
/* if the viewport width is 60em or greater */
@media (min-width: 60em) {
aside { width: 30%; }
}
Single CSS File
Wednesday, October 16, 13
Slide 112
Slide 112 text
Single CSS File
/* styles.css */
aside { color: #333; width: 100%; }
/* if the viewport width is 40em or greater */
@media (min-width: 40em) {
aside { width: 50%; }
}
/* if the viewport width is 60em or greater */
@media (min-width: 60em) {
aside { width: 30%; }
}
Small Viewport
Width First
Wednesday, October 16, 13
Slide 113
Slide 113 text
/* styles.css */
aside { color: #333; width: 30%; }
/* if the viewport width is 60em or less */
@media (max-width: 60em) {
aside { width: 50%; }
}
/* if the viewport width is 40em or less */
@media (max-width: 40em) {
aside { width: 100%; }
}
Single CSS File
Large Viewport
Width First
Wednesday, October 16, 13
Slide 114
Slide 114 text
SERVING RWD STYLES
Single CSS File
‣ Simple to implement
‣ Single request
‣ Doesn’t require a preprocessor
‣ Requires JS to serve large layout to
old IE if starting with small layouts
‣ Large sites can be difficult to
maintain because of the size of
the single file
Wednesday, October 16, 13
Slide 115
Slide 115 text
SERVING RWD STYLES
Major Approaches
‣ Single CSS File
‣ Multiple CSS Files
‣ Breakpoint Based Partials
‣ Module Based Partials
Wednesday, October 16, 13
Slide 116
Slide 116 text
Multiple CSS Files
HTML
If this browser is less than IE9...
and it’s not IE Mobile...
and viewport width is at least 40em...
global.css
all styles
linear layout
layout.css
only styles for layout
http://adactio.com/journal/4494/
Wednesday, October 16, 13
Slide 117
Slide 117 text
Multiple CSS Files
index.html
Wednesday, October 16, 13
Slide 118
Slide 118 text
Multiple CSS Files
index.html
Wednesday, October 16, 13
Slide 119
Slide 119 text
Multiple CSS Files
index.html
Wednesday, October 16, 13
Slide 120
Slide 120 text
Multiple CSS Files
index.html
Wednesday, October 16, 13
Slide 121
Slide 121 text
Multiple CSS Files
index.html
Wednesday, October 16, 13
SERVING RWD STYLES
Multiple CSS Files
‣ Doesn’t require a preprocessor
‣ At least two requests
‣ Requires you to separate layout from
other styles
‣ Allows you to start with small layouts
and serve a single large layout to old
IE without JS
- Requests go up if you use multiple MQs
Wednesday, October 16, 13
Slide 125
Slide 125 text
SERVING RWD STYLES
Major Approaches
‣ Single CSS File
‣ Multiple CSS Files
‣ Breakpoint Based Partials
‣ Module Based Partials
Wednesday, October 16, 13
Slide 126
Slide 126 text
Breakpoint Based Partials
HTML
If this browser is less than IE9...
and it’s not IE Mobile...
base.css
all styles/MQ blocks
no-mq.css
MQ styles from base
without the MQs
http://nicolasgallagher.com/mobile-first-css-sass-and-ie/
Wednesday, October 16, 13
Slide 127
Slide 127 text
Breakpoint Based Partials
index.html
Wednesday, October 16, 13
PAUSE:
CSS PREPROCESSORS
Wednesday, October 16, 13
Slide 137
Slide 137 text
styles.scss styles.css
We write SASS
(or LESS, Stylus, etc.)
Browser gets CSS
(like it always has)
PREPROCESSING
What is CSS Preprocessing?
Wednesday, October 16, 13
Slide 138
Slide 138 text
The Big Three:
LESS, SASS, and Stylus
Wednesday, October 16, 13
Slide 139
Slide 139 text
LESS
‣ Runs on Node.js
‣ Very similar syntax to SASS
‣ http://lesscss.org/
Wednesday, October 16, 13
Slide 140
Slide 140 text
Variables are
specified with @
symbol
/* .less */
@top-variable: 20px;
! #header-shadow {
! position: absolute;
! ! top: @top-variable;
! }
LESS syntax
Wednesday, October 16, 13
Slide 141
Slide 141 text
Stylus
‣ Runs on Node.js
‣ Has a flexible syntax
- You can omit semi-colons, colons,
and braces
‣ http://learnboost.github.com/
stylus/
Wednesday, October 16, 13
Slide 142
Slide 142 text
/* .styl */
top-variable = 20px
!
#main-header
! position absolute
! ! top top-variable
#footer {
! background: blue
! ! border 1px solid #00f;
}
Notice the terse,
forgiving syntax.
Stylus Syntax
Wednesday, October 16, 13
Slide 143
Slide 143 text
SASS
‣ Runs on Ruby
‣ Has two syntax flavors
- .scss & .sass
‣ http://sass-lang.com/
Wednesday, October 16, 13
Mixins
‣ SASS and Stylus both support
basic programming like loops, if/
else, etc. in mixins.
‣ LESS only offers “guarded
mixins.”
- I hear this is better with the *new*
version...
Wednesday, October 16, 13
Slide 151
Slide 151 text
Sparkbox REM Mixin
Wednesday, October 16, 13
Slide 152
Slide 152 text
/*.scss*/
@include rem(padding, 0.5, 1, 4, 3);
@include rem(font-size, 1.2, large);
Sparkbox REM Mixin
Wednesday, October 16, 13
Slide 153
Slide 153 text
Compass & Bourbon
‣ Compass and Bourbon are mixin
libraries for SASS
‣ Takes care of vendor prefixes with
mixins
‣ Compass has an ecosystem of
plugins built on top of Compass
‣ With config.rb, Compass lets you
check the preprocessor config
into source control
Wednesday, October 16, 13
Slide 154
Slide 154 text
Compass & Bourbon
Wednesday, October 16, 13
Slide 155
Slide 155 text
Importing
‣ Allows you to break up your
styles across files
- variables, mixins, reset, all
separated
‣ Better than a standard css import
Wednesday, October 16, 13
Slide 156
Slide 156 text
this file will
compile to
base.css
/* base.scss */
@import "compass";
@import "variables";
@import "reset";
@import "mixins";
@import "header";
@import "hero";
@import "whatever";
Importing
Wednesday, October 16, 13
Slide 157
Slide 157 text
Google Chrome Developer
Tools & SASS
Wednesday, October 16, 13
Slide 158
Slide 158 text
Source Maps
‣ Using pre-processors does
present some new challenges.
‣ Line-numbers are no longer
representative of where the code
is.
Wednesday, October 16, 13
Slide 159
Slide 159 text
Source Maps
‣ Source maps let Chrome know the
source of the generated CSS.
Wednesday, October 16, 13
Slide 160
Slide 160 text
Setup Chrome for SASS
Source Maps Support
‣ head over to chrome://flags
- Enable Developer Tools
Experiments
Wednesday, October 16, 13
Slide 161
Slide 161 text
Setup Chrome for SASS
Source Maps Support
‣ Enable Support for SASS in the
Dev Tools options
Wednesday, October 16, 13
Slide 162
Slide 162 text
Setup Chrome for SASS
Source Maps Support
‣ Enable support for Source maps
Wednesday, October 16, 13
Slide 163
Slide 163 text
The last step is to
turn on debug
info in our CSS
/* config.rb */
sass_options = { :debug_info => true }
or
/* command line */
sass --watch -g scss/:css/
Setup Chrome for SASS
Source Maps Support
Wednesday, October 16, 13
Slide 164
Slide 164 text
CSS PREPROCESSORS
Resources
Codekit
http://incident57.com/codekit/
Wednesday, October 16, 13
Slide 165
Slide 165 text
CSS PREPROCESSORS
Resources
Scout
http://mhs.github.com/scout-app/
Wednesday, October 16, 13
Slide 166
Slide 166 text
CSS PREPROCESSORS
Resources
Compass
http://compass-style.org/
Wednesday, October 16, 13
Slide 167
Slide 167 text
CSS PREPROCESSORS
Resources
SASS Primer
http://thesassway.com/beginner/getting-
started-with-sass-and-compass
Wednesday, October 16, 13
SERVING RWD STYLES
Breakpoint Based Partials
‣ Allows you to start with small
layouts and serve large layout to
old IE without JS
‣ Only 1 or 2 requests
‣ Requires preprocessor
‣ Maintenance can be complex
Wednesday, October 16, 13
Slide 171
Slide 171 text
SERVING RWD STYLES
Major Approaches
‣ Single CSS File
‣ Multiple CSS Files
‣ Breakpoint Based Partials
‣ Module Based Partials
Wednesday, October 16, 13
Slide 172
Slide 172 text
HTML
If < IE9 and not IE Mobile
If >= IE9 or IE Mobile or not IE
Module Based Partials
no-mq.css
All styles with no MQs
mq.css
All styles with MQs
http://seesparkbox.com/foundry/
structuring_and_serving_styles_for_older_browsers
Wednesday, October 16, 13
Slide 173
Slide 173 text
Module Based Partials
index.html
Wednesday, October 16, 13
Slide 174
Slide 174 text
Module Based Partials
index.html
Wednesday, October 16, 13
Slide 175
Slide 175 text
Module Based Partials
index.html
Wednesday, October 16, 13
Slide 176
Slide 176 text
Module Based Partials
index.html
Wednesday, October 16, 13
Slide 177
Slide 177 text
Module Based Partials
index.html
Wednesday, October 16, 13
Slide 178
Slide 178 text
Module Based Partials
index.html
Wednesday, October 16, 13
https://github.com/sparkbox/SB-Media
Wednesday, October 16, 13
Slide 195
Slide 195 text
https://github.com/Team-Sass/
breakpoint
Wednesday, October 16, 13
Slide 196
Slide 196 text
SERVING RWD STYLES
Module Based Partials
‣ Single Request
‣ Easy Maintenance
‣ Allows you to start with small
layouts and serve large layout to
old IE without JS
‣ Requires Preprocessor
Wednesday, October 16, 13
Slide 197
Slide 197 text
This is so much
more natural.
Wednesday, October 16, 13
Slide 198
Slide 198 text
THERE IS NO
BREAKPOINT
Wednesday, October 16, 13
Slide 199
Slide 199 text
There is no Breakpoint
aside {
// general styles
// major shift at 40em
// major shift at 60em
...
}
aside {
// general styles
// major shift at 40em
// minor tweak at 42em
// minor tweak at 53.5em
// minor tweak at 56em
// major shift at 60em
// minor tweak at 72.2em
// minor tweak at 74em
...
}
Wednesday, October 16, 13
Slide 200
Slide 200 text
There is no Breakpoint
aside {
// general styles
// major shift at 40em
// major shift at 60em
...
}
aside {
// general styles
// major shift at 40em
// minor tweak at 42em
// minor tweak at 53.5em
// minor tweak at 56em
// major shift at 60em
// minor tweak at 72.2em
// minor tweak at 74em
...
}
Wednesday, October 16, 13
Slide 201
Slide 201 text
There is no Breakpoint
Media Query
Bookmarklet
(by @robtarr)
Wednesday, October 16, 13
Slide 202
Slide 202 text
There is no Breakpoint
Wednesday, October 16, 13
Slide 203
Slide 203 text
Relax.
Wednesday, October 16, 13
Slide 204
Slide 204 text
Think more modularly.
Try something like
SMACSS (from @snookca).
Wednesday, October 16, 13
Slide 205
Slide 205 text
Element Queries
http://www.xanthir.com/b4PR0
Wednesday, October 16, 13
Slide 206
Slide 206 text
Responsive Elements
https://github.com/kumailht/responsive-elements
Wednesday, October 16, 13
Slide 207
Slide 207 text
http://seesparkbox.com/foundry/there_is_no_breakpoint
There is no Breakpoint
http://www.markboulton.co.uk/journal/theinbetween
The In-Between
http://www.jordanm.co.uk/post/43147197731/the-in-between
The In-Between (2)
Wednesday, October 16, 13
Slide 208
Slide 208 text
Discussion
‣ How are you serving RWD styles
today?
‣ How do you “support” older IE?
Wednesday, October 16, 13
Slide 209
Slide 209 text
MAKING EVERYTHING FLUID
CREATING
FLEXIBILITY
Wednesday, October 16, 13
Slide 210
Slide 210 text
CREATING FLEXIBILITY
What Needs to Flex
‣ Grids
‣ Layout
‣ Typography
‣ Images
‣ Tables
‣ Video
Wednesday, October 16, 13
Slide 211
Slide 211 text
CREATING FLEXIBILITY
What Needs to Flex
‣ Grids
‣ Layout
‣ Typography
‣ Images
‣ Tables
‣ Video
Wednesday, October 16, 13
Slide 212
Slide 212 text
It starts with the grid
Wednesday, October 16, 13
Slide 213
Slide 213 text
body {
width: 1000px;
}
div.main {
width: 700px;
}
aside {
width: 280px;
}
It starts with the grid
body {
width: 100%;
}
div.main {
width: 70%;
}
aside {
width: 28%;
}
Wednesday, October 16, 13
Slide 214
Slide 214 text
body {
width: 1000px;
}
div.main {
width: 700px;
}
It starts with the grid
body {
width: 100%;
}
div.main {
width: 70%;
}
target / context = %
700 / 1000 = .7
.7 = 70%
Wednesday, October 16, 13
Slide 215
Slide 215 text
body {
width: 1000px;
}
aside {
width: 280px;
}
It starts with the grid
body {
width: 100%;
}
aside {
width: 28%;
}
target / context = %
280 / 1000 = .28
.28 = 28%
Wednesday, October 16, 13
Slide 216
Slide 216 text
Responsive grid systems
Wednesday, October 16, 13
Slide 217
Slide 217 text
CREATING FLEXIBILITY
RWD Grid Systems
‣ Foundation
‣ Bootstrap
‣ Skeleton
‣ Responsive.gs
‣ Columnal
‣ ...this list goes on, and on, and on
Wednesday, October 16, 13
Slide 218
Slide 218 text
CREATING FLEXIBILITY
Semantic RWD Grid Systems
‣ Semantic.gs
‣ Susy
‣ Zen Grids
Wednesday, October 16, 13
CREATING FLEXIBILITY
What Needs to Flex
‣ Grids
‣ Layout
‣ Typography
‣ Images
‣ Tables
‣ Video
Wednesday, October 16, 13
Slide 226
Slide 226 text
CREATING FLEXIBILITY
Responsive Layout Patterns
‣ Source order stacking
‣ Content choreography
‣ Off canvas
Wednesday, October 16, 13
Slide 227
Slide 227 text
CREATING FLEXIBILITY
Responsive Layout Patterns
‣ Source order stacking
‣ Content choreography
‣ Off canvas
Wednesday, October 16, 13
Slide 228
Slide 228 text
Wednesday, October 16, 13
Slide 229
Slide 229 text
CREATING FLEXIBILITY
Responsive Layout Patterns
‣ Source order stacking
‣ Content choreography
‣ Off canvas
Wednesday, October 16, 13
Slide 230
Slide 230 text
Wednesday, October 16, 13
Slide 231
Slide 231 text
Wednesday, October 16, 13
Slide 232
Slide 232 text
[AppendAround Demo]
Wednesday, October 16, 13
Slide 233
Slide 233 text
CREATING FLEXIBILITY
Responsive Layout Patterns
‣ Source order stacking
‣ Content choreography
‣ Off canvas
Wednesday, October 16, 13
Slide 234
Slide 234 text
Wednesday, October 16, 13
Slide 235
Slide 235 text
Wednesday, October 16, 13
Slide 236
Slide 236 text
Easiest to show
a few examples:
http://jasonweaver.name/lab/offcanvas/
http://disney.com/
http://www.lenovo.com/au/en/
Wednesday, October 16, 13
Slide 237
Slide 237 text
There are many, many
combinations of these
basic ideas
http://bit.ly/U4N5qH
(http://bradfrost.github.com/this-is-responsive/patterns.html)
Wednesday, October 16, 13
Slide 238
Slide 238 text
There are some really cool
new layout modules
coming...
Wednesday, October 16, 13
Slide 239
Slide 239 text
http://www.netmagazine.com/tutorials/
master-new-css-layout-properties
Wednesday, October 16, 13
Slide 240
Slide 240 text
http://www.fivesimplesteps.com/
products/css3-layout-modules
Wednesday, October 16, 13
Slide 241
Slide 241 text
CREATING FLEXIBILITY
What Needs to Flex
‣ Grids
‣ Layout
‣ Typography
‣ Images
‣ Tables
‣ Video
Wednesday, October 16, 13
Slide 242
Slide 242 text
Type flexes by default
Wednesday, October 16, 13
Slide 243
Slide 243 text
We need to
consider readability
Wednesday, October 16, 13
Slide 244
Slide 244 text
CREATING FLEXIBILITY
Responsive Typography
‣ Small screen != small font-size
‣ Consider contrast
‣ If text has links, give adequate
room to touch them
‣ Viewport-based type sizing
Wednesday, October 16, 13
Slide 245
Slide 245 text
CREATING FLEXIBILITY
Responsive Typography
‣ Small screen != small font-size
‣ Consider contrast
‣ If text has links, give adequate
room to touch them
‣ Viewport-based type sizing
Wednesday, October 16, 13
Slide 246
Slide 246 text
CREATING FLEXIBILITY
Responsive Typography
‣ Small screen != small font-size
‣ Consider contrast
‣ If text has links, give adequate
room to touch them
‣ Viewport-based type sizing
Wednesday, October 16, 13
Slide 247
Slide 247 text
@snookca
http://snook.ca/technical/colour_contrast/
colour.html
@leaverou
http://leaverou.github.com/contrast-ratio/
Wednesday, October 16, 13
Slide 248
Slide 248 text
CREATING FLEXIBILITY
Responsive Typography
‣ Small screen != small font-size
‣ Consider contrast
‣ If text has links, give adequate
room to touch them
‣ Viewport-based type sizing
Wednesday, October 16, 13
Slide 249
Slide 249 text
CREATING FLEXIBILITY
Responsive Typography
‣ Small screen != small font-size
‣ Consider contrast
‣ If text has links, give adequate
room to touch them
‣ Viewport-based type sizing
Wednesday, October 16, 13
Slide 250
Slide 250 text
vw & vh CSS Units
Wednesday, October 16, 13
Slide 251
Slide 251 text
JS Alternatives
Wednesday, October 16, 13
Slide 252
Slide 252 text
CREATING FLEXIBILITY
What Needs to Flex
‣ Grids
‣ Layout
‣ Typography
‣ Images
‣ Tables
‣ Video
Wednesday, October 16, 13
http://bit.ly/12TbTX4
(http://codepen.io/bencallahan/pen/CtLDb)
Wednesday, October 16, 13
Slide 255
Slide 255 text
The image problem(s)
Wednesday, October 16, 13
Slide 256
Slide 256 text
CREATING FLEXIBILITY
The image problem(s)
‣ Content
‣ Bandwidth
‣ Pixel density
Wednesday, October 16, 13
Slide 257
Slide 257 text
CREATING FLEXIBILITY
Image: Content
Wednesday, October 16, 13
Slide 258
Slide 258 text
CREATING FLEXIBILITY
Image: Content
Wednesday, October 16, 13
Slide 259
Slide 259 text
CREATING FLEXIBILITY
Image: Content
Wednesday, October 16, 13
Slide 260
Slide 260 text
CREATING FLEXIBILITY
Image: Content
Wednesday, October 16, 13
Slide 261
Slide 261 text
CREATING FLEXIBILITY
Image: Bandwidth
As of March of 2012, 86% of the sites on
mediaqueri.es demonstrated the same
weight and load time at resolutions from
300ish to 1200ish.
via @guypod
http://www.guypo.com/mobile/performance-implications-of-
responsive-design-book-contribution/
Wednesday, October 16, 13
Slide 262
Slide 262 text
CREATING FLEXIBILITY
Image: Bandwidth
Responsive & Responsible
via @scotjehl
https://speakerdeck.com/scottjehl/responsive-responsible
http://www.lukew.com/ff/entry.asp?1565
Wednesday, October 16, 13
Slide 263
Slide 263 text
CREATING FLEXIBILITY
Image: Pixel Density
Most new mobile devices have high
pixel density displays:
Apple iPhone 4+: 326 PPI
Amazon Kindle Fire HD 8.9: 254 PPI
Nokia Lumia 920: 332 PPI
BlackBerry Z10: 356 PPI
Samsung Galaxy Note: 285 PPI
Wednesday, October 16, 13
Slide 264
Slide 264 text
CREATING FLEXIBILITY
The image problem(s)
‣ Content
‣ Bandwidth
‣ Pixel density
Wednesday, October 16, 13
Slide 265
Slide 265 text
CREATING FLEXIBILITY
The image solution(s)
‣ SVG
‣ Icon fonts
‣ Pixel-density media queries
‣ Compressive
‣ Picturefill
‣ User preference
Wednesday, October 16, 13
Slide 266
Slide 266 text
SVG (Scalable Vector
Graphics)
‣ Allows the image to be resolution
independent.
‣ Support isn’t very good for older
browsers.
‣ We can use Modernizr to detect if
the browser supports SVG and
provide a .png fallback for those
that do not.
Wednesday, October 16, 13
Slide 267
Slide 267 text
@dbushell wrote a great primer for SVG
Wednesday, October 16, 13
Slide 268
Slide 268 text
Icon Fonts
‣ Fonts by default are resolution
independent, Icon fonts are no
different.
‣ http://icomoon.io/app/ allows
you to create your own icon fonts
‣ They do require a bit more
markup, and JS for IE 7 and lower.
Wednesday, October 16, 13
Slide 269
Slide 269 text
Search
Icon Font Markup
/*.scss*/
[data-icon]:before {
content: attr(data-icon);
font-family: 'icon-font-family';
speak: none;
}
Wednesday, October 16, 13
Slide 270
Slide 270 text
“Compressive” Images
‣ http://bit.ly/Sygdey
‣ Increase the image dimensions
‣ Add massive compression
‣ Scale the image in the browser
Wednesday, October 16, 13
Slide 271
Slide 271 text
Pixel Density MQs
‣ Detect the pixel ratio of the
device and serve a second,
higher-res image.
‣ Retina devices now have to make
an additional request for the
retina asset.
Wednesday, October 16, 13
Slide 272
Slide 272 text
/*.scss*/
@media only all and
(-webkit-min-device-pixel-ratio: 1.5) {
.logo {
background-image: url(/i/logo-2x.png);
background-size: 100%;
}
}
Pixel Density MQs
Also need other
browser prefixes
Wednesday, October 16, 13
User Preference
‣ Allow the user to choose what
experience they would like to
have on their device: “HD” or
“SD”.
Wednesday, October 16, 13
Slide 278
Slide 278 text
CREATING FLEXIBILITY
What Needs to Flex
‣ Grids
‣ Layout
‣ Typography
‣ Images
‣ Tables
‣ Video
Wednesday, October 16, 13
Slide 279
Slide 279 text
CREATING FLEXIBILITY
Tables
http://codepen.io/bencallahan/pen/xvmCe
Wednesday, October 16, 13
Slide 280
Slide 280 text
RWD Table Patterns
[demo]
Wednesday, October 16, 13
Slide 281
Slide 281 text
CREATING FLEXIBILITY
What Needs to Flex
‣ Grids
‣ Layout
‣ Typography
‣ Images
‣ Tables
‣ Video
Wednesday, October 16, 13
Slide 282
Slide 282 text
CREATING FLEXIBILITY
Video
Wednesday, October 16, 13
Slide 283
Slide 283 text
CREATING FLEXIBILITY
Intrinsic Ratios
http://codepen.io/bencallahan/pen/KICkl
Wednesday, October 16, 13
Slide 284
Slide 284 text
CREATING FLEXIBILITY
Video
Wednesday, October 16, 13
Slide 285
Slide 285 text
Creating
flexibility requires
experimentation
Wednesday, October 16, 13
Slide 286
Slide 286 text
Creating
flexibility requires
Wednesday, October 16, 13
Slide 287
Slide 287 text
Discussion
‣ What content types have we not
addressed?
‣ What specific challenges are you
facing in creating flexibility?
Wednesday, October 16, 13
Slide 288
Slide 288 text
UNIQUE CONSIDERATIONS AND CHALLENGES
NAVIGATION
AND RWD
Wednesday, October 16, 13
Slide 289
Slide 289 text
NAVIGATION AND RWD
Major Issues
‣ Site Depth and Breadth
‣ Screen Real Estate
‣ Cross-width Consistency
‣ Interaction Patterns
Wednesday, October 16, 13
Slide 290
Slide 290 text
NAVIGATION AND RWD
Major Issues
‣ Site Depth and Breadth
‣ Screen Real Estate
‣ Cross-width Consistency
‣ Interaction Patterns
Wednesday, October 16, 13
Slide 291
Slide 291 text
Small sites often allow
simpler solutions.
Wednesday, October 16, 13
Slide 292
Slide 292 text
Simple Nav Examples
‣ Simple Row
‣ Jump to Content
‣ Jump to Footer
‣ Top Stacked Off Canvas
Wednesday, October 16, 13
Slide 293
Slide 293 text
Simple Nav Examples
‣ Simple Row
‣ Jump to Content
‣ Jump to Footer
‣ Top Stacked
Off Canvas
http://seesparkbox.com
Wednesday, October 16, 13
Slide 294
Slide 294 text
Simple Nav Examples
‣ Simple Row
‣ Jump to Content
‣ Jump to Footer
‣ Top Stacked
Off Canvas
http://forgeideas.com
Wednesday, October 16, 13
Slide 295
Slide 295 text
Simple Nav Examples
‣ Simple Row
‣ Jump to Content
‣ Jump to Footer
‣ Top Stacked
Off Canvas
http://contentsmagazine.com
Wednesday, October 16, 13
Slide 296
Slide 296 text
Simple Nav Examples
‣ Simple Row
‣ Jump to Content
‣ Jump to Footer
‣ Top Stacked
Off Canvas
http://2012.dconstruct.org/
Wednesday, October 16, 13
Slide 297
Slide 297 text
Most sites have to
work a bit harder to
accommodate their
content.
Wednesday, October 16, 13
Slide 298
Slide 298 text
Complex Nav Causes
‣ Large volume of content
- Legacy content
- Dynamic content
‣ Broad architecture
- Lots of content types/categories
‣ Deep architecture
- Lots of children and nesting
Wednesday, October 16, 13
Slide 299
Slide 299 text
Complex Nav Causes
‣ Large volume of content
- Legacy content
- Dynamic content
‣ Broad architecture
- Lots of content types/categories
‣ Deep architecture
- Lots of children and nesting
DON’T GIVE UP.
Wednesday, October 16, 13
Slide 300
Slide 300 text
Before accommodating all
the things, it’s not a cop-
out to question the things.
Wednesday, October 16, 13
Slide 301
Slide 301 text
Attack the right nav.
Wednesday, October 16, 13
Slide 302
Slide 302 text
Complex Nav Causes
‣ Poor Information Architecture
- Unnecessarily broad or deep due
to inefficiency or poor planning
‣ Poor Content Strategy
- Unnecessarily large due to a lack of
governance, ownership, or
intentionality
POSSIBLE ROOT
Wednesday, October 16, 13
Slide 303
Slide 303 text
NAVIGATION AND RWD
Major Issues
‣ Site Depth and Breadth
‣ Screen Real Estate
‣ Cross-width Consistency
‣ Interaction Patterns
Wednesday, October 16, 13
Slide 304
Slide 304 text
Small screens aren’t just
horizontally small.
Wednesday, October 16, 13
Don’t make small screens
smaller by eating up
vertical space with nav.
Wednesday, October 16, 13
Slide 307
Slide 307 text
http://www.tuj.ac.jp/
Wednesday, October 16, 13
Slide 308
Slide 308 text
http://
seesparkbox.com/
foundry
Wednesday, October 16, 13
Slide 309
Slide 309 text
Take ALL the navigation
into account.
Wednesday, October 16, 13
Slide 310
Slide 310 text
http://skinnyties.com/
color/blue/
Wednesday, October 16, 13
Slide 311
Slide 311 text
NAVIGATION AND RWD
Major Issues
‣ Site Depth and Breadth
‣ Screen Real Estate
‣ Cross-width Consistency
‣ Interaction Patterns
Wednesday, October 16, 13
Slide 312
Slide 312 text
“Users don’t resize their
browser. That’s a
developer behavior.”
Wednesday, October 16, 13
Slide 313
Slide 313 text
Our users are viewing our
sites at multiple
resolutions.
Wednesday, October 16, 13
Slide 314
Slide 314 text
Familiarity breeds
usability.
Wednesday, October 16, 13
Slide 315
Slide 315 text
Are our off-canvas and
other RWD-inspired
patterns doing more harm
than good?
Wednesday, October 16, 13
Slide 316
Slide 316 text
Pros & Cons
from
http://
thenextweb.com/
Wednesday, October 16, 13
Slide 317
Slide 317 text
Do we need to change the
user’s pattern at all?
Wednesday, October 16, 13
Slide 318
Slide 318 text
http://
www.polygon.com/
Wednesday, October 16, 13
Slide 319
Slide 319 text
NAVIGATION AND RWD
Major Issues
‣ Site Depth and Breadth
‣ Screen Real Estate
‣ Cross-width Consistency
‣ Interaction Patterns
Wednesday, October 16, 13
Slide 320
Slide 320 text
There is no right answer.
Wednesday, October 16, 13
Slide 321
Slide 321 text
Patterns Galore
‣ Toggle
‣ Footer Anchor
‣ Select Menu
‣ Multi-Toggle
‣ Off Canvas
‣ Breadcrumbs
‣ More...
http://bradfrost.github.com/this-is-responsive/patterns.html
Wednesday, October 16, 13
Slide 322
Slide 322 text
Patterns Galore
‣ Toggle
‣ Footer Anchor
‣ Select Menu
‣ Multi-Toggle
‣ Off Canvas
‣ Breadcrumbs
‣ More...
Wednesday, October 16, 13
Slide 323
Slide 323 text
Patterns Galore
‣ Toggle
‣ Footer Anchor
‣ Select Menu
‣ Multi-Toggle
‣ Off Canvas
‣ Breadcrumbs
‣ More...
Wednesday, October 16, 13
Slide 324
Slide 324 text
Patterns Galore
‣ Toggle
‣ Footer Anchor
‣ Select Menu
‣ Multi-Toggle
‣ Off Canvas
‣ Breadcrumbs
‣ More...
Wednesday, October 16, 13
Slide 325
Slide 325 text
Patterns Galore
‣ Toggle
‣ Footer Anchor
‣ Select Menu
‣ Multi-Toggle
‣ Off Canvas
‣ Breadcrumbs
‣ More...
Wednesday, October 16, 13
Slide 326
Slide 326 text
Patterns Galore
‣ Toggle
‣ Footer Anchor
‣ Select Menu
‣ Multi-Toggle
‣ Off Canvas
‣ Breadcrumbs
‣ More...
Wednesday, October 16, 13
Slide 327
Slide 327 text
Patterns Galore
‣ Toggle
‣ Footer Anchor
‣ Select Menu
‣ Multi-Toggle
‣ Off Canvas
‣ Breadcrumbs
‣ More...
Wednesday, October 16, 13
Slide 328
Slide 328 text
Patterns Galore
‣ Toggle
‣ Footer Anchor
‣ Select Menu
‣ Multi-Toggle
‣ Off Canvas
‣ Breadcrumbs
‣ More...
Wednesday, October 16, 13
Slide 329
Slide 329 text
Patterns Galore
‣ Toggle
‣ Footer Anchor
‣ Select Menu
‣ Multi-Toggle
‣ Off Canvas
‣ Breadcrumbs
‣ More...
Wednesday, October 16, 13
Slide 330
Slide 330 text
Patterns Galore
‣ Toggle
‣ Footer Anchor
‣ Select Menu
‣ Multi-Toggle
‣ Off Canvas
‣ Breadcrumbs
‣ More...
Wednesday, October 16, 13
Slide 331
Slide 331 text
Patterns Galore
‣ Toggle
‣ Footer Anchor
‣ Select Menu
‣ Multi-Toggle
‣ Off Canvas
‣ Breadcrumbs
‣ More...
Wednesday, October 16, 13
Slide 332
Slide 332 text
Patterns Galore
‣ Toggle
‣ Footer Anchor
‣ Select Menu
‣ Multi-Toggle
‣ Off Canvas
‣ Breadcrumbs
‣ More...
Wednesday, October 16, 13
Slide 333
Slide 333 text
Patterns Galore
‣ Toggle
‣ Footer Anchor
‣ Select Menu
‣ Multi-Toggle
‣ Off Canvas
‣ Breadcrumbs
‣ More...
Wednesday, October 16, 13
Slide 334
Slide 334 text
Patterns Galore
‣ Toggle
‣ Footer Anchor
‣ Select Menu
‣ Multi-Toggle
‣ Off Canvas
‣ Breadcrumbs
‣ More...
Wednesday, October 16, 13
Slide 335
Slide 335 text
Patterns Galore
‣ Toggle
‣ Footer Anchor
‣ Select Menu
‣ Multi-Toggle
‣ Off Canvas
‣ Breadcrumbs
‣ More...
Wednesday, October 16, 13
Slide 336
Slide 336 text
Patterns Galore
‣ Toggle
‣ Footer Anchor
‣ Select Menu
‣ Multi-Toggle
‣ Off Canvas
‣ Breadcrumbs
‣ More...
Wednesday, October 16, 13
Slide 337
Slide 337 text
Patterns Galore
‣ Toggle
‣ Footer Anchor
‣ Select Menu
‣ Multi-Toggle
‣ Off Canvas
‣ Breadcrumbs
‣ More...
Wednesday, October 16, 13
Slide 338
Slide 338 text
Patterns Galore
‣ Toggle
‣ Footer Anchor
‣ Select Menu
‣ Multi-Toggle
‣ Off Canvas
‣ Breadcrumbs
‣ More...
Wednesday, October 16, 13
Slide 339
Slide 339 text
Patterns Galore
‣ Toggle
‣ Footer Anchor
‣ Select Menu
‣ Multi-Toggle
‣ Off Canvas
‣ Breadcrumbs
‣ More...
Wednesday, October 16, 13
Slide 340
Slide 340 text
Patterns Galore
‣ Toggle
‣ Footer Anchor
‣ Select Menu
‣ Multi-Toggle
‣ Off Canvas
‣ Breadcrumbs
‣ More...
Wednesday, October 16, 13
Slide 341
Slide 341 text
Patterns Galore
‣ Toggle
‣ Footer Anchor
‣ Select Menu
‣ Multi-Toggle
‣ Off Canvas
‣ Breadcrumbs
‣ More...
Wednesday, October 16, 13
Slide 342
Slide 342 text
Patterns Galore
‣ Toggle
‣ Footer Anchor
‣ Select Menu
‣ Multi-Toggle
‣ Off Canvas
‣ Breadcrumbs
‣ More...
Wednesday, October 16, 13
Slide 343
Slide 343 text
Be open to combining
patterns.
Wednesday, October 16, 13
Slide 344
Slide 344 text
Only try completely
unique/novel patterns if
you plan to fully test them.
Wednesday, October 16, 13
Slide 345
Slide 345 text
Discussion
‣ How are you handling navigation
in your RWD projects?
‣ Have you been able to push back
on IA?
Wednesday, October 16, 13
Slide 346
Slide 346 text
LEARN FROM OUR MISTAKES
LESSONS
LEARNED
Wednesday, October 16, 13
Slide 347
Slide 347 text
Testing
Wednesday, October 16, 13
Slide 348
Slide 348 text
LESSONS LEARNED
Testing
‣ You must test on real devices
‣ Do your development in a webkit
browser
‣ Bulid libraries of your patterns
Wednesday, October 16, 13
Slide 349
Slide 349 text
Pricing
Wednesday, October 16, 13
Slide 350
Slide 350 text
LESSONS LEARNED
Pricing
‣ As much as 100% more, initially
‣ Likely to be 50% more, soon after
‣ Probably never less than 25% more
Wednesday, October 16, 13
Slide 351
Slide 351 text
LESSONS LEARNED
Pricing
‣ As much as 100% more, initially
‣ Likely to be 50% more, soon after
‣ Probably never less than 25% more
COMPARED TO
WHAT?
Wednesday, October 16, 13
LESSONS LEARNED
Prioritization
Wednesday, October 16, 13
Slide 355
Slide 355 text
LESSONS LEARNED
Prioritization
Wednesday, October 16, 13
Slide 356
Slide 356 text
LESSONS LEARNED
Prioritization
Wednesday, October 16, 13
Slide 357
Slide 357 text
LESSONS LEARNED
Prioritization
Wednesday, October 16, 13
Slide 358
Slide 358 text
LESSONS LEARNED
Prioritization
Wednesday, October 16, 13
Slide 359
Slide 359 text
Performance
Wednesday, October 16, 13
Slide 360
Slide 360 text
LESSONS LEARNED
Performance
‣ Optimize or cut out images
‣ Decrease the number of requests
‣ Gzip if you can
‣ Concat and minify CSS/JS
‣ Load CSS at the top
‣ Load JS at the bottom
‣ Follow @souders on Twitter
Wednesday, October 16, 13
Slide 361
Slide 361 text
Barriers
Wednesday, October 16, 13
Slide 362
Slide 362 text
LESSONS LEARNED
Barriers
‣ Organization barriers block
collaboration
‣ Must have buy in from upper
management
‣ Must have buy in from those doing
the work
‣ It’s not easy, we’re still
figuring it out
Wednesday, October 16, 13
Slide 363
Slide 363 text
SOME THOUGHTS ON WHAT’S NEXT IN RWD
WHERE
WE’RE GOING
Wednesday, October 16, 13
Slide 364
Slide 364 text
Wednesday, October 16, 13
Slide 365
Slide 365 text
SOLVE THE PROBLEM
Wednesday, October 16, 13
Slide 366
Slide 366 text
Unconscious
Incompetence
SOLVE THE PROBLEM
Wednesday, October 16, 13
Slide 367
Slide 367 text
Unconscious
Incompetence
Conscious
Incompetence
SOLVE THE PROBLEM
Wednesday, October 16, 13
Slide 368
Slide 368 text
Unconscious
Incompetence
Conscious
Incompetence Conscious
Competence
SOLVE THE PROBLEM
Wednesday, October 16, 13
Slide 369
Slide 369 text
Unconscious
Incompetence
Conscious
Incompetence Conscious
Competence
Unconscious
Competence
SOLVE THE PROBLEM
Wednesday, October 16, 13
Slide 370
Slide 370 text
Fluency
SOLVE THE PROBLEM
Wednesday, October 16, 13
Slide 371
Slide 371 text
The Responsive Dip
http://bit.ly/MasqBk
Wednesday, October 16, 13
Slide 372
Slide 372 text
The Responsive Mindset
“The truly responsive design web
designer wasn’t born until after the
launch of the iPhone. We haven’t seen his
or her work yet.”
Andy Clarke
http://the-pastry-box-project.net/andy-clarke/2012-april-8/
Wednesday, October 16, 13
Slide 373
Slide 373 text
There are many
problems left to solve.
We’ll solve them much faster if we
solve them together.
Wednesday, October 16, 13
Slide 374
Slide 374 text
There are many
problems left to solve.
We’ll solve them much faster if we
Wednesday, October 16, 13
Slide 375
Slide 375 text
THANKS!
@bencallahan
@robertharr
Wednesday, October 16, 13