technology and programming methods

Post on 11-Jun-2015

181 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

A presentation for designers that reviews a range of strategies for being successful at technology and programming projects. This presentation uses a project I worked on as an example of how to approach technical challenges. The Infiniti Interactive Mirror was developed by Nikolai Cornell (a former student) while he was at George P. Johnson, and broke significant ground in several areas. Nikolai brought me in to develop the sensor system for the gestural interactions, and advise on the interaction design.

TRANSCRIPT

Technology & Programming Methods

Philip van Allen

Work Smarter

Work Smarter

There is no “right way,” but there are certainly smarter ways

Ask others how they have successes

Be reflective about your process and improve

Example Project: Infiniti Interactive Mirrorshttp://www.nikolaicornell.com/Infiniti-Interactive-Mirrorshttp://www.interactivemirror.net

Enjoy Constant Learning

Even experienced tech people start projects not knowing how they’ll be solvedNo one knows everythingSpend a bunch of time to learn something new for the long term

Enjoy Constant Learning

Even experienced tech people start projects not knowing how they’ll be solvedNo one knows everythingSpend a bunch of time to learn something new for the long term

Enjoy Constant Learning

Get used to being in the dark and learning the new

Technology changes very rapidly

Learn general principles, practice just-in-time-learning

Learn to “be the computer”

Sometimes you have to pay-it-forward

Even experienced tech people start projects not knowing how they’ll be solvedNo one knows everythingSpend a bunch of time to learn something new for the long term

Break the Project Down1.Mount and calibrate sensors2.Get data from sensors3.Filter noise4.Calculate position5.Send position to main code6.Test in real world

Break the Project Down

Just get started, don’t try to solve the whole thingGather bits of code and referencesFind examples of how others have done something similar

Create little experiments for each partSolve the easy parts firstSolve the hardest parts first

Rebuild once you have it figured it out

1.Mount and calibrate sensors2.Get data from sensors3.Filter noise4.Calculate position5.Send position to main code6.Test in real world

Stealing is Okay

I had to design a custom sensor system for the Infiniti Interactive Mirrors that involved two sensors for each mirror which triangulated the location of the hand gesture. Thisrequired some trigonometry.

Stealing is Okay

I had to design a custom sensor system for the Infiniti Interactive Mirrors that involved two sensors for each mirror which triangulated the location of the hand gesture. Thisrequired some trigonometry.

Stealing is Okay

Code is widely given awaystackoverflow for questions/answersopen source Libraries, e.g. jQuerythousands of examples/tutorials

Steal from yourself

Google is your friend

Give back by posting what you find

I had to design a custom sensor system for the Infiniti Interactive Mirrors that involved two sensors for each mirror which triangulated the location of the hand gesture. Thisrequired some trigonometry.

Evolve Your Design

Evolve Your Design

Prioritize features, and don’t lock design too early

Let your prototypes and failures influence the design

Take advantage of discoveries / mistakes

Abuse the technology

Scope design to time / ability

Enjoy Constant Failure

It never works the first time

Get good at debugging

Anticipate and design for failures

Some bugs can take days to fix :-(

Enjoy Constant Failure

Test Constantly

Test Constantly

Each time you make a change

Have others use and abuse it

You’ll need real content

Schedule time for testing and bug-fixing

Be Persistent

Be Persistent

Be confident there’s a way to do it

When it takes way too long, you are learning

Learn to work around roadblocks

Set aside a problem and come back to it later

Keep Your Eye on the Goal

Keep Your Eye on the Goal

Work Smarter

Enjoy Constant Learning

Break the Project Down

Stealing is Okay

Evolve Your Design

Enjoy Constant Failure

Test Constantly

Be Persistent

top related