webstock workshop: creating simple

211
Creating simple Daniel Burka Workshop Webstock 2010 NEW!

Upload: daniel-burka

Post on 27-Jan-2015

107 views

Category:

Technology


0 download

DESCRIPTION

Slides from a 3-hour workshop presented at Webstock 2010 in Wellington NZ by Daniel Burka.

TRANSCRIPT

Page 1: Webstock Workshop: Creating Simple

CreatingsimpleDaniel Burka

Workshop

Webstock 2010

NEW!

Page 2: Webstock Workshop: Creating Simple

Practical simplicity

Alternative titles...

Concepts that seem to work

Web apps, still v. hard to use

Page 4: Webstock Workshop: Creating Simple

What do I do?Co-founder silverorange, creative dir. Digg, co-founder Pownce, dir. of design Tiny Speck

Page 5: Webstock Workshop: Creating Simple
Page 6: Webstock Workshop: Creating Simple
Page 7: Webstock Workshop: Creating Simple
Page 8: Webstock Workshop: Creating Simple
Page 9: Webstock Workshop: Creating Simple
Page 10: Webstock Workshop: Creating Simple
Page 11: Webstock Workshop: Creating Simple
Page 12: Webstock Workshop: Creating Simple
Page 13: Webstock Workshop: Creating Simple

What’s a web designer? UX, IA, Interaction designer, Creative Dir, Prod. manager, Designer, Webmaster

Page 14: Webstock Workshop: Creating Simple

What do you do?

Credit: “The 56 Geeks” by Scott Johnson, myextralife.com

Page 15: Webstock Workshop: Creating Simple

What do you do?

Credit: “The 56 Geeks” by Scott Johnson, myextralife.com

Designer, developer, product, entrepreneur, something else?

Page 16: Webstock Workshop: Creating Simple

What do you do?

Credit: “The 56 Geeks” by Scott Johnson, myextralife.com

Designer, developer, product, entrepreneur, something else?

In-house or freelance?

Page 17: Webstock Workshop: Creating Simple

What do you do?

Credit: “The 56 Geeks” by Scott Johnson, myextralife.com

Designer, developer, product, entrepreneur, something else?

In-house or freelance?

Big, medium, little, lone gun?

Page 18: Webstock Workshop: Creating Simple

What do you do?

Credit: “The 56 Geeks” by Scott Johnson, myextralife.com

Designer, developer, product, entrepreneur, something else?

In-house or freelance?

Big, medium, little, lone gun?

Love it, like it, hate it, or meh?

Page 19: Webstock Workshop: Creating Simple

Ground rulesAsk questions anytime... yell out if I don’t see your hand

It’s more important to elaborate than to cover everything

@reply me @dburka with things to cover if you’re not an out loud person

Page 20: Webstock Workshop: Creating Simple
Page 21: Webstock Workshop: Creating Simple

A. Get the basics out of the way

Page 22: Webstock Workshop: Creating Simple

A. Get the basics out of the way

1. Starting simple, staying simple

Page 23: Webstock Workshop: Creating Simple

A. Get the basics out of the way

1. Starting simple, staying simple

2. Techniques for masking complexity

Page 24: Webstock Workshop: Creating Simple

A. Get the basics out of the way

1. Starting simple, staying simple

3. Easing people into complex systems

2. Techniques for masking complexity

Page 25: Webstock Workshop: Creating Simple

A. Get the basics out of the way

1. Starting simple, staying simple

3. Easing people into complex systems

2. Techniques for masking complexity

4. Simple code: PHP+CSS and CSS3 today

Page 26: Webstock Workshop: Creating Simple

A. Get the basics out of the way

1. Starting simple, staying simple

3. Easing people into complex systems

2. Techniques for masking complexity

4. Simple code: PHP+CSS and CSS3 today

What else do you want to discuss?

Page 27: Webstock Workshop: Creating Simple

1. Starting simple, staying simple.

2. Techniques for masking complexity.

3. Easing people into complex systems

4. Writing simpler CSS with basic logic.

Credit: Flickr user ‘Swamibu’

Page 28: Webstock Workshop: Creating Simple

Start simple

Easier to grok, more engaging

Page 29: Webstock Workshop: Creating Simple
Page 30: Webstock Workshop: Creating Simple
Page 31: Webstock Workshop: Creating Simple
Page 32: Webstock Workshop: Creating Simple
Page 33: Webstock Workshop: Creating Simple
Page 34: Webstock Workshop: Creating Simple
Page 35: Webstock Workshop: Creating Simple
Page 36: Webstock Workshop: Creating Simple
Page 37: Webstock Workshop: Creating Simple

“What’s the right approach to new

products? Pick three key attributes

or features, get those things very,

very right, and then forget about

everything else. Those

three attributes define the

fundamental

essence and

value of the

product — the rest is noise.”

Credit: Flickr user ‘Thomas Hawk’

Paul BuchheitCreator, Gmail

Co-founder, Friendfeed

http://paulbuchheit.blogspot.com/2010/02/if-your-product-is-great-it-doesnt-need.html

Page 38: Webstock Workshop: Creating Simple
Page 39: Webstock Workshop: Creating Simple

Pave the cowpaths

Start simple, watch how people actually use your app

Credit: Phil Gyford

Don’t even try to predict everything

Page 40: Webstock Workshop: Creating Simple

Point Reyes Station, California, April 2009

Not a failure... a perfect opportunity

Page 41: Webstock Workshop: Creating Simple

Point Reyes Station, California, April 2009

Not a failure... a perfect opportunity

Page 42: Webstock Workshop: Creating Simple

Point Reyes Station, California, April 2009

Not a failure... a perfect opportunity

Page 43: Webstock Workshop: Creating Simple

Point Reyes Station, California, April 2009

Not a failure... a perfect opportunity

Page 44: Webstock Workshop: Creating Simple
Page 45: Webstock Workshop: Creating Simple
Page 46: Webstock Workshop: Creating Simple
Page 47: Webstock Workshop: Creating Simple
Page 48: Webstock Workshop: Creating Simple

Focus on THE thing

Why are people REALLY on your site or this page?

Credit: Flickr user ‘ihtatho’

Page 49: Webstock Workshop: Creating Simple
Page 50: Webstock Workshop: Creating Simple

~ 1024/768

Page 51: Webstock Workshop: Creating Simple
Page 52: Webstock Workshop: Creating Simple
Page 53: Webstock Workshop: Creating Simple
Page 54: Webstock Workshop: Creating Simple
Page 55: Webstock Workshop: Creating Simple
Page 56: Webstock Workshop: Creating Simple
Page 57: Webstock Workshop: Creating Simple
Page 58: Webstock Workshop: Creating Simple
Page 59: Webstock Workshop: Creating Simple
Page 60: Webstock Workshop: Creating Simple
Page 61: Webstock Workshop: Creating Simple
Page 62: Webstock Workshop: Creating Simple
Page 63: Webstock Workshop: Creating Simple
Page 64: Webstock Workshop: Creating Simple
Page 65: Webstock Workshop: Creating Simple
Page 66: Webstock Workshop: Creating Simple

Remove as much as you can

Is something REALLY necessary? Often a tough debate.

Credit: Flickr user ‘pgoyette’

Page 67: Webstock Workshop: Creating Simple
Page 68: Webstock Workshop: Creating Simple
Page 69: Webstock Workshop: Creating Simple
Page 70: Webstock Workshop: Creating Simple
Page 71: Webstock Workshop: Creating Simple

?

Page 72: Webstock Workshop: Creating Simple

2. Techniques for masking complexity.

4. Writing simpler CSS with basic logic.

Credit: Flickr user ‘Swamibu’

1. Starting simple, staying simple.

3. Easing people into complex systems.

Page 73: Webstock Workshop: Creating Simple

Required reading....

Page 74: Webstock Workshop: Creating Simple

Hide what you can’t remove

Contextual links and secondary content are candidates

Credit: Flickr user ‘aftab’

Page 75: Webstock Workshop: Creating Simple
Page 76: Webstock Workshop: Creating Simple
Page 77: Webstock Workshop: Creating Simple
Page 78: Webstock Workshop: Creating Simple
Page 79: Webstock Workshop: Creating Simple
Page 80: Webstock Workshop: Creating Simple
Page 81: Webstock Workshop: Creating Simple
Page 82: Webstock Workshop: Creating Simple
Page 83: Webstock Workshop: Creating Simple

The MEGA dropdown

Bigger is better in this instance

Credit: Flickr user ‘ /mrpunto’

Page 84: Webstock Workshop: Creating Simple
Page 85: Webstock Workshop: Creating Simple
Page 86: Webstock Workshop: Creating Simple
Page 87: Webstock Workshop: Creating Simple
Page 88: Webstock Workshop: Creating Simple
Page 89: Webstock Workshop: Creating Simple
Page 90: Webstock Workshop: Creating Simple
Page 91: Webstock Workshop: Creating Simple
Page 92: Webstock Workshop: Creating Simple
Page 93: Webstock Workshop: Creating Simple

Give options in sequence

Only an option for logical sequences – handy sometimes

Credit: Flickr user ‘ r o s e n d a h l’

Page 94: Webstock Workshop: Creating Simple
Page 95: Webstock Workshop: Creating Simple
Page 96: Webstock Workshop: Creating Simple
Page 97: Webstock Workshop: Creating Simple
Page 98: Webstock Workshop: Creating Simple
Page 99: Webstock Workshop: Creating Simple
Page 100: Webstock Workshop: Creating Simple
Page 101: Webstock Workshop: Creating Simple
Page 102: Webstock Workshop: Creating Simple

Strongly consider flow

You don’t need eye-tracking software to remove impediments

Credit: Flickr user ‘Mister V’

Page 103: Webstock Workshop: Creating Simple

by dburka 20 minutes ago

by marktrammell 16 minutes ago

Of course, what McCain is trying to avoid anyone noticing is that the problem isn't regulators failing to do

their job; it's that that man he tapped to write his economic policy - Phil Gramm - removed oversight of the

instruments that are laying waste to the finance sector from the regulators' job descriptions.

Reply to this comment

Reply to this comment

We all know McCain is incompetent when it comes to the economy, and that Phil Gramm sold out the

finance sector. You would think they would have brought in someone with substance when Phil hit the road.

5 Replies to this comment

by kevinrose 10 minutes ago

We all know McCain is incompetent when it comes to the economy, and that Phil Gramm sold out

the finance sector.

5 Replies to this comment

by dburka 14 minutes ago

We all know McCain is incompetent when it comes to the economy, and that Phil Gramm sold out the

finance sector. You would think they would have brought in someone with substance when Phil hit the road.

by kurtwilms 12 minutes ago

We all know McCain is incompetent when it comes to the economy, and that Phil Gramm sold out

the finance sector. You would think they would have brought in someone with substance when

Phil hit the road.

5 Replies to this comment

Page 104: Webstock Workshop: Creating Simple
Page 105: Webstock Workshop: Creating Simple

?

Page 106: Webstock Workshop: Creating Simple

2. Techniques for masking complexity.

3. Easing people into complex systems.

4. Writing simpler CSS with basic logic.

Credit: Flickr user ‘Swamibu’

1. Starting simple, staying simple.

Page 107: Webstock Workshop: Creating Simple

The problem...

Page 108: Webstock Workshop: Creating Simple

The problem...

Page 109: Webstock Workshop: Creating Simple

The problem...

Page 110: Webstock Workshop: Creating Simple

The problem...

Page 111: Webstock Workshop: Creating Simple

Show, don’t tell

Showing is much more enticing (usually)

Page 112: Webstock Workshop: Creating Simple
Page 113: Webstock Workshop: Creating Simple
Page 114: Webstock Workshop: Creating Simple
Page 115: Webstock Workshop: Creating Simple
Page 116: Webstock Workshop: Creating Simple
Page 117: Webstock Workshop: Creating Simple
Page 118: Webstock Workshop: Creating Simple
Page 119: Webstock Workshop: Creating Simple
Page 120: Webstock Workshop: Creating Simple
Page 121: Webstock Workshop: Creating Simple
Page 122: Webstock Workshop: Creating Simple
Page 123: Webstock Workshop: Creating Simple

Date a little bit before committing

Credit: Flickr user ‘Ben Haisch’

Page 124: Webstock Workshop: Creating Simple

Date a little bit before committing

Get your users invested before you propose

Credit: Flickr user ‘Ben Haisch’

Page 125: Webstock Workshop: Creating Simple
Page 126: Webstock Workshop: Creating Simple
Page 127: Webstock Workshop: Creating Simple
Page 128: Webstock Workshop: Creating Simple
Page 129: Webstock Workshop: Creating Simple
Page 130: Webstock Workshop: Creating Simple
Page 131: Webstock Workshop: Creating Simple
Page 132: Webstock Workshop: Creating Simple
Page 133: Webstock Workshop: Creating Simple
Page 134: Webstock Workshop: Creating Simple

What kind of commitment are you looking for?

Credit: Flickr user ‘Voxphoto’

Page 135: Webstock Workshop: Creating Simple

What kind of commitment are you looking for?

Maybe you don’t need to go all the way on your first date.

Credit: Flickr user ‘Voxphoto’

Page 136: Webstock Workshop: Creating Simple

What kind of commitment are you looking for?

Maybe you don’t need to go all the way on your first date.

Credit: Flickr user ‘Voxphoto’

Simplify sign-up by having less of it!

Page 137: Webstock Workshop: Creating Simple
Page 138: Webstock Workshop: Creating Simple

E-commerce example

Page 139: Webstock Workshop: Creating Simple

E-commerce example

Page 140: Webstock Workshop: Creating Simple

Learning from games

Page 141: Webstock Workshop: Creating Simple

Learning from games Good games educate and involve you at the same time.

Page 142: Webstock Workshop: Creating Simple
Page 143: Webstock Workshop: Creating Simple
Page 144: Webstock Workshop: Creating Simple
Page 145: Webstock Workshop: Creating Simple
Page 146: Webstock Workshop: Creating Simple
Page 147: Webstock Workshop: Creating Simple
Page 148: Webstock Workshop: Creating Simple
Page 149: Webstock Workshop: Creating Simple

Questing

Page 150: Webstock Workshop: Creating Simple

Questing

Page 151: Webstock Workshop: Creating Simple

?

Page 152: Webstock Workshop: Creating Simple
Page 153: Webstock Workshop: Creating Simple

?

? ??? ?

?

Page 154: Webstock Workshop: Creating Simple

1. Starting simple, staying simple.

2. Techniques for masking complexity.

3. Easing people into complex systems.

4. Writing simpler CSS with basic logic.

Credit: Flickr user ‘Swamibu’

Page 155: Webstock Workshop: Creating Simple

PHP + CSS = True love

Credit: Flickr user ‘Buttersweet’

Page 156: Webstock Workshop: Creating Simple

PHP + CSS = True love (Almost) everything you’ve always wanted to do with CSS

Credit: Flickr user ‘Buttersweet’

Page 157: Webstock Workshop: Creating Simple

How is this simpler?Set base variables for colors, widths, fonts, etc.

Write complex properties once and repeat

Use basic arithmetic

Logically separate files yet one http request

In short, avoid creating a mess

Page 158: Webstock Workshop: Creating Simple
Page 159: Webstock Workshop: Creating Simple

Getting started 1 of 2First task is to turn your css files into php files

<?phpheader("Content-type: text/css");?>

body { background: #efefef; color: #333;}.content { border: 1px solid #6f6f6f; padding: 15px; width 900px; padding: 30px; color: #333; margin: 0 auto;}

Page 160: Webstock Workshop: Creating Simple

Getting started 2 of 2Link to your new php stylesheet

<?php ?>

<!DOCTYPE html><html lang="eng"><head>! <meta charset="utf-8">! <title>Test</title>! <meta name="description" content="" />! <meta name="keywords" content="" />! <link rel="stylesheet" type="text/css" media="all" href="base-css.php"></head><body>

! <div class="content">! ! I'm going to type stuff into here.! </div>

</body></html><?php ?>

Page 161: Webstock Workshop: Creating Simple

Now we’re talkin’Let’s set some variables.

<?phpheader("Content-type: text/css");$base_shade = ‘#e6e6e6’;$base_color = '#333';$highlight_color = ‘#c00’;$full_width = ‘960’;?>

body { background: #c00;}.content { border: 1px solid #c00; padding: 15px; width 900px; padding: 30px; color: #333;}

Page 162: Webstock Workshop: Creating Simple

Using variables<?phpheader("Content-type: text/css");$base_shade = '#e6e6e6';$base_color = '#333';$highlight_color = '#c00';$full_width = '960';?>

body { background: <?=$base_shade?>;}.content { border: 1px solid <?=$highlight_color?>; padding: 15px; width 900px; padding: 30px; color: <?=$base_color?>;}input.button { padding: 4px 10px; background: <?=$highlight_color?>; color: #fff;}

Page 163: Webstock Workshop: Creating Simple

Isolate our variablesMake a new file... say vars-css.php

<?php$base_shade = '#e6e6e6';$base_color = '#333';$highlight_color = '#c00';$full_width = '960px';?>

Page 164: Webstock Workshop: Creating Simple

Include itNow simply include it into your php/css file(s)

<?phpheader("Content-type: text/css");include 'vars-css.php';?>

body { background: <?=$base_shade?>;}.content { border: 1px solid <?=$highlight_color?>; padding: 15px; width <?=$base_width - 30?>px; padding: 30px; color: <?=$base_color?>;}input.button { padding: 4px 10px; background: <?=$highlight_color?>; color: #fff;}

Page 165: Webstock Workshop: Creating Simple

Now we can shareMake several php/css files that all share the same variables.

Page 166: Webstock Workshop: Creating Simple

Cool... we’ve got varsOk, so what else can we do with variables?

Page 167: Webstock Workshop: Creating Simple

Other variablesFont-family declarations

<?php

$font-base = ‘“Lucida Grande”, Verdana, Arial, sans-serif’;

$font-decorative = ‘Museo, Georgia, “Times New Roman”, serif’;

?>

Page 168: Webstock Workshop: Creating Simple

Other variablesComplex sets of properties

<?php

$inline_block = ‘display: -moz-inline-stack; display: inline-block; vertical-align: top; zoom: 1; *display: inline;’;

?>

Page 169: Webstock Workshop: Creating Simple

Getting fancyA simple function for border-radius properties

<?php

function radius($x) { return "-moz-border-radius: {$x}px; -webkit-border-radius: {$x}px; border-radius: {$x}px;"; }

?>

.feature { background: #eeee; <?=radius(5)?>}

Page 170: Webstock Workshop: Creating Simple

Simpler HTTP RequestsMany CSS files make organization simpler, but...

Page 171: Webstock Workshop: Creating Simple

Simpler HTTP RequestsWe can simply include them all into one css file = 1 http request

Page 172: Webstock Workshop: Creating Simple

One file to rule them all...Consolidate in any order in a central file.

<?php

header("Content-type: text/css");

include 'base-css.php';

include 'text-css.php';

include 'template-css.php';

?>

Page 173: Webstock Workshop: Creating Simple

?

Page 174: Webstock Workshop: Creating Simple

CSS3 today

Credit: Flickr user ‘yago1.com’

Page 175: Webstock Workshop: Creating Simple

CSS3 today (Some) CSS3 is read for public consumption.

Credit: Flickr user ‘yago1.com’

Page 176: Webstock Workshop: Creating Simple
Page 177: Webstock Workshop: Creating Simple

CSS TransformsScaling

input.button { background: <?=$base_shade?>; padding: 5px 15px; font-family: <?=$font-decorative?>; color: <?=$link_color?>; <?=radius(3)?> font-weight: bold;}

input.button:hover { -webkit-transform: scale(1.1); -moz-transform: scale(1.1);}

See example... Doesn’t affect layout!

Page 178: Webstock Workshop: Creating Simple

CSS TransformsRotating

a.color-selector { <?=radius(5)?> background: red; width: 40px; height: 40px; <?=radius(5)?>}

a.color-selector:hover { -webkit-transform: rotate(2deg); -moz-transform: rotate(2deg);}

Page 179: Webstock Workshop: Creating Simple

CSS TransformsRotate AND Scale!!!

a.color-selector { <?=$inline_block?> background: red; width: 40px; height: 40px; <?=radius(5)?>}

a.color-selector:hover { -webkit-transform: scale(1.1) rotate(2deg); -moz-transform: scale(1.1) rotate(2deg);}

See example...

Page 180: Webstock Workshop: Creating Simple

RGBAAlpha != opacity

Lack of IE and Firefox 2 support means it needs backup

But... backup is pretty easy!

Especially great for prototyping and lightening the load

div.section { background: rgba(255,255,255,0.3);}

Page 181: Webstock Workshop: Creating Simple
Page 182: Webstock Workshop: Creating Simple

RGBAKeep it simple, one png and one rgba background

div.section { background: url(/img/light.png); background: rgba(255,255,255,0.3);}

div.section { background: rgb(180,180,180); background: rgba(255,255,255,0.3);}

Or just go solid... (not quite as good, imo)

Page 183: Webstock Workshop: Creating Simple

Advanced selectorsDo zebra striping, the simple way

Page 185: Webstock Workshop: Creating Simple

Advanced selectorsZebra stripes using nth-of-type selector

table { border-collapse: collapse;}

td { padding: 5px 10px;}

table.zebra tr:nth-of-type(2n+1) td { background: #ddd;}

Page 186: Webstock Workshop: Creating Simple

?

Page 187: Webstock Workshop: Creating Simple

Your issues...

What’s been challenging you lately?

Page 189: Webstock Workshop: Creating Simple

What do I do?Co-founder silverorange, creative dir. Digg, co-founder Pownce, dir. of design Tiny Speck

Page 190: Webstock Workshop: Creating Simple
Page 191: Webstock Workshop: Creating Simple
Page 192: Webstock Workshop: Creating Simple
Page 193: Webstock Workshop: Creating Simple
Page 194: Webstock Workshop: Creating Simple
Page 195: Webstock Workshop: Creating Simple
Page 196: Webstock Workshop: Creating Simple
Page 197: Webstock Workshop: Creating Simple
Page 198: Webstock Workshop: Creating Simple

What’s a web designer? UX, IA, Interaction designer, Creative Dir, Prod. manager, Designer, Webmaster

Page 199: Webstock Workshop: Creating Simple

What do you do?

Credit: “The 56 Geeks” by Scott Johnson, myextralife.com

Page 200: Webstock Workshop: Creating Simple

What do you do?

Credit: “The 56 Geeks” by Scott Johnson, myextralife.com

Designer, developer, product, entrepreneur, something else?

Page 201: Webstock Workshop: Creating Simple

What do you do?

Credit: “The 56 Geeks” by Scott Johnson, myextralife.com

Designer, developer, product, entrepreneur, something else?

In-house or freelance?

Page 202: Webstock Workshop: Creating Simple

What do you do?

Credit: “The 56 Geeks” by Scott Johnson, myextralife.com

Designer, developer, product, entrepreneur, something else?

In-house or freelance?

Big, medium, little, lone gun?

Page 203: Webstock Workshop: Creating Simple

What do you do?

Credit: “The 56 Geeks” by Scott Johnson, myextralife.com

Designer, developer, product, entrepreneur, something else?

In-house or freelance?

Big, medium, little, lone gun?

Love it, like it, hate it, or meh?

Page 204: Webstock Workshop: Creating Simple

Ground rulesAsk questions anytime... yell out if I don’t see your hand

It’s more important to elaborate than to cover everything

@reply me @dburka with things to cover if you’re not an out loud person

Page 205: Webstock Workshop: Creating Simple
Page 206: Webstock Workshop: Creating Simple

A. Get the basics out of the way

Page 207: Webstock Workshop: Creating Simple

A. Get the basics out of the way

1. Starting simple, staying simple

Page 208: Webstock Workshop: Creating Simple

A. Get the basics out of the way

1. Starting simple, staying simple

2. Techniques for masking complexity

Page 209: Webstock Workshop: Creating Simple

A. Get the basics out of the way

1. Starting simple, staying simple

3. Easing people into complex systems

2. Techniques for masking complexity

Page 210: Webstock Workshop: Creating Simple

A. Get the basics out of the way

1. Starting simple, staying simple

3. Easing people into complex systems

2. Techniques for masking complexity

4. Simple code: PHP+CSS and CSS3 today

Page 211: Webstock Workshop: Creating Simple

A. Get the basics out of the way

1. Starting simple, staying simple

3. Easing people into complex systems

2. Techniques for masking complexity

4. Simple code: PHP+CSS and CSS3 today

What else do you want to discuss?