prototyping with framer.js

45
Prototyping with Framer.js Juan Sanchez Creative Director at Tack Mobile

Upload: tack-mobile

Post on 01-Dec-2014

553 views

Category:

Design


0 download

DESCRIPTION

Presentation on prototyping with Framer.js originally given at Denver Full Stack Meetup October 2014.

TRANSCRIPT

Page 1: Prototyping with Framer.js

Prototyping with Framer.jsJuan Sanchez Creative Director at Tack Mobile

Page 2: Prototyping with Framer.js

tA Shared Workspace, Now Open at TAXI

assembly.ws [email protected]

Page 3: Prototyping with Framer.js

PROTOTYPING IS A KEY PART OF THE CREATIVE PROCESS

Page 4: Prototyping with Framer.js

WHY PROTOTYPE?

Page 5: Prototyping with Framer.js

Static screens aren’t enough

Page 6: Prototyping with Framer.js

Diagrams get you half way there

Photo by @JanLosert

Page 7: Prototyping with Framer.js

Nothing beats direct interaction

Video by Google+ Photos

Page 8: Prototyping with Framer.js

Test more than ideas

Page 9: Prototyping with Framer.js

Get feedback from more sources

Page 10: Prototyping with Framer.js

Refine & maintain fidelity

Page 11: Prototyping with Framer.js

“A prototype is worth a thousand meetings.”

Or, pictures.

Page 12: Prototyping with Framer.js

PROTOTYPING CAN TAKE MANY FORMS

Page 13: Prototyping with Framer.js

Paper

There’s a range of fidelity

POP

InVision Proto.io Flinto FieldTest

Edge Animate

After Effects

Briefs Axure

Quartz Composer Avocado Origami

Framer.js

Pixate

Native

LOW HIGH

jQuery Mobile Sencha

Quartz Code

Page 14: Prototyping with Framer.js

Different goals dictate the tool

Page 15: Prototyping with Framer.js

LET’S TALK ABOUT FRAMER.JS

Page 16: Prototyping with Framer.js

Framer.js is an open source JavaScript framework for rapid

prototyping

Page 17: Prototyping with Framer.js

Framer.js is an open source JavaScript framework for rapid

prototyping

Page 18: Prototyping with Framer.js

Framer.js is an open source JavaScript framework for rapid

prototyping

Page 19: Prototyping with Framer.js

Great documentation

Page 20: Prototyping with Framer.js

Tools

Generator

Studio

Page 21: Prototyping with Framer.js

Use your tool of choice

Page 22: Prototyping with Framer.js

Great community

Page 23: Prototyping with Framer.js

Easy to share a prototypes

Page 24: Prototyping with Framer.js

GETTING STARTED WITH FRAMER.JS

Page 25: Prototyping with Framer.js

Framerjs.com

Page 26: Prototyping with Framer.js

Core Components

Layers

Animations

States

Events

And more…

Page 27: Prototyping with Framer.js

Layers

# Create a layer layerA = new Layer backgroundColor:”#0092D2", x:0, y:0, width:100, height:100

Page 28: Prototyping with Framer.js

Layer Types

Page 29: Prototyping with Framer.js

Layer Hierarchy

# Two ways to define hierarchy layerB.superLayer = layerA layerA.addSubLayer(layerB)

LayerA

LayerB

Page 30: Prototyping with Framer.js

Animation

layerA.animate properties: opacity: 0.5 curve: "ease" repeat: 1 delay: 2 time: 1

Page 31: Prototyping with Framer.js

Easing Curves

Page 32: Prototyping with Framer.js

States

# The default state layerA = new Layer opacity:1 !# A new state titled "fade" layerA.states.add fade: {opacity:.5}

default fade

Page 33: Prototyping with Framer.js

Events

Page 34: Prototyping with Framer.js

Events & States

# Toggle states on click layerA.on Events.Click, -> # Cycle through all states imageLayer.states.next() ! # Cycle through chosen states imageLayer.states.next(“spin","fade") ! # Jump to a specific state imageLayer.states.switch "spin"

Page 35: Prototyping with Framer.js

Dragging

# Make the layer draggable layerA.draggable.enabled = true # Set dragging speed layerA.draggable.speedX = 1 !# Prevent vertical dragging layerA.draggable.speedY = 0

Page 36: Prototyping with Framer.js

Scrolling

# The superLayer layerA = new Layer height:100 !# The subLayer layerB = new Layer height:200, superLayer:layerA !# Enable scrolling on the superLayer layerA.scroll = true

Page 37: Prototyping with Framer.js

Extend with other frameworks

Add parallax

Add maps

Use real data

Other touch events

Page 38: Prototyping with Framer.js

PUTTING IT ALL TOGETHER

Page 39: Prototyping with Framer.js

Something simple

Page 40: Prototyping with Framer.js

More complex

Page 41: Prototyping with Framer.js

Something advanced

Page 42: Prototyping with Framer.js

A workflow example

Page 43: Prototyping with Framer.js

Some other helpful tools

iOS Simulator Reflector ScreenFlow

MAMP Transmit

Page 44: Prototyping with Framer.js

WHY FRAMER.JS?

Page 45: Prototyping with Framer.js

QUESTIONS?