technology and programming culture

20
Technology & Programming Culture Philip van Allen

Upload: philip-van-allen

Post on 11-Jun-2015

203 views

Category:

Design


1 download

DESCRIPTION

This presentation compares technology and programming to design and discusses the similarities and differences.

TRANSCRIPT

Page 1: Technology and Programming Culture

Technology & Programming Culture

Philip van Allen

Page 2: Technology and Programming Culture

Similarities to Design

Photo: CorbisThere is a beauty to quality engineering and technology

Page 3: Technology and Programming Culture

It’s Creative

Page 4: Technology and Programming Culture

It’s Creative

There’s no single solution

You invent your own worlds

It can be deeply satisfying

Good work takes time

Not purely analytical

Page 5: Technology and Programming Culture

It’s About Making

http://wearemakers.orgIteration is a huge part of technologyImportance of prototypingInstead of relying on others to make it work, you make it workParts of it can be like refined kerning and layout, highly detailed

Page 6: Technology and Programming Culture

It’s About Making

You are creating new things

There’s a design process

You are empowered

Some of the work is detailed

Mastery is very satisfying

http://wearemakers.orgIteration is a huge part of technologyImportance of prototypingInstead of relying on others to make it work, you make it workParts of it can be like refined kerning and layout, highly detailed

Page 7: Technology and Programming Culture

http://wearemakers.org

Page 8: Technology and Programming Culture

The illiterate of the 21st century will not be those who cannot read and write, but those who cannot learn, unlearn, and relearn.  ~Alvin To"ler

It’s a Practice You Learn

Tech is a discipline like design, it’s not just an application to useIt takes time and study to become expert at technology

Page 9: Technology and Programming Culture

The illiterate of the 21st century will not be those who cannot read and write, but those who cannot learn, unlearn, and relearn.  ~Alvin To"ler

It’s a Practice You Learn

Tech concepts take time to understand

There’s no quick fix

You develop a feel for it over time

You have to practice

Failure is a key part of learning

Tech is a discipline like design, it’s not just an application to useIt takes time and study to become expert at technology

Page 10: Technology and Programming Culture

Differences from Design

Image by Corbis

Page 11: Technology and Programming Culture

A Description, Not the Thing

Code is a description of the thing, not the thing itselfIt’s less intuitive, more analyticalYou have to learn to imagine and visualizeYou have to understand and manage the complexity explicitlyDo lots of experiments to understand how the machine worksEmpathize with, and even “be” the machineopenSCAD examples

Page 12: Technology and Programming Culture

A Description, Not the Thing

You can’t see it

The machine interprets your instructions

Interaction/time element

It’s more abstract

Precise, predictable, manipulable

Code is a description of the thing, not the thing itselfIt’s less intuitive, more analyticalYou have to learn to imagine and visualizeYou have to understand and manage the complexity explicitlyDo lots of experiments to understand how the machine worksEmpathize with, and even “be” the machineopenSCAD examples

Page 13: Technology and Programming Culture

It’s Interactive

•Rules, logic, behavior•You lose control and give it to the user - a different position for the designer•Interaction happens through time, so you must actually use the system to “see” it. This is what makes critiquing interactive work difficult.

Page 14: Technology and Programming Culture

It’s Interactive

You are defining the logic/behavior

A life of its own emerges

You are building systems

Users make it do what they want

•Rules, logic, behavior•You lose control and give it to the user - a different position for the designer•Interaction happens through time, so you must actually use the system to “see” it. This is what makes critiquing interactive work difficult.

Page 15: Technology and Programming Culture

Failures are Different

•mistakes can mean nothing works •a mistake can also mean that it does something completely different•bugs can be hard and take days to fix•precision is important•openSCAD semi-colon, union vs. difference

Page 16: Technology and Programming Culture

Failures are Different

Machines are really dumb and unforgiving

Mistakes (even small ones) o!en result in catastrophic failure

Debugging is a skill to develop

“That’s not a bug, it’s a feature!”

•mistakes can mean nothing works •a mistake can also mean that it does something completely different•bugs can be hard and take days to fix•precision is important•openSCAD semi-colon, union vs. difference

Page 17: Technology and Programming Culture

More Planning and Testing

http://www.todaysengineer.org/2012/Nov/Agile.asp•do the most important features first•there's a big difference between the point of initial success and something presentable•once it is running, you have much to learn - this is only a starting point•software and hardware are very fragile•EXAMPLE: computer goes to sleep•Test with different people - not just you•the user does something slightly different than you anticipated - your path through your project is not the only path

Page 18: Technology and Programming Culture

More Planning and Testing

Prioritize features

Just because it “works” does not mean it’s finished

Technology is fragile

Plan for lots of testing

http://www.todaysengineer.org/2012/Nov/Agile.asp•do the most important features first•there's a big difference between the point of initial success and something presentable•once it is running, you have much to learn - this is only a starting point•software and hardware are very fragile•EXAMPLE: computer goes to sleep•Test with different people - not just you•the user does something slightly different than you anticipated - your path through your project is not the only path

Page 19: Technology and Programming Culture

Code is Powerful

openSCAD example creating multiple objects

Page 20: Technology and Programming Culture

Code is Powerful

It’s algorithmic

If you can do it once, you can do it again with variations

Small changes can have big e"ects

Designing form, behaviors, interactions, systems

Code is reusable

openSCAD example creating multiple objects