Just One (CSS Dev Conference keynote)

134
Just One Zoe Mickley Gillenwater @zomigi CSS Dev Conference October 21, 2013

description

Keynote presented at CSS Dev Conference on October 21, 2013. I talked about evolving who we are as web designers and developers by focusing on the power of "just one" in learning, failing, and accepting. Simplicity is powerful.

Transcript of Just One (CSS Dev Conference keynote)

Page 1: Just One (CSS Dev Conference keynote)

Just One

Zoe Mickley Gillenwater @zomigi

CSS Dev Conference

October 21, 2013

Page 2: Just One (CSS Dev Conference keynote)

Simple solutions are almost always quickest, easiest and most effective.

Maybe sometimes it does turn out that they aren’t enough and you do in fact need to do something hard.

But if people in the street keep giving you funny looks,

make sure you’re wearing trousers before you start worrying about

what colour they are. Rob Heaton

Page 3: Just One (CSS Dev Conference keynote)

1

Page 4: Just One (CSS Dev Conference keynote)

learning failing

accepting

Page 5: Just One (CSS Dev Conference keynote)

learning

Page 6: Just One (CSS Dev Conference keynote)

You don’t need everything

http://www.flickr.com/photos/montage_man/4713541238/

Page 7: Just One (CSS Dev Conference keynote)

Dramatic reenactment; not my actual niece

Page 8: Just One (CSS Dev Conference keynote)

“I’m not a math person.” or

“I’m not an artist.”

Page 9: Just One (CSS Dev Conference keynote)

Everyone is born creative; everyone is given a box of crayons in kindergarten.

Then when you hit puberty they take the crayons away and replace them

with books on algebra etc. Hugh MacLeod

Page 10: Just One (CSS Dev Conference keynote)

I used to often say “I’m not a JavaScript person.”

Page 11: Just One (CSS Dev Conference keynote)

JavaScript expert != JavaScript person

You can be a JavaScript person without being an expert.

Page 12: Just One (CSS Dev Conference keynote)

I do a little JavaScript, therefore,

I am a person who does JavaScript.

Page 13: Just One (CSS Dev Conference keynote)

Since I’m not “not a JavaScript person,”

I can do more of it.

Page 14: Just One (CSS Dev Conference keynote)

Who you think you are matters more than who you actually are. Who you

actually are only describes your immediate present position... But who you think you are will

determine your direction of motion.

Khatzumoto

Page 15: Just One (CSS Dev Conference keynote)

One new thing can change your identity

http://www.flickr.com/photos/jfolsom/5931303869/

Page 16: Just One (CSS Dev Conference keynote)

exercise person

http://www.flickr.com/photos/jblmpao/5837741476/

Page 17: Just One (CSS Dev Conference keynote)

I’m not an “exercise person” but not “not an exercise person.”

Page 18: Just One (CSS Dev Conference keynote)

It’s all a simple matter [of] self-fulfilling prophecy.

Auto-suggestion. You become it

because you said so. Khatzumoto

Page 19: Just One (CSS Dev Conference keynote)

Your identity empowers you to learn and do more.

Page 20: Just One (CSS Dev Conference keynote)

Transform yourself into a Sass user in four easy steps.

Page 21: Just One (CSS Dev Conference keynote)

Install Prepros from http://alphapixels.com/prepros/

Step 1

Page 22: Just One (CSS Dev Conference keynote)

Drag your web site’s folder into Prepros.

Step 2

Page 23: Just One (CSS Dev Conference keynote)

In this folder, create a file named styles.scss.

Step 3

Page 24: Just One (CSS Dev Conference keynote)

Write in it this:

Step 4

$green: #4F9F1A; $blue: #1D6783; $lightgray: #D6D6D6; body { background: $lightgray; color: $green; } a { color: $blue; } button { background: $blue; color: $lightgray; }

Page 25: Just One (CSS Dev Conference keynote)

http://www.flickr.com/photos/masterslate/3105936070/

Page 26: Just One (CSS Dev Conference keynote)

Thinking back to when I first learned CSS…

Page 27: Just One (CSS Dev Conference keynote)
Page 28: Just One (CSS Dev Conference keynote)

<font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#666666">

vs.

p { font-family: Verdana; font-size: 10px; color: #666666; }

Page 29: Just One (CSS Dev Conference keynote)

Why should I do it with CSS when I can do the same thing with <font> tags?

Zoe, circa 2002

Page 30: Just One (CSS Dev Conference keynote)

Why should I do it with Sass when I can do the same

thing with CSS?

Page 31: Just One (CSS Dev Conference keynote)

Give yourself time to learn [cool new thing] before it

becomes [standard thing].

Page 32: Just One (CSS Dev Conference keynote)

http://www.flickr.com/photos/adrians/37489866/

Page 33: Just One (CSS Dev Conference keynote)

You never learn a language. You just hear and learn

individual words. And if they all belong to one language, then we call that “knowing” a language, but that’s no more than a convenient

—and horribly misleading—shorthand. Khatzumoto

Page 34: Just One (CSS Dev Conference keynote)

browser tab guilt

http://www.flickr.com/photos/degerstrom/1512993275/

Page 35: Just One (CSS Dev Conference keynote)

Just pick one.

Page 36: Just One (CSS Dev Conference keynote)

The learning process is not a little necessary evil on your way to “real” life, it is your life. … And so if your learning

process is painful and boring then your life is painful and boring.

Your number one job is to make your life not suck.

Khatzumoto

Page 37: Just One (CSS Dev Conference keynote)

You can do anything if you stop trying to do everything.

Oliver Emberton

Page 38: Just One (CSS Dev Conference keynote)

1 ≫ 0

Page 39: Just One (CSS Dev Conference keynote)

http://www.flickr.com/photos/mthurman/2592723051/

Page 40: Just One (CSS Dev Conference keynote)

1 isn’t just slightly bigger than 0.

1 is infinitely bigger than 0. Because 1 is the start of everything.

While 0 is the path to nothing.

Page 41: Just One (CSS Dev Conference keynote)

Doing nothing is of a fundamentally different

character than doing something.

And doing something is of a fundamentally different character than doing nothing.

Page 42: Just One (CSS Dev Conference keynote)

Something (1, etc.) and nothing (0) are not the same; they’re not friends;

they’re not neighbors; they’re not cousins;

they don’t know each other;

they don’t even live in the same universe.

Khatzumoto

Page 43: Just One (CSS Dev Conference keynote)

Using Sass and not using Sass are totally different things.

Page 44: Just One (CSS Dev Conference keynote)

Why not learn something new?

Page 45: Just One (CSS Dev Conference keynote)

What I’m doing still works and I have two kids under 5.

Page 46: Just One (CSS Dev Conference keynote)

What I’m doing still works and I have two kids over 13.

Page 47: Just One (CSS Dev Conference keynote)

What I’m doing still works and I’m planning my wedding.

Page 48: Just One (CSS Dev Conference keynote)

What I’m doing still works and I just moved into a new house.

Page 49: Just One (CSS Dev Conference keynote)

What I’m doing still works and I’m taking care of my sick dad.

Page 50: Just One (CSS Dev Conference keynote)

What I’m doing still works and I’ll suck at this new thing.

Page 51: Just One (CSS Dev Conference keynote)

What I’m doing still works and I don’t have time to learn

everything about it.

Page 52: Just One (CSS Dev Conference keynote)

What I’m doing still works and I’m not a ____ person.

Page 53: Just One (CSS Dev Conference keynote)

What I’m doing still works and I’m not smart enough

to learn it.

Page 54: Just One (CSS Dev Conference keynote)

What I’m doing still works and I don’t have anyone

to help me.

Page 55: Just One (CSS Dev Conference keynote)

What I’m doing still works and I have no idea where to start.

Page 56: Just One (CSS Dev Conference keynote)

What I’m doing still works and I don’t want to make any

mistakes.

Page 57: Just One (CSS Dev Conference keynote)

failing

Page 58: Just One (CSS Dev Conference keynote)

Never compare your inside with somebody else’s outside.

Page 59: Just One (CSS Dev Conference keynote)

the natural-born genius

Page 60: Just One (CSS Dev Conference keynote)

Thomas Cole

Page 61: Just One (CSS Dev Conference keynote)
Page 62: Just One (CSS Dev Conference keynote)
Page 63: Just One (CSS Dev Conference keynote)

Vincent Van Gogh

Page 64: Just One (CSS Dev Conference keynote)

Van Gogh was not a natural-born art genius. He worked really hard to

make his art.

Page 65: Just One (CSS Dev Conference keynote)

Van Gogh did this grid copy thing

*Note: this is not a genuine Van Gogh piece

Page 66: Just One (CSS Dev Conference keynote)

And he used a perspective frame

Page 67: Just One (CSS Dev Conference keynote)

giants!

Page 68: Just One (CSS Dev Conference keynote)

I know how much I still have to learn myself,

but all the same I’m beginning to see light ahead of me and, one way or another, by practicing on my own, by learning

anything I can use from others.

I’ll continue to paint with passion. Vincent Van Gogh, October 22, 1883

Page 69: Just One (CSS Dev Conference keynote)

Fixing mistakes

Page 70: Just One (CSS Dev Conference keynote)

Leaving imperfect work

Page 71: Just One (CSS Dev Conference keynote)
Page 72: Just One (CSS Dev Conference keynote)

Creative people experiment a lot more,

therefore succeed a lot more, therefore fail a lot more.

Page 73: Just One (CSS Dev Conference keynote)

If you walk around with the idea that there are some people

who are so gifted—they have these wonderful things in their head,

but you’re not one of them, you’re just sort of a normal person,

you could never do anything like that— then you live a different kind of life.

Brian Eno

Page 74: Just One (CSS Dev Conference keynote)
Page 75: Just One (CSS Dev Conference keynote)

Innovation requires a mindset that rejects the

fear of failure and replaces that fear of failure with the

joy of exploration and experimental learning.

Dr. Edward D. Hess

Page 76: Just One (CSS Dev Conference keynote)

We also need to accept and embrace the concept of failure, not because failure is a good thing but

because it’s a natural part of the path of progress.

If you’re failing, at least that means you’re trying — not remaining on the outside of the arena, looking in.

Helen Walters

Page 77: Just One (CSS Dev Conference keynote)

some of my recent CSS mistakes

Page 78: Just One (CSS Dev Conference keynote)

Flexbox demo www.smoresday.us Use Chrome, Opera, Safari 7, or IE 10 for full effect

Page 79: Just One (CSS Dev Conference keynote)

.action

.component

Page 80: Just One (CSS Dev Conference keynote)

HTML without flexbox <form class="builder"> <div class="wrap"> <section class="component"> <section class="component"> <section class="component"> <section class="component"> </div> <section class="action"> </form>

Page 81: Just One (CSS Dev Conference keynote)

HTML for flexbox version

<form class="builder"> <section class="component"> <section class="component"> <section class="component"> <section class="component"> <section class="action"> </form>

Page 82: Just One (CSS Dev Conference keynote)

Allow boxes to wrap

.builder { display: flex; flex-wrap: wrap; justify-content: space-between; margin: 0 0 40px -20px; }

Page 83: Just One (CSS Dev Conference keynote)

Using flex to control width/height

.flex-item { flex: 1 0 100px; }

flex-grow flex-shrink flex-basis

Page 84: Just One (CSS Dev Conference keynote)

Defining the flex property

flex-grow how much flex item will grow relative to other items if extra space is available (proportion of extra space that it gets)

flex-shrink how much item will shrink relative to others if there is not enough space (proportion of overflow that gets shaved off)

flex-basis the initial starting size before free space is distributed (any standard width/height value, including auto)

Page 85: Just One (CSS Dev Conference keynote)

My first attempt

.component { flex: 1; } .action { flex: 1 1 100%; }

Zoe’s Brain Said: “Since .action starts out at 100%, it won’t have space to sit on the first line with the content preceding it, and will wrap to a second line.”

Page 86: Just One (CSS Dev Conference keynote)

Flexbox fail

Page 87: Just One (CSS Dev Conference keynote)

This fixed it

.component { flex: 1; margin-right: 1px; }

Page 88: Just One (CSS Dev Conference keynote)

/* this is needed to make .action wrap to

second line. why??? */

My comment on the 1px margin

Page 89: Just One (CSS Dev Conference keynote)

The hidden flex-basis value

.component { flex: 1 1 0px; } .action { flex: 1 1 100%; }

Reality: Since it’s fine for each .component to shrink to only 0px wide, a 100% wide element can and will sit on the same line as all the components.

Page 90: Just One (CSS Dev Conference keynote)

Fixing flex-basis to force the wrap

.component { flex: 1 1 200px; } .action { flex: 1 1 100%; }

Fixed: .action will always wrap to new line, and .components will wrap to additional lines when there’s less space than their combined flex-basis values (plus margin, etc.).

Page 91: Just One (CSS Dev Conference keynote)

This was not just a case of succeeding despite a mistake.

It was a case of succeeding because of a mistake.

Page 92: Just One (CSS Dev Conference keynote)

mistake round two

Page 93: Just One (CSS Dev Conference keynote)

flex can be proportional

Setting flex-grow/flex-shrink to different values can make flex items size

themselves relative to each other

flex: 1; flex: 1; flex: 2;

Page 94: Just One (CSS Dev Conference keynote)

Trying to make one twice as wide

.gallery-item { flex: 1 0 200px; } .feature { flex: 2 0 200px; }

Page 95: Just One (CSS Dev Conference keynote)

Expected rendering

Page 96: Just One (CSS Dev Conference keynote)

Actual rendering

Page 97: Just One (CSS Dev Conference keynote)

What I figured out

Having widths be in multiples of each other only works if flex-basis is 0

flex: 1 0 0px; flex: 1 0 0px; flex: 2 0 0px;

Page 98: Just One (CSS Dev Conference keynote)

If flex-basis isn’t 0px…

…the widths may not end up as you expect

The third box gets twice as much of the extra, but that doesn’t make it twice as

wide overall

flex: 1 0 10px; flex: 1 0 10px; flex: 2 0 10px;

10px + 5px extra = 15px 10px + 5px extra = 15px 10px + 10px extra = 20px

if 50px available

Page 99: Just One (CSS Dev Conference keynote)

It’s because flex-basis = 200px

Page 100: Just One (CSS Dev Conference keynote)

I really get flex-basis now

Page 101: Just One (CSS Dev Conference keynote)

steader.com

Page 102: Just One (CSS Dev Conference keynote)

I realize now, I should have gone looking for an audience first. If I'd taken the same

amount of time to connect with passionate people, generate interest, and gather

contact info, I would have known if it was worth it to build an online community for

them (and even what, specifically, to build).

Page 103: Just One (CSS Dev Conference keynote)

But, as I've been doing since I was 15, I saw a problem/need and thought

“oh, I could build a website for that.”

Page 104: Just One (CSS Dev Conference keynote)

The work that needs to be done to make this project a reality is the harder (for me)

work of connecting with people and gathering them together.

I see that now, but there's no clear road map for that.

So, I'm making it up. Jeremy Smith

Page 105: Just One (CSS Dev Conference keynote)

Be willing to fail…

Page 106: Just One (CSS Dev Conference keynote)

…and then tell us about it.

Page 107: Just One (CSS Dev Conference keynote)

Vulnerability is not weakness. And that myth is profoundly dangerous.

Dr. Brené Brown

Page 108: Just One (CSS Dev Conference keynote)

Vulnerability is the birthplace of innovation, creativity, and change.

To create is to make something that has never existed before.

There's nothing more vulnerable than that.

Dr. Brené Brown

Page 109: Just One (CSS Dev Conference keynote)

Try to shift “Who can I blame?”

to “Who can I teach?”

Page 110: Just One (CSS Dev Conference keynote)

http://www.flickr.com/photos/stilleben/49644790/

Page 111: Just One (CSS Dev Conference keynote)

We all do imperfect work

Page 112: Just One (CSS Dev Conference keynote)

/* this is needed to make .action wrap to

second line. why??? */

Page 113: Just One (CSS Dev Conference keynote)

The evidence in the comments

// Dear future me. Please forgive me. // I can't even begin to express how sorry I am. // I am not sure if we need this, but too scared to delete. // Magic. Do not touch.

Page 114: Just One (CSS Dev Conference keynote)

Revisiting comments

// TODO: Fix this. Fix what? // somedev1 - 6/7/02 Adding temporary tracking of Login screen // somedev2 - 5/22/07 Temporary my ass

Page 115: Just One (CSS Dev Conference keynote)
Page 116: Just One (CSS Dev Conference keynote)

YAY! Mediocrity!

Page 117: Just One (CSS Dev Conference keynote)

YAY! Being human!

Page 118: Just One (CSS Dev Conference keynote)

Hiding mistakes seems to be human nature

Page 119: Just One (CSS Dev Conference keynote)

But sharing mistakes has benefits

Page 120: Just One (CSS Dev Conference keynote)

humanize empathize

humble

Page 121: Just One (CSS Dev Conference keynote)

accepting

Page 122: Just One (CSS Dev Conference keynote)

We can sometimes be web design snobs.

Page 123: Just One (CSS Dev Conference keynote)
Page 124: Just One (CSS Dev Conference keynote)

http://www.flickr.com/photos/crazyunclejoe/2540061587/

Page 125: Just One (CSS Dev Conference keynote)

It doesn’t matter how someone does his/her work

if the end result rocks

Page 126: Just One (CSS Dev Conference keynote)

99% of the population of the world doesn’t know CSS.

Zoe’s made up statistic

Page 127: Just One (CSS Dev Conference keynote)

holes != stupidity, lack of talent

Page 128: Just One (CSS Dev Conference keynote)

Do the best with what you know, keep learning one new thing, and there’s nothing to judge.

Page 129: Just One (CSS Dev Conference keynote)

Impostor phenomenon, explained simply, is the experience of feeling like a fraud (or impostor) while participating in communities of highly skilled participants even when you are

of a level of competence to match those around you.

Angelina Fabbro

Page 130: Just One (CSS Dev Conference keynote)

impostor!

Page 131: Just One (CSS Dev Conference keynote)

Let’s use our confidence in our skills to build others up and bravely admit our own

shortcomings.

Page 132: Just One (CSS Dev Conference keynote)

http://www.flickr.com/photos/visentico/3957547298/

Page 133: Just One (CSS Dev Conference keynote)

change 0 to 1

Page 134: Just One (CSS Dev Conference keynote)

thank you

http://www.flickr.com/photos/rosswebsdale/2510946638/