@bencallahan @robertharr
Thursday, September 12, 13
Slide 2
Slide 2 text
Thursday, September 12, 13
Slide 3
Slide 3 text
@hearsparkbox @brworkshop
@bencallahan @robertharr
Thursday, September 12, 13
Slide 4
Slide 4 text
#convergefl
#brworkshop
Thursday, September 12, 13
Slide 5
Slide 5 text
Internets:
Ignite and Friends
wewanttosetfires
Thursday, September 12, 13
Slide 6
Slide 6 text
Please, turn off Dropbox sync.
Thursday, September 12, 13
Slide 7
Slide 7 text
And, stop streaming BSG.
Thursday, September 12, 13
Slide 8
Slide 8 text
Thursday, September 12, 13
Slide 9
Slide 9 text
Collaborative note-taking
experiment:
http://bit.ly/16kavBW
Thursday, September 12, 13
Slide 10
Slide 10 text
About Us
Thursday, September 12, 13
Slide 11
Slide 11 text
About You
Thursday, September 12, 13
Slide 12
Slide 12 text
AN INTRODUCTION TO RESPONSIVE WEB DESIGN
RWD 101
Thursday, September 12, 13
Slide 13
Slide 13 text
September 9, 2007
6:30am
Thursday, September 12, 13
Slide 14
Slide 14 text
177%
increase in tablet
ownership since last year
In the US...
http://bit.ly/YFW4Ai
Thursday, September 12, 13
Slide 15
Slide 15 text
80%
of consumers multi-task
with other devices while
watching TV
In the US...
http://bit.ly/YFW4Ai
Thursday, September 12, 13
Slide 16
Slide 16 text
26%
of consumers own a
laptop, tablet &
smartphone
http://bit.ly/YFW4Ai
In the US...
Thursday, September 12, 13
Slide 17
Slide 17 text
Q1 2013
conversions on tablets
surpassed conversions on
traditional desktops
http://bit.ly/sNpLte
In the US...
Thursday, September 12, 13
Slide 18
Slide 18 text
The web is not fixed width
Thursday, September 12, 13
Slide 19
Slide 19 text
The penetration of
desktop & laptop
ownership is the same
today as it was in 2007.
http://bit.ly/zE1zgp
In the US...
Thursday, September 12, 13
Slide 20
Slide 20 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
Thursday, September 12, 13
Slide 21
Slide 21 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
Thursday, September 12, 13
Slide 22
Slide 22 text
Flexibility is the new norm
Thursday, September 12, 13
Slide 23
Slide 23 text
People are trying to
browse your sites on these
devices, today
Thursday, September 12, 13
Slide 24
Slide 24 text
Responsive web design
Thursday, September 12, 13
Slide 25
Slide 25 text
Ethan Marcotte
Article on ALA
(http://bit.ly/Wi0xvw)
Book via ABA
(http://bit.ly/f6TPB7)
Thursday, September 12, 13
Slide 26
Slide 26 text
Thursday, September 12, 13
Slide 27
Slide 27 text
RWD 101
‣ Three Core Techniques
- A Fluid Foundation
- Flexible Content
- Media Queries
Thursday, September 12, 13
Slide 28
Slide 28 text
A Fluid Foundation
Honor the proportions of
the design by creating
percentage-based layout
instead of fixed-width,
pixel-based layout.
Thursday, September 12, 13
Slide 29
Slide 29 text
A Fluid Foundation
Browser Window
1000px
600px 400px
Thursday, September 12, 13
Slide 30
Slide 30 text
Browser Window
A Fluid Foundation
1000px
600px 400px
Thursday, September 12, 13
Slide 31
Slide 31 text
A Fluid Foundation
Browser Window
100%
60% 40%
Thursday, September 12, 13
Slide 32
Slide 32 text
A Fluid Foundation
Browser Window
100%
60% 40%
Thursday, September 12, 13
Slide 33
Slide 33 text
A Fluid Foundation
http://bostonglobe.com
Thursday, September 12, 13
Slide 34
Slide 34 text
Flexible Content
Once we have a layout
which is based on
proportions, the content
must also respond.
Thursday, September 12, 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
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
Thursday, September 12, 13
Slide 36
Slide 36 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
Thursday, September 12, 13
Slide 37
Slide 37 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
Thursday, September 12, 13
Slide 38
Slide 38 text
Browser Window
We the People of
the United States, in
Order to form a
Flexible Content
(Image)
600px
Thursday, September 12, 13
Slide 39
Slide 39 text
Browser Window
We the People of
the United States, in
Order to form a
Flexible Content
(Image)
600px
http://bit.ly/ZdC8pH
Thursday, September 12, 13
Slide 40
Slide 40 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%
Thursday, September 12, 13
Slide 41
Slide 41 text
Flexible Content
http://microsoft.com
Thursday, September 12, 13
Slide 42
Slide 42 text
Media Queries
When our content and our
design are no longer
working in harmony, we
need to make a larger shift
in layout.
Thursday, September 12, 13
Slide 43
Slide 43 text
Browser Window
100%
60% 40%
Media Queries
Thursday, September 12, 13
Slide 44
Slide 44 text
Browser Window
A
100%
B
100%
C
100%
Media Queries
Browser Window
A
100%
B
60%
C
40%
Thursday, September 12, 13
Slide 45
Slide 45 text
Browser Window
A
100%
B
60%
C
40%
Media Queries
Browser Window
A
100%
B
100%
C
100%
Thursday, September 12, 13
Slide 46
Slide 46 text
Media Queries
http://skinnyties.com
Thursday, September 12, 13
Slide 47
Slide 47 text
RWD 101
‣ Three Core Techniques
- A Fluid Foundation
- Flexible Content
- Media Queries
Thursday, September 12, 13
Slide 48
Slide 48 text
[code examples]
Thursday, September 12, 13
Slide 49
Slide 49 text
WEB DESIGN PROCESS IN A RESPONSIVE WORLD
RWD WORKFLOW
Thursday, September 12, 13
Slide 50
Slide 50 text
A SHIFT IN
MINDSET
Thursday, September 12, 13
Slide 51
Slide 51 text
Where we’ve been
Thursday, September 12, 13
Slide 52
Slide 52 text
A SHIFT IN MINDSET
Traditional Linear Workflow
DESIGN FRONT-END BACK-END LAUNCH!
Thursday, September 12, 13
Slide 53
Slide 53 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
Thursday, September 12, 13
Slide 54
Slide 54 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
Thursday, September 12, 13
Slide 55
Slide 55 text
A SHIFT IN MINDSET
Slightly Better Linear Workflow
CONTENT UX DESIGN FRONT-END BACK-END LAUNCH!
Thursday, September 12, 13
Slide 56
Slide 56 text
What happens when you
throw RWD into this
process?
Thursday, September 12, 13
Slide 57
Slide 57 text
A SHIFT IN MINDSET
Linear Workflow
CONTENT UX DESIGN FRONT-END BACK-END LAUNCH
Now with
RWD!
Thursday, September 12, 13
Slide 58
Slide 58 text
Now with
RWD!
A SHIFT IN MINDSET
Linear Workflow
CONTENT UX DESIGN FRONT-END BACK-END LAUNCH
Me too!
Ditto!
Thursday, September 12, 13
Slide 59
Slide 59 text
This doesn’t work.
Thursday, September 12, 13
Slide 60
Slide 60 text
(example: seesparkbox.com)
Thursday, September 12, 13
Slide 61
Slide 61 text
Jakob Nielsen Says...
‣ Build a separate mobile site
‣ Cut features
‣ Cut content
http://www.nngroup.com/articles/mobile-site-vs-full-site/
Thursday, September 12, 13
Slide 62
Slide 62 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.
Thursday, September 12, 13
Slide 63
Slide 63 text
We need to invite others
into the process
Thursday, September 12, 13
Slide 64
Slide 64 text
A SHIFT IN MINDSET
“1 Deliverable” Workflow
Thursday, September 12, 13
A SHIFT IN MINDSET
‣ Pros
- Natural Decisions
- Encourages Collaboration
- Encourages Iteration
- Better Results
“1 Deliverable” Workflow
Thursday, September 12, 13
Slide 70
Slide 70 text
A SHIFT IN MINDSET
‣ Cons
- Requires Change
- May Conflict with Organizational
Structure
- Dependent on Team Make-up
“1 Deliverable” Workflow
Thursday, September 12, 13
Slide 71
Slide 71 text
What happens when you
invite others into the
process?
Thursday, September 12, 13
Slide 72
Slide 72 text
The quality as a whole
improves
Thursday, September 12, 13
Slide 73
Slide 73 text
(example: nd.edu)
Thursday, September 12, 13
Slide 74
Slide 74 text
So, how do we actually
do this?
Thursday, September 12, 13
Slide 75
Slide 75 text
A SHIFT IN
PROCESS
Thursday, September 12, 13
Slide 76
Slide 76 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.
Thursday, September 12, 13
Slide 77
Slide 77 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.)
Thursday, September 12, 13
Slide 78
Slide 78 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.
Thursday, September 12, 13
Slide 79
Slide 79 text
A SHIFT IN PROCESS
Our Deliverables Updates
‣ Research Deliverables Updates
‣ Content Deliverables Updates
‣ Priority Deliverables Updates
‣ Style Deliverables Updates
‣ Functional Deliverables Updates
Thursday, September 12, 13
Slide 80
Slide 80 text
A SHIFT IN PROCESS
Let’s Focus On...
‣ Research Updates
‣ Content Updates
‣ Priority Updates
‣ Style Updates
‣ Functional Updates
Thursday, September 12, 13
Slide 81
Slide 81 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.
Thursday, September 12, 13
Slide 82
Slide 82 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
Thursday, September 12, 13
Slide 83
Slide 83 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.
Thursday, September 12, 13
Slide 84
Slide 84 text
A SHIFT IN PROCESS
Style Updates
‣ Style Prototype Examples
- building.seesparkbox.com
• new Sparkbox web style prototype
- dressresponsively.com
• dress responsively style prototype
Thursday, September 12, 13
Slide 85
Slide 85 text
A SHIFT IN PROCESS
Other Style Updates
‣ Element Collages (Dan Mall)
‣ Style Tiles (Samantha Warren)
‣ Photoshop Comps (Everyone)
Thursday, September 12, 13
Slide 86
Slide 86 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
Thursday, September 12, 13
Slide 87
Slide 87 text
BEN & ROB’S
LATEST THEORY ON
WEB PROCESS
Thursday, September 12, 13
Slide 88
Slide 88 text
The amount of process
required is inversely
proportional to the skill and
experience of your team.
Thursday, September 12, 13
Slide 89
Slide 89 text
Create the perfect, fully-
documented, all-encompassing web
design and development process.
Or...
Thursday, September 12, 13
Slide 90
Slide 90 text
Chill out and develop our people.
Thursday, September 12, 13
Slide 91
Slide 91 text
Discussion
‣ What happens next in this
process?
‣ How are you handling RWD
deliverables now?
‣ What are you struggling with?
Thursday, September 12, 13
Slide 92
Slide 92 text
CODE AND PROJECT STRUCTURE
SERVING
RWD STYLES
Thursday, September 12, 13
Slide 93
Slide 93 text
SERVING RWD STYLES
Major Approaches
‣ Single CSS File
‣ Multiple CSS Files
‣ Breakpoint Based Partials
‣ Module Based Partials
Thursday, September 12, 13
Slide 94
Slide 94 text
SERVING RWD STYLES
Major Approaches
‣ Single CSS File
‣ Multiple CSS Files
‣ Breakpoint Based Partials
‣ Module Based Partials
CSS PREPROCESSING FTW!
Thursday, September 12, 13
Slide 95
Slide 95 text
Before any of this stuff will
work, you need to do this:
Thursday, September 12, 13
Slide 96
Slide 96 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; }
Thursday, September 12, 13
Slide 97
Slide 97 text
The Example
100%
50% 30%
Thursday, September 12, 13
Slide 98
Slide 98 text
SERVING RWD STYLES
Major Approaches
‣ Single CSS File
‣ Multiple CSS Files
‣ Breakpoint Based Partials
‣ Module Based Partials
Thursday, September 12, 13
Slide 99
Slide 99 text
Single CSS File
HTML
CSS
Start with styles applied
to all
Styles scoped to a
media query
Styles scoped to another
media query
Thursday, September 12, 13
Slide 100
Slide 100 text
/* styles.css */
aside { color: #333; width: 100%; }
Single CSS File
Thursday, September 12, 13
Slide 101
Slide 101 text
/* styles.css */
aside { color: #333; width: 100%; }
/* if the viewport width is 40em or greater */
Single CSS File
Thursday, September 12, 13
Slide 102
Slide 102 text
PAUSE:
MEDIA QUERIES
Thursday, September 12, 13
Slide 103
Slide 103 text
Slide 104
Slide 104 text
Slide 105
Slide 105 text
Media Types
all
braille, embossed, speech
handheld, projection, screen, tv
print
tty
http://www.w3.org/TR/CSS21/media.html#media-types
Thursday, September 12, 13
Slide 106
Slide 106 text
Slide 107
Slide 107 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
Thursday, September 12, 13
Slide 108
Slide 108 text
Single CSS File
HTML
CSS
Start with styles applied
to all
Styles scoped to a
media query
Styles scoped to another
media query
Thursday, September 12, 13
Slide 109
Slide 109 text
Small Viewport Width First
HTML
CSS
Smallest styles
Wider styles (mq)
Even wider styles (mq)
Super wide styles (mq)
Thursday, September 12, 13
Slide 110
Slide 110 text
Large Viewport Width First
HTML
CSS
Widest styles
Wide styles (mq)
Narrow styles (mq)
Very narrow styles (mq)
Thursday, September 12, 13
Slide 111
Slide 111 text
/* styles.css */
aside { color: #333; width: 100%; }
/* if the viewport width is 40em or greater */
Single CSS File
Thursday, September 12, 13
Slide 112
Slide 112 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
Thursday, September 12, 13
Slide 113
Slide 113 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
Thursday, September 12, 13
Slide 114
Slide 114 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
Thursday, September 12, 13
Slide 115
Slide 115 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
Thursday, September 12, 13
Slide 116
Slide 116 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
Thursday, September 12, 13
Slide 117
Slide 117 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
Thursday, September 12, 13
Slide 118
Slide 118 text
SERVING RWD STYLES
Major Approaches
‣ Single CSS File
‣ Multiple CSS Files
‣ Breakpoint Based Partials
‣ Module Based Partials
Thursday, September 12, 13
Slide 119
Slide 119 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/
Thursday, September 12, 13
Slide 120
Slide 120 text
Multiple CSS Files
index.html
Thursday, September 12, 13
Slide 121
Slide 121 text
Multiple CSS Files
index.html
Thursday, September 12, 13
Slide 122
Slide 122 text
Multiple CSS Files
index.html
Thursday, September 12, 13
Slide 123
Slide 123 text
Multiple CSS Files
index.html
Thursday, September 12, 13
Slide 124
Slide 124 text
Multiple CSS Files
index.html
Thursday, September 12, 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
Thursday, September 12, 13
Slide 128
Slide 128 text
SERVING RWD STYLES
Major Approaches
‣ Single CSS File
‣ Multiple CSS Files
‣ Breakpoint Based Partials
‣ Module Based Partials
Thursday, September 12, 13
Slide 129
Slide 129 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/
Thursday, September 12, 13
Slide 130
Slide 130 text
Breakpoint Based Partials
index.html
Thursday, September 12, 13
PAUSE:
CSS PREPROCESSORS
Thursday, September 12, 13
Slide 140
Slide 140 text
The Big Three:
LESS, SASS, and Stylus
Thursday, September 12, 13
Slide 141
Slide 141 text
LESS
‣ Runs on Node.js
‣ Very similar syntax to SASS
‣ http://lesscss.org/
Thursday, September 12, 13
Slide 142
Slide 142 text
Variables are
specified with @
symbol
/* .less */
@top-variable: 20px;
! #header-shadow {
! position: absolute;
! ! top: @top-variable;
! }
LESS syntax
Thursday, September 12, 13
Slide 143
Slide 143 text
Stylus
‣ Runs on Node.js
‣ Has a flexible syntax
- You can omit semi-colons, colons,
and braces
‣ http://learnboost.github.com/
stylus/
Thursday, September 12, 13
Slide 144
Slide 144 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
Thursday, September 12, 13
Slide 145
Slide 145 text
SASS
‣ Runs on Ruby
‣ Has two syntax flavors
- .scss & .sass
‣ http://sass-lang.com/
Thursday, September 12, 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...
Thursday, September 12, 13
Slide 154
Slide 154 text
Sparkbox REM Mixin
Thursday, September 12, 13
Slide 155
Slide 155 text
/*.scss*/
@include rem(padding, 0.5, 1, 4, 3);
@include rem(font-size, 1.2, large);
Sparkbox REM Mixin
Thursday, September 12, 13
Slide 156
Slide 156 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
Thursday, September 12, 13
Slide 157
Slide 157 text
Compass & Bourbon
Thursday, September 12, 13
Slide 158
Slide 158 text
Importing
‣ Allows you to break up your
styles across files
- variables, mixins, reset, all
separated
‣ Better than a standard css import
Thursday, September 12, 13
Slide 159
Slide 159 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
Thursday, September 12, 13
Slide 160
Slide 160 text
Google Chrome Developer
Tools & SASS
Thursday, September 12, 13
Slide 161
Slide 161 text
Source Maps
‣ Using pre-processors does
present some new challenges.
‣ Line-numbers are no longer
representative of where the code
is.
Thursday, September 12, 13
Slide 162
Slide 162 text
Source Maps
‣ Source maps let Chrome know the
source of the generated CSS.
Thursday, September 12, 13
Slide 163
Slide 163 text
Setup Chrome for SASS
Source Maps Support
‣ head over to chrome://flags
- Enable Developer Tools
Experiments
Thursday, September 12, 13
Slide 164
Slide 164 text
Setup Chrome for SASS
Source Maps Support
‣ Enable Support for SASS in the
Dev Tools options
Thursday, September 12, 13
Slide 165
Slide 165 text
Setup Chrome for SASS
Source Maps Support
‣ Enable support for Source maps
Thursday, September 12, 13
Slide 166
Slide 166 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
Thursday, September 12, 13
Slide 167
Slide 167 text
CSS PREPROCESSORS
Resources
Codekit
http://incident57.com/codekit/
Thursday, September 12, 13
Slide 168
Slide 168 text
CSS PREPROCESSORS
Resources
Scout
http://mhs.github.com/scout-app/
Thursday, September 12, 13
Slide 169
Slide 169 text
CSS PREPROCESSORS
Resources
Compass
http://compass-style.org/
Thursday, September 12, 13
Slide 170
Slide 170 text
CSS PREPROCESSORS
Resources
SASS Primer
http://thesassway.com/beginner/getting-
started-with-sass-and-compass
Thursday, September 12, 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
Thursday, September 12, 13
Slide 174
Slide 174 text
SERVING RWD STYLES
Major Approaches
‣ Single CSS File
‣ Multiple CSS Files
‣ Breakpoint Based Partials
‣ Module Based Partials
Thursday, September 12, 13
Slide 175
Slide 175 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
Thursday, September 12, 13
Slide 176
Slide 176 text
Module Based Partials
index.html
Thursday, September 12, 13
Slide 177
Slide 177 text
Module Based Partials
index.html
Thursday, September 12, 13
Slide 178
Slide 178 text
Module Based Partials
index.html
Thursday, September 12, 13
Slide 179
Slide 179 text
Module Based Partials
index.html
Thursday, September 12, 13
Slide 180
Slide 180 text
Module Based Partials
index.html
Thursday, September 12, 13
Slide 181
Slide 181 text
Module Based Partials
index.html
Thursday, September 12, 13
https://github.com/sparkbox/SB-Media
Thursday, September 12, 13
Slide 198
Slide 198 text
https://github.com/Team-Sass/
breakpoint
Thursday, September 12, 13
Slide 199
Slide 199 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
Thursday, September 12, 13
Slide 200
Slide 200 text
This is so much
more natural.
Thursday, September 12, 13
Slide 201
Slide 201 text
THERE IS NO
BREAKPOINT
Thursday, September 12, 13
Slide 202
Slide 202 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
...
}
Thursday, September 12, 13
Slide 203
Slide 203 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
...
}
Thursday, September 12, 13
Slide 204
Slide 204 text
There is no Breakpoint
Media Query
Bookmarklet
(by @robtarr)
Thursday, September 12, 13
Slide 205
Slide 205 text
There is no Breakpoint
Thursday, September 12, 13
Slide 206
Slide 206 text
Relax.
Thursday, September 12, 13
Slide 207
Slide 207 text
Think more modularly.
Try something like
SMACSS (from @snookca).
Thursday, September 12, 13
Slide 208
Slide 208 text
Element Queries
http://www.xanthir.com/b4PR0
Thursday, September 12, 13
Slide 209
Slide 209 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)
Thursday, September 12, 13
Slide 210
Slide 210 text
Discussion
‣ How are you serving RWD styles
today?
‣ How do you “support” older IE?
Thursday, September 12, 13
Slide 211
Slide 211 text
MAKING EVERYTHING FLUID
CREATING
FLEXIBILITY
Thursday, September 12, 13
Slide 212
Slide 212 text
CREATING FLEXIBILITY
What Needs to Flex
‣ Grids
‣ Layout
‣ Typography
‣ Images
‣ Tables
‣ Video
Thursday, September 12, 13
Slide 213
Slide 213 text
CREATING FLEXIBILITY
What Needs to Flex
‣ Grids
‣ Layout
‣ Typography
‣ Images
‣ Tables
‣ Video
Thursday, September 12, 13
Slide 214
Slide 214 text
It starts with the grid
Thursday, September 12, 13
Slide 215
Slide 215 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%;
}
Thursday, September 12, 13
Slide 216
Slide 216 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%
Thursday, September 12, 13
Slide 217
Slide 217 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%
Thursday, September 12, 13
Slide 218
Slide 218 text
Responsive grid systems
Thursday, September 12, 13
Slide 219
Slide 219 text
CREATING FLEXIBILITY
RWD Grid Systems
‣ Foundation
‣ Bootstrap
‣ Skeleton
‣ Responsive.gs
‣ Columnal
‣ ...this list goes on, and on, and on
Thursday, September 12, 13
Slide 220
Slide 220 text
CREATING FLEXIBILITY
Semantic RWD Grid Systems
‣ Semantic.gs
‣ Susy
‣ Zen Grids
Thursday, September 12, 13
CREATING FLEXIBILITY
What Needs to Flex
‣ Grids
‣ Layout
‣ Typography
‣ Images
‣ Tables
‣ Video
Thursday, September 12, 13
Slide 228
Slide 228 text
CREATING FLEXIBILITY
Responsive Layout Patterns
‣ Source order stacking
‣ Content choreography
‣ Off canvas
Thursday, September 12, 13
Slide 229
Slide 229 text
CREATING FLEXIBILITY
Responsive Layout Patterns
‣ Source order stacking
‣ Content choreography
‣ Off canvas
Thursday, September 12, 13
Slide 230
Slide 230 text
Thursday, September 12, 13
Slide 231
Slide 231 text
CREATING FLEXIBILITY
Responsive Layout Patterns
‣ Source order stacking
‣ Content choreography
‣ Off canvas
Thursday, September 12, 13
Slide 232
Slide 232 text
Thursday, September 12, 13
Slide 233
Slide 233 text
Thursday, September 12, 13
Slide 234
Slide 234 text
[AppendAround Demo]
Thursday, September 12, 13
Slide 235
Slide 235 text
CREATING FLEXIBILITY
Responsive Layout Patterns
‣ Source order stacking
‣ Content choreography
‣ Off canvas
Thursday, September 12, 13
Slide 236
Slide 236 text
Thursday, September 12, 13
Slide 237
Slide 237 text
Thursday, September 12, 13
Slide 238
Slide 238 text
Easiest to show
a few examples:
http://jasonweaver.name/lab/offcanvas/
http://mashable.com/
Thursday, September 12, 13
Slide 239
Slide 239 text
There are many, many
combinations of these
basic ideas
http://bit.ly/U4N5qH
(http://bradfrost.github.com/this-is-responsive/patterns.html)
Thursday, September 12, 13
Slide 240
Slide 240 text
There are some really cool
new layout modules
coming...
Thursday, September 12, 13
Slide 241
Slide 241 text
http://www.netmagazine.com/tutorials/
master-new-css-layout-properties
Thursday, September 12, 13
Slide 242
Slide 242 text
http://www.fivesimplesteps.com/
products/css3-layout-modules
Thursday, September 12, 13
Slide 243
Slide 243 text
CREATING FLEXIBILITY
What Needs to Flex
‣ Grids
‣ Layout
‣ Typography
‣ Images
‣ Tables
‣ Video
Thursday, September 12, 13
Slide 244
Slide 244 text
Type flexes by default
Thursday, September 12, 13
Slide 245
Slide 245 text
We need to
consider readability
Thursday, September 12, 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
Thursday, September 12, 13
Slide 247
Slide 247 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
Thursday, September 12, 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
Thursday, September 12, 13
Slide 249
Slide 249 text
@snookca
http://snook.ca/technical/colour_contrast/
colour.html
@leaverou
http://leaverou.github.com/contrast-ratio/
Thursday, September 12, 13
Slide 250
Slide 250 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
Thursday, September 12, 13
Slide 251
Slide 251 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
Thursday, September 12, 13
Slide 252
Slide 252 text
vw & vh CSS Units
Thursday, September 12, 13
Slide 253
Slide 253 text
JS Alternatives
Thursday, September 12, 13
Slide 254
Slide 254 text
CREATING FLEXIBILITY
What Needs to Flex
‣ Grids
‣ Layout
‣ Typography
‣ Images
‣ Tables
‣ Video
Thursday, September 12, 13
http://bit.ly/12TbTX4
(http://codepen.io/bencallahan/pen/CtLDb)
Thursday, September 12, 13
Slide 257
Slide 257 text
The image problem(s)
Thursday, September 12, 13
Slide 258
Slide 258 text
CREATING FLEXIBILITY
The image problem(s)
‣ Content
‣ Bandwidth
‣ Pixel density
Thursday, September 12, 13
Slide 259
Slide 259 text
CREATING FLEXIBILITY
Image: Content
Thursday, September 12, 13
Slide 260
Slide 260 text
CREATING FLEXIBILITY
Image: Content
Thursday, September 12, 13
Slide 261
Slide 261 text
CREATING FLEXIBILITY
Image: Content
Thursday, September 12, 13
Slide 262
Slide 262 text
CREATING FLEXIBILITY
Image: Content
Thursday, September 12, 13
Slide 263
Slide 263 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/
Thursday, September 12, 13
Slide 264
Slide 264 text
CREATING FLEXIBILITY
Image: Bandwidth
Responsive & Responsible
via @scotjehl
https://speakerdeck.com/scottjehl/responsive-responsible
http://www.lukew.com/ff/entry.asp?1565
Thursday, September 12, 13
Slide 265
Slide 265 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
Thursday, September 12, 13
Slide 266
Slide 266 text
CREATING FLEXIBILITY
The image problem(s)
‣ Content
‣ Bandwidth
‣ Pixel density
Thursday, September 12, 13
Slide 267
Slide 267 text
CREATING FLEXIBILITY
The image solution(s)
‣ SVG
‣ Icon fonts
‣ Pixel-density media queries
‣ Compressive
‣ Picturefill
‣ User preference
Thursday, September 12, 13
Slide 268
Slide 268 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.
Thursday, September 12, 13
Slide 269
Slide 269 text
@dbushell wrote a great primer for SVG
Thursday, September 12, 13
Slide 270
Slide 270 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.
Thursday, September 12, 13
Slide 271
Slide 271 text
Search
Icon Font Markup
/*.scss*/
[data-icon]:before {
content: attr(data-icon);
font-family: 'icon-font-family';
speak: none;
}
Thursday, September 12, 13
Slide 272
Slide 272 text
“Compressive” Images
‣ http://bit.ly/Sygdey
‣ Increase the image dimensions
‣ Add massive compression
‣ Scale the image in the browser
Thursday, September 12, 13
Slide 273
Slide 273 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.
Thursday, September 12, 13
Slide 274
Slide 274 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
Thursday, September 12, 13
Slide 275
Slide 275 text
Picturefill
‣ https://github.com/scottjehl/
picturefill
‣ Polyfill for the new
element
Thursday, September 12, 13
Slide 276
Slide 276 text
Picturefill
Thursday, September 12, 13
Slide 277
Slide 277 text
User Preference
‣ Allow the user to choose what
experience they would like to
have on their device: “HD” or
“SD”.
Thursday, September 12, 13
Slide 278
Slide 278 text
CREATING FLEXIBILITY
What Needs to Flex
‣ Grids
‣ Layout
‣ Typography
‣ Images
‣ Tables
‣ Video
Thursday, September 12, 13
Slide 279
Slide 279 text
CREATING FLEXIBILITY
Tables
http://codepen.io/bencallahan/pen/xvmCe
Thursday, September 12, 13
Slide 280
Slide 280 text
RWD Table Patterns
[demo]
Thursday, September 12, 13
Slide 281
Slide 281 text
CREATING FLEXIBILITY
What Needs to Flex
‣ Grids
‣ Layout
‣ Typography
‣ Images
‣ Tables
‣ Video
Thursday, September 12, 13
Slide 282
Slide 282 text
CREATING FLEXIBILITY
Video
Thursday, September 12, 13
Slide 283
Slide 283 text
CREATING FLEXIBILITY
Intrinsic Ratios
http://codepen.io/bencallahan/pen/KICkl
Thursday, September 12, 13
Slide 284
Slide 284 text
CREATING FLEXIBILITY
Video
Thursday, September 12, 13
Slide 285
Slide 285 text
Creating
flexibility requires
experimentation
Thursday, September 12, 13
Slide 286
Slide 286 text
Creating
flexibility requires
Thursday, September 12, 13
Slide 287
Slide 287 text
Discussion
‣ What content types have we not
addressed?
‣ What specific challenges are you
facing in creating flexibility?
Thursday, September 12, 13
Slide 288
Slide 288 text
UNIQUE CONSIDERATIONS AND CHALLENGES
NAVIGATION
AND RWD
Thursday, September 12, 13
Slide 289
Slide 289 text
NAVIGATION AND RWD
Major Issues
‣ Site Depth and Breadth
‣ Screen Real Estate
‣ Cross-width Consistency
‣ Interaction Patterns
Thursday, September 12, 13
Slide 290
Slide 290 text
NAVIGATION AND RWD
Major Issues
‣ Site Depth and Breadth
‣ Screen Real Estate
‣ Cross-width Consistency
‣ Interaction Patterns
Thursday, September 12, 13
Slide 291
Slide 291 text
Small sites often allow
simpler solutions.
Thursday, September 12, 13
Slide 292
Slide 292 text
Simple Nav Examples
‣ Simple Row
‣ Jump to Content
‣ Jump to Footer
‣ Top Stacked Off Canvas
Thursday, September 12, 13
Slide 293
Slide 293 text
Simple Nav Examples
‣ Simple Row
‣ Jump to Content
‣ Jump to Footer
‣ Top Stacked
Off Canvas
http://seesparkbox.com
Thursday, September 12, 13
Slide 294
Slide 294 text
Simple Nav Examples
‣ Simple Row
‣ Jump to Content
‣ Jump to Footer
‣ Top Stacked
Off Canvas
http://forgeideas.com
Thursday, September 12, 13
Slide 295
Slide 295 text
Simple Nav Examples
‣ Simple Row
‣ Jump to Content
‣ Jump to Footer
‣ Top Stacked
Off Canvas
http://contentsmagazine.com
Thursday, September 12, 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/
Thursday, September 12, 13
Slide 297
Slide 297 text
Most sites have to
work a bit harder to
accommodate their
content.
Thursday, September 12, 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
Thursday, September 12, 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.
Thursday, September 12, 13
Slide 300
Slide 300 text
Before accommodating all
the things, it’s not a cop-
out to question the things.
Thursday, September 12, 13
Slide 301
Slide 301 text
Attack the right nav.
Thursday, September 12, 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
Thursday, September 12, 13
Slide 303
Slide 303 text
NAVIGATION AND RWD
Major Issues
‣ Site Depth and Breadth
‣ Screen Real Estate
‣ Cross-width Consistency
‣ Interaction Patterns
Thursday, September 12, 13
Slide 304
Slide 304 text
Small screens aren’t just
horizontally small.
Thursday, September 12, 13
Don’t make small screens
smaller by eating up
vertical space with nav.
Thursday, September 12, 13
Slide 307
Slide 307 text
http://www.tuj.ac.jp/
Thursday, September 12, 13
Slide 308
Slide 308 text
http://
seesparkbox.com/
foundry
Thursday, September 12, 13
Slide 309
Slide 309 text
Take ALL the navigation
into account.
Thursday, September 12, 13
Slide 310
Slide 310 text
http://skinnyties.com/
color/blue/
Thursday, September 12, 13
Slide 311
Slide 311 text
NAVIGATION AND RWD
Major Issues
‣ Site Depth and Breadth
‣ Screen Real Estate
‣ Cross-width Consistency
‣ Interaction Patterns
Thursday, September 12, 13
Slide 312
Slide 312 text
“Users don’t resize their
browser. That’s a
developer behavior.”
Thursday, September 12, 13
Slide 313
Slide 313 text
Our users are viewing our
sites at multiple
resolutions.
Thursday, September 12, 13
Slide 314
Slide 314 text
Familiarity breeds
usability.
Thursday, September 12, 13
Slide 315
Slide 315 text
Are our off-canvas and
other RWD-inspired
patterns doing more harm
than good?
Thursday, September 12, 13
Slide 316
Slide 316 text
Pros & Cons
from
http://
thenextweb.com/
Thursday, September 12, 13
Slide 317
Slide 317 text
Do we need to change the
user’s pattern at all?
Thursday, September 12, 13
Slide 318
Slide 318 text
http://
www.polygon.com/
Thursday, September 12, 13
Slide 319
Slide 319 text
NAVIGATION AND RWD
Major Issues
‣ Site Depth and Breadth
‣ Screen Real Estate
‣ Cross-width Consistency
‣ Interaction Patterns
Thursday, September 12, 13
Slide 320
Slide 320 text
There is no right answer.
Thursday, September 12, 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
Thursday, September 12, 13
Slide 322
Slide 322 text
Patterns Galore
‣ Toggle
‣ Footer Anchor
‣ Select Menu
‣ Multi-Toggle
‣ Off Canvas
‣ Breadcrumbs
‣ More...
Thursday, September 12, 13
Slide 323
Slide 323 text
Patterns Galore
‣ Toggle
‣ Footer Anchor
‣ Select Menu
‣ Multi-Toggle
‣ Off Canvas
‣ Breadcrumbs
‣ More...
Thursday, September 12, 13
Slide 324
Slide 324 text
Patterns Galore
‣ Toggle
‣ Footer Anchor
‣ Select Menu
‣ Multi-Toggle
‣ Off Canvas
‣ Breadcrumbs
‣ More...
Thursday, September 12, 13
Slide 325
Slide 325 text
Patterns Galore
‣ Toggle
‣ Footer Anchor
‣ Select Menu
‣ Multi-Toggle
‣ Off Canvas
‣ Breadcrumbs
‣ More...
Thursday, September 12, 13
Slide 326
Slide 326 text
Patterns Galore
‣ Toggle
‣ Footer Anchor
‣ Select Menu
‣ Multi-Toggle
‣ Off Canvas
‣ Breadcrumbs
‣ More...
Thursday, September 12, 13
Slide 327
Slide 327 text
Patterns Galore
‣ Toggle
‣ Footer Anchor
‣ Select Menu
‣ Multi-Toggle
‣ Off Canvas
‣ Breadcrumbs
‣ More...
Thursday, September 12, 13
Slide 328
Slide 328 text
Patterns Galore
‣ Toggle
‣ Footer Anchor
‣ Select Menu
‣ Multi-Toggle
‣ Off Canvas
‣ Breadcrumbs
‣ More...
Thursday, September 12, 13
Slide 329
Slide 329 text
Patterns Galore
‣ Toggle
‣ Footer Anchor
‣ Select Menu
‣ Multi-Toggle
‣ Off Canvas
‣ Breadcrumbs
‣ More...
Thursday, September 12, 13
Slide 330
Slide 330 text
Patterns Galore
‣ Toggle
‣ Footer Anchor
‣ Select Menu
‣ Multi-Toggle
‣ Off Canvas
‣ Breadcrumbs
‣ More...
Thursday, September 12, 13
Slide 331
Slide 331 text
Patterns Galore
‣ Toggle
‣ Footer Anchor
‣ Select Menu
‣ Multi-Toggle
‣ Off Canvas
‣ Breadcrumbs
‣ More...
Thursday, September 12, 13
Slide 332
Slide 332 text
Patterns Galore
‣ Toggle
‣ Footer Anchor
‣ Select Menu
‣ Multi-Toggle
‣ Off Canvas
‣ Breadcrumbs
‣ More...
Thursday, September 12, 13
Slide 333
Slide 333 text
Patterns Galore
‣ Toggle
‣ Footer Anchor
‣ Select Menu
‣ Multi-Toggle
‣ Off Canvas
‣ Breadcrumbs
‣ More...
Thursday, September 12, 13
Slide 334
Slide 334 text
Patterns Galore
‣ Toggle
‣ Footer Anchor
‣ Select Menu
‣ Multi-Toggle
‣ Off Canvas
‣ Breadcrumbs
‣ More...
Thursday, September 12, 13
Slide 335
Slide 335 text
Patterns Galore
‣ Toggle
‣ Footer Anchor
‣ Select Menu
‣ Multi-Toggle
‣ Off Canvas
‣ Breadcrumbs
‣ More...
Thursday, September 12, 13
Slide 336
Slide 336 text
Patterns Galore
‣ Toggle
‣ Footer Anchor
‣ Select Menu
‣ Multi-Toggle
‣ Off Canvas
‣ Breadcrumbs
‣ More...
Thursday, September 12, 13
Slide 337
Slide 337 text
Patterns Galore
‣ Toggle
‣ Footer Anchor
‣ Select Menu
‣ Multi-Toggle
‣ Off Canvas
‣ Breadcrumbs
‣ More...
Thursday, September 12, 13
Slide 338
Slide 338 text
Patterns Galore
‣ Toggle
‣ Footer Anchor
‣ Select Menu
‣ Multi-Toggle
‣ Off Canvas
‣ Breadcrumbs
‣ More...
Thursday, September 12, 13
Slide 339
Slide 339 text
Patterns Galore
‣ Toggle
‣ Footer Anchor
‣ Select Menu
‣ Multi-Toggle
‣ Off Canvas
‣ Breadcrumbs
‣ More...
Thursday, September 12, 13
Slide 340
Slide 340 text
Patterns Galore
‣ Toggle
‣ Footer Anchor
‣ Select Menu
‣ Multi-Toggle
‣ Off Canvas
‣ Breadcrumbs
‣ More...
Thursday, September 12, 13
Slide 341
Slide 341 text
Patterns Galore
‣ Toggle
‣ Footer Anchor
‣ Select Menu
‣ Multi-Toggle
‣ Off Canvas
‣ Breadcrumbs
‣ More...
Thursday, September 12, 13
Slide 342
Slide 342 text
Patterns Galore
‣ Toggle
‣ Footer Anchor
‣ Select Menu
‣ Multi-Toggle
‣ Off Canvas
‣ Breadcrumbs
‣ More...
Thursday, September 12, 13
Slide 343
Slide 343 text
Be open to combining
patterns.
Thursday, September 12, 13
Slide 344
Slide 344 text
Only try completely
unique/novel patterns if
you plan to fully test them.
Thursday, September 12, 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?
Thursday, September 12, 13
Slide 346
Slide 346 text
LEARN FROM OUR MISTAKES
LESSONS
LEARNED
Thursday, September 12, 13
Slide 347
Slide 347 text
Testing
Thursday, September 12, 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
Thursday, September 12, 13
Slide 349
Slide 349 text
Pricing
Thursday, September 12, 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
Thursday, September 12, 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?
Thursday, September 12, 13
LESSONS LEARNED
Prioritization
Thursday, September 12, 13
Slide 355
Slide 355 text
LESSONS LEARNED
Prioritization
Thursday, September 12, 13
Slide 356
Slide 356 text
LESSONS LEARNED
Prioritization
Thursday, September 12, 13
Slide 357
Slide 357 text
LESSONS LEARNED
Prioritization
Thursday, September 12, 13
Slide 358
Slide 358 text
LESSONS LEARNED
Prioritization
Thursday, September 12, 13
Slide 359
Slide 359 text
Performance
Thursday, September 12, 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
Thursday, September 12, 13
Slide 361
Slide 361 text
Barriers
Thursday, September 12, 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
Thursday, September 12, 13
Slide 363
Slide 363 text
SOME THOUGHTS ON WHAT’S NEXT IN RWD
WHERE
WE’RE GOING
Thursday, September 12, 13
Slide 364
Slide 364 text
Thursday, September 12, 13
Slide 365
Slide 365 text
SOLVE THE PROBLEM
Thursday, September 12, 13
Slide 366
Slide 366 text
Unconscious
Incompetence
SOLVE THE PROBLEM
Thursday, September 12, 13
Slide 367
Slide 367 text
Unconscious
Incompetence
Conscious
Incompetence
SOLVE THE PROBLEM
Thursday, September 12, 13
Slide 368
Slide 368 text
Unconscious
Incompetence
Conscious
Incompetence Conscious
Competence
SOLVE THE PROBLEM
Thursday, September 12, 13
Slide 369
Slide 369 text
Unconscious
Incompetence
Conscious
Incompetence Conscious
Competence
Unconscious
Competence
SOLVE THE PROBLEM
Thursday, September 12, 13
Slide 370
Slide 370 text
Fluency
SOLVE THE PROBLEM
Thursday, September 12, 13
Slide 371
Slide 371 text
The Responsive Dip
http://bit.ly/MasqBk
Thursday, September 12, 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/
Thursday, September 12, 13
Slide 373
Slide 373 text
There are many
problems left to solve.
We’ll solve them much faster if we
solve them together.
Thursday, September 12, 13
Slide 374
Slide 374 text
There are many
problems left to solve.
We’ll solve them much faster if we
Thursday, September 12, 13
Slide 375
Slide 375 text
THANKS!
@bencallahan
@robertharr
Thursday, September 12, 13