embracing uncertainty: learning to think responsively

108

Upload: chad-currie

Post on 07-Jul-2015

385 views

Category:

Design


3 download

DESCRIPTION

Presented to IxDA Austin on March 6, 2013. Adopting Responsive Web Design practices means shifting the way we work. Get practical suggestions for streamlining your design process in the multi-screen world.

TRANSCRIPT

Page 1: Embracing Uncertainty: Learning to Think Responsively
Page 2: Embracing Uncertainty: Learning to Think Responsively

Chad [email protected]

Page 3: Embracing Uncertainty: Learning to Think Responsively

ResponsiveWeb Design

Page 4: Embracing Uncertainty: Learning to Think Responsively

Embracing Uncertainty

Page 5: Embracing Uncertainty: Learning to Think Responsively

Designing for More Screens

Without burning out.

or

Page 7: Embracing Uncertainty: Learning to Think Responsively

Yes, there’s more to design.

Page 8: Embracing Uncertainty: Learning to Think Responsively

Working harder can’t be the answer.

Page 9: Embracing Uncertainty: Learning to Think Responsively

We’re just going to work differently.

Page 10: Embracing Uncertainty: Learning to Think Responsively

Today

100:50

Page 11: Embracing Uncertainty: Learning to Think Responsively

Definitions

Page 12: Embracing Uncertainty: Learning to Think Responsively

Responsive

Flexible Grid

Media Queries

Fluid Images

Page 13: Embracing Uncertainty: Learning to Think Responsively

Adaptive

Responsive Layout Device DetectionLocation Awareness

Server-side Magic

Bandwidth Awareness

Dynamic Images

Mobile Content

Page 14: Embracing Uncertainty: Learning to Think Responsively

“RWD”A convenient short-hand for“one design, many devices”

Page 15: Embracing Uncertainty: Learning to Think Responsively

“RWD”Generally refers to matters of layout.

Page 16: Embracing Uncertainty: Learning to Think Responsively

“RWD”Not great for apps.

Page 17: Embracing Uncertainty: Learning to Think Responsively

“RWD”Gets you really far in

serving lots of devices with not a lot of complexity.

Page 18: Embracing Uncertainty: Learning to Think Responsively

This talk is (mostly) for designers.

Page 19: Embracing Uncertainty: Learning to Think Responsively

Specifically,how does responsive influence your process?

Page 20: Embracing Uncertainty: Learning to Think Responsively

TopicsThe current state of RWD

Resources you have now

Getting Started

Managing Your Design Process

You+ Writers+ Bosses+ Coders

Testing

Extra Credit

Page 21: Embracing Uncertainty: Learning to Think Responsively

RWD is still changing.

Page 22: Embracing Uncertainty: Learning to Think Responsively

“Nice responsive site.You’re doing it wrong.”

Page 23: Embracing Uncertainty: Learning to Think Responsively

Train Your BrainDesignBlogs Books Videos

TwitterAccounts

SiteGalleries

Patten Libraries

Page 25: Embracing Uncertainty: Learning to Think Responsively

Biggest Challenge

Know-how

Organizational Will

Page 26: Embracing Uncertainty: Learning to Think Responsively

The old days.

Define Design Develop Deploy

Page 27: Embracing Uncertainty: Learning to Think Responsively

Now.

Define

Design Develop Deploy

Define

Page 28: Embracing Uncertainty: Learning to Think Responsively

StartDesigning

(Where to)

?

Page 29: Embracing Uncertainty: Learning to Think Responsively

Lock down some variables.

So you can do your job.

Page 30: Embracing Uncertainty: Learning to Think Responsively

Start withone size.

So you can focus onthe important stuff.

Page 31: Embracing Uncertainty: Learning to Think Responsively

Start withone size.

So you can focus onthe important stuff.

By the way

New products, like

Adobe’s Reflow are

trying to solve this with variable-canvas

design tools.

Page 32: Embracing Uncertainty: Learning to Think Responsively

Why one size first?

That’s why.

Single-tasking.

Page 33: Embracing Uncertainty: Learning to Think Responsively

What is a good dimension to start with?

Page 34: Embracing Uncertainty: Learning to Think Responsively

Designing desktop first puts

off the hard decisions.

Page 35: Embracing Uncertainty: Learning to Think Responsively

Picking an arbitrary size in the middle

is not relevant.

Page 36: Embracing Uncertainty: Learning to Think Responsively

Picking an arbitrary size in the middle

is not relevant.

Sometimes, the hardware does matter.What does 600 pixels look like, really.

Page 37: Embracing Uncertainty: Learning to Think Responsively

768.

Page 38: Embracing Uncertainty: Learning to Think Responsively

It’s “hardware” relevant.

It’s close enough to 800.

It helps you establish your desktop style.

It’s tight enough to make you think ahead to phone.

768

Page 39: Embracing Uncertainty: Learning to Think Responsively

About pixels.

When we design, we’re thinking about virtual pixels.

Page 40: Embracing Uncertainty: Learning to Think Responsively

About pixels.“Real”Pixel

“Virtual”Retina Pixel

These aren’t your pixels.

Page 41: Embracing Uncertainty: Learning to Think Responsively

Now youcan design.

Page 42: Embracing Uncertainty: Learning to Think Responsively

%, please.Keep the “Flex” in

Flexible Grid.

Resist the urge to use fixed layouts.

Page 43: Embracing Uncertainty: Learning to Think Responsively

Fixed layouts solve short term design problems,

but they add unsustainable complexity.

Page 44: Embracing Uncertainty: Learning to Think Responsively

What are we designing?

Pages?Layouts?Widgets?

Page 45: Embracing Uncertainty: Learning to Think Responsively

Breakpoints ≠ Layouts

Page 46: Embracing Uncertainty: Learning to Think Responsively

Breakpoints are logic for your layouts.

Page 47: Embracing Uncertainty: Learning to Think Responsively

Use breakpointssparingly.

Page 48: Embracing Uncertainty: Learning to Think Responsively

There’s a pattern forming.

Page 49: Embracing Uncertainty: Learning to Think Responsively

Sustainability.

Centralize control now.Struggle later.

Page 50: Embracing Uncertainty: Learning to Think Responsively

Caution Words“Rollover” “We’ll fix

that with Javascript.”

“Add another breakpoint.”

“Pin” or “fixed position”

“Make it smaller” or “Limit word count”

“There’s no device for that case.”

Page 51: Embracing Uncertainty: Learning to Think Responsively

What are we designing?

A layout of blocks.

Page 52: Embracing Uncertainty: Learning to Think Responsively

Distributecontrol to blocks.

Page 53: Embracing Uncertainty: Learning to Think Responsively

The grid.More than alignment.

Page 54: Embracing Uncertainty: Learning to Think Responsively

Rows / Columns = Blocks

Page 55: Embracing Uncertainty: Learning to Think Responsively

Blocks have their own responsive behavior, and they work together.

Page 56: Embracing Uncertainty: Learning to Think Responsively

Don’t forget about floats. They are not on the grid, but responsive friendly.

Page 57: Embracing Uncertainty: Learning to Think Responsively

What future are you making for yourself?Managing monolithic

pages.

Curating a system of blocks that just work.

Page 58: Embracing Uncertainty: Learning to Think Responsively

What a block knows.A default layout behavior.

Any “family” block behaviors.

Any special device behaviors.

How to relate to other blocks.

If it might contain other special blocks.

Page 59: Embracing Uncertainty: Learning to Think Responsively

PocketDeviceView

Page 60: Embracing Uncertainty: Learning to Think Responsively

Laying out different states.

Mock up separate layouts for each major screen

Draft phone views in the margin of your layouts.

Lay out just one and sit very close to the coders.

Wireframe the phone, then mock up the desktop.*

Drew Clemens, Smashing Magazine. http://uxdesign.smashingmagazine.com/2012/05/30/design-process-responsive-age/

Page 61: Embracing Uncertainty: Learning to Think Responsively

How big do you letyour desktop get?

Depends on how much time you have. Giant layouts require special care too.

Page 62: Embracing Uncertainty: Learning to Think Responsively

Do you need a“desktop” view at all?

Nike.com has one, fluid “big screen” layout.

Page 63: Embracing Uncertainty: Learning to Think Responsively

You+ Writer

Page 64: Embracing Uncertainty: Learning to Think Responsively

Create a semantic language that you and your writer can share:

HeadlinesSummaries

Rich Text BodyCall to Action

SidebarMerchandizing

Callouts...

Page 65: Embracing Uncertainty: Learning to Think Responsively

Because copy blocks are still blocks and they have responsive behavior.

Page 66: Embracing Uncertainty: Learning to Think Responsively

You can style <br /> tags to show or hide

depending on how much space you have.

Here’s a handy writing tip.

Page 67: Embracing Uncertainty: Learning to Think Responsively

You can style <br /> tags to show or hide

depending on how much space you have.

Here’s a handy<br />writing tip.

Page 68: Embracing Uncertainty: Learning to Think Responsively

You+ Boss

Page 69: Embracing Uncertainty: Learning to Think Responsively

ex·pec·ta·tions

Page 70: Embracing Uncertainty: Learning to Think Responsively

Avoid latesurprises.

That’s why 768 is a convenient starting point.

Page 71: Embracing Uncertainty: Learning to Think Responsively

You+ Coders

Page 72: Embracing Uncertainty: Learning to Think Responsively

Write a block spec.

Page 73: Embracing Uncertainty: Learning to Think Responsively

Make small HTMLtests together.

Page 74: Embracing Uncertainty: Learning to Think Responsively

Define UI images versus content images.

Page 75: Embracing Uncertainty: Learning to Think Responsively

(again)

Page 76: Embracing Uncertainty: Learning to Think Responsively

Retina

Javascript swapping is a pretty good solution.

Page 77: Embracing Uncertainty: Learning to Think Responsively

RetinaDo you need an alternate image?

3.14kb

8-bit PNGs

1.7kb

Page 78: Embracing Uncertainty: Learning to Think Responsively

RetinaDo you need an alternate image?

http://filamentgroup.com/lab/rwd_img_compression/

Actual Size.90% JPEG95kb

1024x768 (scaled).0% JPEG (!)44kb

Page 79: Embracing Uncertainty: Learning to Think Responsively

Retina

Ems versus Pixels.

(I don’t even know any more.)

Page 80: Embracing Uncertainty: Learning to Think Responsively

You+ CMS

Page 81: Embracing Uncertainty: Learning to Think Responsively

CMSs ♥Blocks.

Page 82: Embracing Uncertainty: Learning to Think Responsively

Testing.

Page 83: Embracing Uncertainty: Learning to Think Responsively

Make aDevice Spec.

Page 84: Embracing Uncertainty: Learning to Think Responsively

If you don’t specify what you’ll support,

you’ll have to support everything.

Page 85: Embracing Uncertainty: Learning to Think Responsively

Targets.3 most-

important devices you keep close

during design.

Test.5-7 devices you plan to fully support and

test thoroughly.

Support.About 15 devices you will strategically support but will not test.

If someone reposts an issue, you’ll look into it.

Page 86: Embracing Uncertainty: Learning to Think Responsively

Watch out for this guy.

Just check the server logs.

Page 87: Embracing Uncertainty: Learning to Think Responsively

And your answer is ...

We’re planning for 2015.

Page 88: Embracing Uncertainty: Learning to Think Responsively

Defensive programming.design.

Expect unforeseeable cases.Plan to make adjustments.

Page 89: Embracing Uncertainty: Learning to Think Responsively

Recommended Resources

Page 90: Embracing Uncertainty: Learning to Think Responsively

RESPONSIVE WEB DESIGNby Ethan Marcotte

http://www.abookapart.com/products/responsive-web-design

Page 91: Embracing Uncertainty: Learning to Think Responsively

A List ApartResponsive Topics

http://alistapart.com/topic/responsive-design

Page 92: Embracing Uncertainty: Learning to Think Responsively

Smashing MagazineResponsive Topics

http://mobile.smashingmagazine.com/tag/responsive-design/

Page 93: Embracing Uncertainty: Learning to Think Responsively

Wired WebmonkeyResponsive Topics

http://www.webmonkey.com/tag/responsive-design/

Page 94: Embracing Uncertainty: Learning to Think Responsively

Brad Frost’s This is ResponsivePattern Collection

http://bradfrost.github.com/this-is-responsive/patterns.html

Page 95: Embracing Uncertainty: Learning to Think Responsively

@RWDResponsive Twitter Topics

https://twitter.com/RWD

Page 96: Embracing Uncertainty: Learning to Think Responsively

Responsive.isTesting Utility

http://responsive.is

Page 97: Embracing Uncertainty: Learning to Think Responsively

Media QueriesResponsive Gallery

http://mediaqueri.es/

Page 98: Embracing Uncertainty: Learning to Think Responsively

Stack OverflowDeveloper Community

http://stackoverflow.com/questions/tagged/responsive-design

Page 99: Embracing Uncertainty: Learning to Think Responsively

Extra Credit

Page 100: Embracing Uncertainty: Learning to Think Responsively

Is Responsive inherently a

compromise?

Are we allowing the technology to tell us

how to design.

Page 101: Embracing Uncertainty: Learning to Think Responsively

How do we make our blocks not look so blocky?

Page 102: Embracing Uncertainty: Learning to Think Responsively

Are we too focused on screen real estate.

What next big tech shift will make us run to

fix our designs?

Page 103: Embracing Uncertainty: Learning to Think Responsively

Agile /Lean Thinking

Page 104: Embracing Uncertainty: Learning to Think Responsively

How can we apply agile software concepts to help us

welcome uncertainty?

Page 105: Embracing Uncertainty: Learning to Think Responsively

Conventional Project

Agile/Lean Project

Start

Start

Fail Win Fail Fail Win Win

Fail?Win?

Win

Page 106: Embracing Uncertainty: Learning to Think Responsively

“Who the hell wants to hear actors talk?”

— H.M. Warner, Warner Brothers, 1927

Don’t read the comments.

Page 107: Embracing Uncertainty: Learning to Think Responsively

Don’t be daunted.

Make something today.

Accept that it’s never done.

Page 108: Embracing Uncertainty: Learning to Think Responsively

Thanks.