104
With Chris Castiglione / @castig

Programming for Non-programmers PFNP @ Razorfish

Embed Size (px)

DESCRIPTION

If you're running a tech start-up, it's essential that you familiarize yourself with the fundamentals of web development. Ultimately knowing how to "talk to the talk" will help you communicate better with developers, and overall just look really cool.

Citation preview

Page 1: Programming for Non-programmers PFNP @ Razorfish

With Chris Castiglione / @castig

Page 2: Programming for Non-programmers PFNP @ Razorfish

@CASTIG

Page 3: Programming for Non-programmers PFNP @ Razorfish

WHAT IS PROGRAMMING?(AND WHY DO I CARE?)

Page 4: Programming for Non-programmers PFNP @ Razorfish

WHAT IS PROGRAMMING … AND WHY DO I CARE?

Page 5: Programming for Non-programmers PFNP @ Razorfish

A set of instructions used to solve a problem

PROGRAMMING:

Page 6: Programming for Non-programmers PFNP @ Razorfish

PEANUT BUTTER & JELLY SANDWICH

Page 7: Programming for Non-programmers PFNP @ Razorfish

PEANUT BUTTER & JELLY SANDWICH

find two slices of bread

Page 8: Programming for Non-programmers PFNP @ Razorfish

PEANUT BUTTER & JELLY SANDWICH

find two slices of bread

spread peanut butter on one slice of bread

Page 9: Programming for Non-programmers PFNP @ Razorfish

PEANUT BUTTER & JELLY SANDWICH

find two slices of bread

spread peanut butter on one slice of bread

spread jelly on the other slice of bread

Page 10: Programming for Non-programmers PFNP @ Razorfish

PEANUT BUTTER & JELLY SANDWICH

find two slices of bread

spread peanut butter on one slice of bread

spread jelly on the other slice of bread

put the two slices of bread together

Page 11: Programming for Non-programmers PFNP @ Razorfish

PROBLEM SOLVED!

Page 12: Programming for Non-programmers PFNP @ Razorfish

A set of instructions used to solve a problem

PROGRAMMING:

Page 13: Programming for Non-programmers PFNP @ Razorfish

WHY ARE WE HERE? !

Page 14: Programming for Non-programmers PFNP @ Razorfish

WHY ARE WE HERE? TO LEARN TO THINK LIKE A DEVELOPER

Page 15: Programming for Non-programmers PFNP @ Razorfish

SHOULD EVERYONE LEARN PROGRAMMING?

Page 16: Programming for Non-programmers PFNP @ Razorfish
Page 17: Programming for Non-programmers PFNP @ Razorfish

– DOUGLAS RUSHKOFF, Program or be Programmed

IF WE DON’T LEARN TO PROGRAM, WE RISK BEING PROGRAMMED OURSELVES…

PROGRAM OR BE PROGRAMMED.

Page 18: Programming for Non-programmers PFNP @ Razorfish

– JEFF ATWOOD, codinghorror.com

IF WE DON’T LEARN TO PLUMB, WE RISK BEING PLUMBED OURSELVES…

PLUMB OR BE PLUMBED.

Page 19: Programming for Non-programmers PFNP @ Razorfish

WHAT’S YOUR PROBLEM?

Page 20: Programming for Non-programmers PFNP @ Razorfish

1. WEB DEV PROCESSUNDERSTAND THE PROBLEM

Page 21: Programming for Non-programmers PFNP @ Razorfish

LET’S TAKE A HIKE!

Page 22: Programming for Non-programmers PFNP @ Razorfish

LET’S TAKE A HIKE!

Page 23: Programming for Non-programmers PFNP @ Razorfish

LET’S TAKE A HIKE!10 Hours? Great!

Page 24: Programming for Non-programmers PFNP @ Razorfish

DAY 1

Page 25: Programming for Non-programmers PFNP @ Razorfish

DAY 1 … 2 Hours Later

Page 26: Programming for Non-programmers PFNP @ Razorfish

DAY 2 What the hell? This wasn’t on the map!

Page 27: Programming for Non-programmers PFNP @ Razorfish

DAY 5 Holy S!*T we didn’t even leave the Bay Area yet?!??

I hate everything.

Page 28: Programming for Non-programmers PFNP @ Razorfish

“– PAUL GRAHAM, Y Combinator

NEVER WRITE A LINE OF CODE NO ONE ASKED YOU TO WRITE.

Page 29: Programming for Non-programmers PFNP @ Razorfish

PRODUCT DEVELOPMENT

Minimum features needed to test your assumptions

Validate your idea

MVP: MINIMAL VIABLE PRODUCT

Page 30: Programming for Non-programmers PFNP @ Razorfish
Page 31: Programming for Non-programmers PFNP @ Razorfish
Page 32: Programming for Non-programmers PFNP @ Razorfish
Page 33: Programming for Non-programmers PFNP @ Razorfish
Page 34: Programming for Non-programmers PFNP @ Razorfish

HYPOTHESIS: If we know where people are falling off in the class, then we can improve completion rates.

Page 35: Programming for Non-programmers PFNP @ Razorfish
Page 36: Programming for Non-programmers PFNP @ Razorfish
Page 37: Programming for Non-programmers PFNP @ Razorfish

THE WORST THING IS TO BUILD SOMETHING THAT NOBODY WANTS.

Page 38: Programming for Non-programmers PFNP @ Razorfish

WEB MASTER

WEB DEVELOPER WEB DESIGNER

FRONT-END BACK-END VISUAL DESIGNERUSER EXPERIENCE

User-Interface Information ArchitectureDatabase Expert

Growth HackerSecurity Testing

HTML5 Animation

SEO Expert Usability

Page 39: Programming for Non-programmers PFNP @ Razorfish

USER-EXPERIENCE

DESIGNER DEVELOPER

Page 40: Programming for Non-programmers PFNP @ Razorfish

USER-EXPERIENCE

DESIGNER DEVELOPER

Page 41: Programming for Non-programmers PFNP @ Razorfish

COMPUTER SCIENCE

Page 42: Programming for Non-programmers PFNP @ Razorfish

A TYPICAL WEB DEVELOPMENT CYCLE

User-Experience (UX)

Information Architecture (IA)

Visual Design Development

Page 43: Programming for Non-programmers PFNP @ Razorfish

A TYPICAL WEB DEVELOPMENT CYCLE

User-Experience (UX)

Information Architecture (IA)

Visual Design Development

Page 44: Programming for Non-programmers PFNP @ Razorfish

USER EXPERIENCE (UX)

Who are our users?

What are the users’ goals?

What does the program do when there are errors?

What are the biggest risks?

Page 45: Programming for Non-programmers PFNP @ Razorfish
Page 46: Programming for Non-programmers PFNP @ Razorfish

CASE STUDY: IDEAS, FEATURES & GOALS

Page 47: Programming for Non-programmers PFNP @ Razorfish

I WANT ALL OF THE FEATURES!

Page 48: Programming for Non-programmers PFNP @ Razorfish

WHO IS OUR USER?

Page 49: Programming for Non-programmers PFNP @ Razorfish

CASE STUDY: USER RESEARCH

Page 50: Programming for Non-programmers PFNP @ Razorfish

CASE STUDY: PERSONAS

MARY DICKINSON, NORTH DAKOTA

JOHN LONG ISLAND, NEW YORK

Page 51: Programming for Non-programmers PFNP @ Razorfish

PERSONAS: WHAT JOHN CARES ABOUT

Has 5+ computers in his home but says he

would gamble on his iPad or a PC netbook

running Firefox primarily.

Has an iPhone 4, can’t wait to convince his

wife he needs the new one. Doesn’t think

he would gamble on the iPhone but could

see wanting to check his account.

Has a Facebook and Twitter profile but

would not want to use it to setup an

account. He would like to be able to see

who of his Twitter and Facebook friends is

playing the game however.

Watches video online, sports clips mostly.

Pays for Netflix.

Does most, if not all, shopping online out

of convenience and selection.

Page 52: Programming for Non-programmers PFNP @ Razorfish

PERSONAS: WHAT JOHN CARES ABOUT

This isn’t sketchy is it?

How can I get my friends involved?

How often are the races on the weekends?

How good quality are the videos?

How will the load time be on my iPad?

How much do I need to play?

How much could I win?

Do I need to know about horses to make smart bets?

Page 53: Programming for Non-programmers PFNP @ Razorfish

INFORMATION ARCHITECTURE

Page 54: Programming for Non-programmers PFNP @ Razorfish

A TYPICAL WEB DEVELOPMENT CYCLE

User-Experience (UX)

Information Architecture (IA)

Visual Design Development

Page 55: Programming for Non-programmers PFNP @ Razorfish

Wireframes

Flow Documents

Site Maps

A model or blueprint for the site, resulting in deliverables such as:

INFORMATION ARCHITECTURE (IA)

Page 56: Programming for Non-programmers PFNP @ Razorfish

IA: THE BLUEPRINT

SITEMAPS & FLOW DIAGRAMS

WIREFRAMES & CONTENT

Establish flow and orderDefine the user interaction and ease the handoff process to the creative team

Page 57: Programming for Non-programmers PFNP @ Razorfish

BRAINSTORMING

Page 58: Programming for Non-programmers PFNP @ Razorfish

BRAINSTORMING

Page 59: Programming for Non-programmers PFNP @ Razorfish

TWITTER PROTOTYPE

Page 60: Programming for Non-programmers PFNP @ Razorfish

LOW FIDELITY WIREFRAMES

Page 61: Programming for Non-programmers PFNP @ Razorfish

HIGH FIDELITY WIREFRAMES

Page 62: Programming for Non-programmers PFNP @ Razorfish

SMALL SITE

Page 63: Programming for Non-programmers PFNP @ Razorfish

LARGE SITE

Page 64: Programming for Non-programmers PFNP @ Razorfish

FUNCTIONAL

Page 65: Programming for Non-programmers PFNP @ Razorfish

WIREFRAMES

Homepage Blog 2 Column Top

1 Column Bottom

2 Column Top

2 Column Bottom

Page 66: Programming for Non-programmers PFNP @ Razorfish

FLOW DIAGRAM

Page 67: Programming for Non-programmers PFNP @ Razorfish

FLOW DIAGRAM

Page 68: Programming for Non-programmers PFNP @ Razorfish

IPHONE WIREFRAMES

Page 69: Programming for Non-programmers PFNP @ Razorfish

FOURSQUARE

Page 70: Programming for Non-programmers PFNP @ Razorfish

FOURSQUARE

Page 71: Programming for Non-programmers PFNP @ Razorfish

DESIGN. IS ALL ABOUT WORDS.

Page 72: Programming for Non-programmers PFNP @ Razorfish

VISUAL DESIGN

Page 73: Programming for Non-programmers PFNP @ Razorfish

A TYPICAL WEB DEVELOPMENT CYCLE

User-Experience (UX)

Information Architecture (IA)

Visual Design

Development

Page 74: Programming for Non-programmers PFNP @ Razorfish

VISUAL DESIGNWireframes become design comps

Page 75: Programming for Non-programmers PFNP @ Razorfish

VISUAL DESIGNWireframes become design comps

Homepage Blog Listen

Page 76: Programming for Non-programmers PFNP @ Razorfish

STYLE GUIDE

Style Tile Final

source: www.risk-show.com

Page 77: Programming for Non-programmers PFNP @ Razorfish

DEVELOPMENT

Page 78: Programming for Non-programmers PFNP @ Razorfish

A TYPICAL WEB DEVELOPMENT CYCLE

User-Experience (UX)

Information Architecture (IA)

Visual Design Development

Page 79: Programming for Non-programmers PFNP @ Razorfish

A TYPICAL WEB DEVELOPMENT CYCLE

User-Experience (UX)

Information Architecture (IA)

Visual Design

Development

Page 80: Programming for Non-programmers PFNP @ Razorfish

DEVELOPMENTComps become graphics & real text

Page 81: Programming for Non-programmers PFNP @ Razorfish

DEVELOPMENTComps become graphics & real text

mailer.png

general-assembly-logo.png

social-media.png

Real Text: General Assembly offers classes, and events at the intersection of technology, design, and entrepreneurship. Together with our members, thought leaders, and seasoned practitioners, we offer a robust curriculum focused on

Page 82: Programming for Non-programmers PFNP @ Razorfish

FRONT-END DEVELOPMENT (NOUN)

Page 83: Programming for Non-programmers PFNP @ Razorfish

BACK-END DEVELOPMENT (NOUN)

Page 84: Programming for Non-programmers PFNP @ Razorfish

DEVELOPMENTThe development process can be broken into two separate responsibilities:

Page 85: Programming for Non-programmers PFNP @ Razorfish

DEVELOPMENTThe development process can be broken into two separate responsibilities:

FRONT-END WEB DEVELOPMENT

1. How things look to the user

2. Involves: Images, Content & Structure

3. HTML, CSS & JavaScript

BACK-END WEB DEVELOPMENT

1. How things work

2. Involves: “business logic” and data

3. Ruby, PHP, C++, Java, etc.

Page 86: Programming for Non-programmers PFNP @ Razorfish

±±±

ZAPPOS.COM

PROGRAMMING FOR NON-PROGRAMMERS

FRONT-END

homepage cartregistration

BACK-END

process.php

Page 87: Programming for Non-programmers PFNP @ Razorfish

PLACE YOUR BETS!

Page 88: Programming for Non-programmers PFNP @ Razorfish

PROGRAMMING FOR NON-PROGRAMMERS

TIMELINE: THE BLACK EYED PEAS• Main task: blog

• Agency project

• Large budget

• 6 page content site

Page 89: Programming for Non-programmers PFNP @ Razorfish

PROGRAMMING FOR NON-PROGRAMMERS

IA

DESIGN

UX

DEVELOPMENT

30 HOURS

Timeline: The Black Eyed Peas

40 HOURS

60 HOURS

120+ HOURS

Total: 250+ Hours

Page 90: Programming for Non-programmers PFNP @ Razorfish

PROGRAMMING FOR NON-PROGRAMMERS

TIMELINE: THE STORY STUDIO• Main task: classes

• Consulting

• Low budget

• 4 page navigation site

Page 91: Programming for Non-programmers PFNP @ Razorfish

PROGRAMMING FOR NON-PROGRAMMERSTimeline: The Story Studio

UX IA

DEVELOPMENT

DESIGN

8-12 HOURS

10 HOURS

35 HOURS

Total: 57+ Hours

Page 92: Programming for Non-programmers PFNP @ Razorfish

PROGRAMMING FOR NON-PROGRAMMERS

TIMELINE: DERBY JACKPOT• Main task: an online horse gambling platform

• Start-up Consulting

• Decent-sized budget

• High risk: APIs

Page 93: Programming for Non-programmers PFNP @ Razorfish

PROGRAMMING FOR NON-PROGRAMMERS

IA

DESIGN

UX

DEVELOPMENT

45 HOURS

Timeline: Derby Jackpot to launch in June

45 HOURS

120 HOURS

500+ HOURS

Total: 700+ Hours

Page 94: Programming for Non-programmers PFNP @ Razorfish
Page 95: Programming for Non-programmers PFNP @ Razorfish

PROGRAMMING FOR NON-PROGRAMMERS

IA

DESIGN

UX

DEVELOPMENT

Timeline: One Month

FOREVER +

Total: 700+ Hours

FOREVER +

FOREVER +

FOREVER +

Page 96: Programming for Non-programmers PFNP @ Razorfish
Page 97: Programming for Non-programmers PFNP @ Razorfish
Page 98: Programming for Non-programmers PFNP @ Razorfish

MY REQUEST FOR AN ESTIMATE

Page 99: Programming for Non-programmers PFNP @ Razorfish

GUMROAD EXAMPLE SITE

Page 100: Programming for Non-programmers PFNP @ Razorfish

MIKE’S REPLY

Page 101: Programming for Non-programmers PFNP @ Razorfish

ONE MONTH HTML

The easiest way to learn HTML/CSS - Just 30 minutes a day, for 30 days

www.onemonth.com

Page 102: Programming for Non-programmers PFNP @ Razorfish

ONE MONTH RAILS

The easiest way to learn Ruby on Rails - Just 30 minutes a day, for 30 days

www.onemonth.com

Page 103: Programming for Non-programmers PFNP @ Razorfish

ONE MONTH GROWTH HACKING

The easiest way to learn Growth Hacking & Digital Marketingwww.onemonth.com

Page 104: Programming for Non-programmers PFNP @ Razorfish

THANK YOUChris Castiglione @castig chris [at] onemonth.com