Paco Viñoly, Designing in a Developer World, WarmGun 2013

31
Hi. A bit about me. Presentation has two parts. 1. Case Study of a project I can’t show you but I believe captures the spirit of how we work at Square. This part will be fast. 2. Guidelines that illustrate how important the marriage of Design and Engineering is at Square. We’re still a startup. This may be a dierent kind of presentation but I hope it works for you all. Let’s start with a short video.

description

Designing in a Developer World: The Secrets Behind Working with Engineers

Transcript of Paco Viñoly, Designing in a Developer World, WarmGun 2013

Page 1: Paco Viñoly, Designing in a Developer World, WarmGun 2013

Hi. A bit about me. Presentation has two parts. 1. Case Study of a project I can’t show you but I believe captures the spirit of how we work at Square. This part will be fast. 2. Guidelines that illustrate how important the marriage of Design and Engineering is at Square. We’re still a startup. This may be a different kind of presentation but I hope it works for you all. Let’s start with a short video.

Page 2: Paco Viñoly, Designing in a Developer World, WarmGun 2013
Page 3: Paco Viñoly, Designing in a Developer World, WarmGun 2013

HOW TO DRAW A STRAIGHT LINE

This is what I’d like to talk about first. It serves to illustrate how the most basic design task can’t happen without an engineer and how both sides work together and push each other to ensure the most perfect results.

Page 4: Paco Viñoly, Designing in a Developer World, WarmGun 2013

Inevitable you will hear a presentation that talks about design being how you get from point A to point B. Instead of talking in broad generalizations I decided to focus on that specific straight line.

Page 5: Paco Viñoly, Designing in a Developer World, WarmGun 2013

This is how I draw a straight line. Not very good, right?

Page 6: Paco Viñoly, Designing in a Developer World, WarmGun 2013

If we go back in history, Cave-person drawings were not much better. Straight as an arrow had a different meaning back in 5,000 B.C. If we look at what they were doing it’s not bad given that they didn’t have rulers.

Page 7: Paco Viñoly, Designing in a Developer World, WarmGun 2013

Egyptians got a little better. The designers of the great pyramids got a little help from the engineers.

Page 8: Paco Viñoly, Designing in a Developer World, WarmGun 2013

who invented the plumb line and made one of the seven wonders possible.

Page 9: Paco Viñoly, Designing in a Developer World, WarmGun 2013

y = mx + b

then we get a mathematical formula for it with Euclid and all the theory behind that.

Page 10: Paco Viñoly, Designing in a Developer World, WarmGun 2013

at this point you might be thinking, i got a plumb line. i can figure out some kind of saw. let’s make a ruler and get on with it. and this is where the case study begins. we obsess about the details and we want to make sure that we create experiences that are as simple and as transparent as possible for our customers. a ruler is just not good enough.

Page 11: Paco Viñoly, Designing in a Developer World, WarmGun 2013

PRECISE

a ruler is precise

Page 12: Paco Viñoly, Designing in a Developer World, WarmGun 2013

ACCURATE

a ruler is not accurate. we need to be accurate. there’s a whole other side to design at Square which deals with the Wabi-Sabi aesthetic or imperfectness, but that’s a different case study.

Page 13: Paco Viñoly, Designing in a Developer World, WarmGun 2013

So, in the 1800s a french engineer named Peaucellier invented the Peaucellier–Lipkin linkage. The first machine to draw a perfectly straight line.

Page 14: Paco Viñoly, Designing in a Developer World, WarmGun 2013

this is how the system works. finally we had an accurate line.

Page 15: Paco Viñoly, Designing in a Developer World, WarmGun 2013

Then we got computers and this is how they draw lines There are a few ways to they do it. Bresenham's line algorithm — optimized to use only additions (i.e. no divisions or multiplications); it also avoids floating-point computations. this is where we get to present day at Square. we are developing a new interface that calls for a straight line. and we begin by questioning how can we make the best possible straight line. the engineers and designer sit side by side to make this happen. btw, i’m not the engineer so excuse me if i don’t do justice to their contribution.

Page 16: Paco Viñoly, Designing in a Developer World, WarmGun 2013

1  2  3  4  5  6  7  8  9  10  11  12  13  14

#html  .example      hr

html. this is option 1. we would do this 15 years ago.

Page 17: Paco Viñoly, Designing in a Developer World, WarmGun 2013

#css-­‐border  .example      .css-­‐border  !

!

.css-­‐border      border-­‐bottom:  1px  solid  black

1  2  3  4  5  6  7  8  9  10  11  12  13  14

css. then we did this. both begin to break down in certain scenarios, particularly when dealing with iOS retina devices.

Page 18: Paco Viñoly, Designing in a Developer World, WarmGun 2013

#css-­‐shadow  .example      .css-­‐shadow  !

!

.css-­‐shadow      box-­‐shadow:  0  1px  1px  -­‐1px  black

1  2  3  4  5  6  7  8  9  10  11  12  13  14

css box shadow. So to correct for this engineers came up with the css box shadow. is everyone following this? this is basically a 1 pixel line with a cropped shadow that comes close to recreating accurately in Retina, but not quite.

Page 19: Paco Viñoly, Designing in a Developer World, WarmGun 2013

#svg  .example      svg  xmlns="http://www.w3.org/2000/svg"  version="1.1"          line  x1="0"  y1="0"  x2="100%"  y2="0"  !

svg      width:  100%      height:  1px      line          stroke-­‐width:  1          stroke:  black

1  2  3  4  5  6  7  8  9  10  11  12  13  14

svg. then this happens. this is a true 1 pixel Retina line. it is perfect and looks amazing.

Page 20: Paco Viñoly, Designing in a Developer World, WarmGun 2013

#html

#css-­‐border

#css-­‐shadow

#svg

this is what we knew we wanted but we had to keep at it until we achieved the best possible result.

Page 21: Paco Viñoly, Designing in a Developer World, WarmGun 2013

this is our case study and it’s going to be great, when i launches. :-)

Page 22: Paco Viñoly, Designing in a Developer World, WarmGun 2013

designgineers

engagedengagedLet me be specific about how we get that done: The key takeaway from this deck is that design and engineering cannot exists without the other. Nothing happens without an engineer. They make it all happen. It’s about how to make the designs not only pixel perfect, but come to life like you couldn’t even imagine.

Page 23: Paco Viñoly, Designing in a Developer World, WarmGun 2013

engaged

s

understanding

s

- kickoff the project with everyone in the room - the days of waterfall methodology seem ancient to me. - sit next to each other. - design in code.

Page 24: Paco Viñoly, Designing in a Developer World, WarmGun 2013

kickoff the project with everyone in

the roommethodologies are outdated

sit next to each other design in codesit next to each other

methodologies are outdated

design in code

kickoff the project with

everyone in the

s

understanding- kickoff the project with everyone in the room - the days of waterfall methodology seem ancient to me. - sit next to each other. - design in code.

Page 25: Paco Viñoly, Designing in a Developer World, WarmGun 2013

understanding

s

understanding

s

- define the audience, the goals and the metrics. performance is as much a part of the experience as is the photography. - understand form factors and breakpoints - design every state - explain the core of what you’re trying to accomplish, not just your proposed solution. !

Page 26: Paco Viñoly, Designing in a Developer World, WarmGun 2013

define the audience, goals,

and metrics

understand form factors and breakpoints

design every state

defend your design

design every state

defend your design

understand form factors and breakpoints

define the audience, goals,

and metrics

s

understanding- define the audience, the goals and the metrics. performance is as much a part of the experience as is the photography. - understand form factors and breakpoints - design every state - explain the core of what you’re trying to accomplish, not just your proposed solution.

Page 27: Paco Viñoly, Designing in a Developer World, WarmGun 2013

communication

s

understanding

s

Common Language - typography, styles, the grid. the framework for what you’re building. the system. - annotate as much as they need but no more. - know what ‘jank’ means, etc. - understand bugzilla, jira, etc., know how to QA and submit feedback

Page 28: Paco Viñoly, Designing in a Developer World, WarmGun 2013

the framework of what you’re

buildingannotate more than they need

know what ‘jank’ means

know how to submit feedback

know what ‘jank’ means

know how to submit feedback

annotate more than they need

the framework of what you’re

building

s

understandingCommon Language - typography, styles, the grid. the framework for what you’re building. the system. - annotate as much as they need but no more. - know what ‘jank’ means, etc. - understand bugzilla, jira, etc., know how to QA and submit feedback

Page 29: Paco Viñoly, Designing in a Developer World, WarmGun 2013

don’ts

s

understanding

s

define the scope and stick to it. don’t compromise. don’t compress their timeline. don’t say it’s final if it’s not.

Page 30: Paco Viñoly, Designing in a Developer World, WarmGun 2013

define the scope and stick to it

don’t compromise

don’t compress their timeline

don’t say it’s final if it’s not

don’t say it’s final if it’s not

don’t compress their timeline

don’t compromise

define the scope and stick to it

s

understandingdefine the scope and stick to it. don’t compromise. don’t compress their timeline. don’t say it’s final if it’s not.

Page 31: Paco Viñoly, Designing in a Developer World, WarmGun 2013

thank you