Upload
marcin-ignac
View
713
Download
1
Embed Size (px)
DESCRIPTION
Short presentation I have to IDP2011 students at CIID explaining how I see role of programming in the design process.
Citation preview
Prototyping in Code
Marcin Ignac / CIID 2011
Why do we code?
Do we really have to spend hours in front of the screen? For what?
Interactivity and behavior
Rock is the New Swivel by Eilidh, Ashwin and Tobias
When the chair rocks, the Arduino sends a message via the Xbees to turn on power flow to the coffee machine, thus starting the brewing process. The MP3 player is simultaneously turned on. The result is – soothing music and a merry brew in the making, while the person rocks on!
Interactivity
Touch Wall by Marcin
Josh enlightened by the wall alfter coming close enough to it.
Yesterday we had a meeting with a client and instead of showing him sketches we spend one day in advance developing an iPad app mockup with simple functionality. Just being able to touch and play catches his imagination much more that a drawing on a piece of paper.
Interfacing with hardware
Interfacing with hardware
Compound Eye by Ujjval and Marcin
First hack we did was to put wires into Nikon camera and fire the flash remotely Then two webcamsThen we build these boxes
Interfacing with hardware
Toast and Jam by Anders, David, Jennifer and Mary
LED + Light sensro detects the type of the bread. The timing knob became the volume control, and the original electro-magnet in the toaster “pops” the toast once the song finishes.
While in the previous project we build and object from scratch this time they repurposed existing object.
Automation
Virtual Spotlight
We build a system that can draw a different tree for many books and adapt to the content. Doing seperate graphics for every book would be crazy.
Design Product
Role of programming...
So we have the design / idea / paper prototypes / specification and we want the product.
Magic
Role of programming...
Design Product
You call the engeenier...Then comes the programmer and does the magic!Magic = Implementation = OMG! 10000 LOC (lines of code).After we’re are done we (maybe) do user testing. Yyyyyy...
?
?
Role of programming in the process
Design Product
You don’t have to build whole program at once to test the idea. Try bit’s and pieces first. By doing small prototypes or sketches you get user input faster and you are able to rethink what you are doing.
Greetings gestures
On of our first projects at CIID completed during Computational Design course. The idea was to record hand movements of people greeting each other. They were comming from different cultures so the gestures varied a lot.
(Photo by just.Luc / Flickr)
Wii Remote
Controlling device for Nintendo Wii was an obvious choice. It has bluetooth connection and motion sensors.
Establishing connection
Implementation.We used DarwiinRemote to connect to the Wii Remote via Bluetooth and record the data.
Have Fun
Implementation.My first Wii Remote test :) “White brick in space”
Recording
Try if it’s fun.
Korea
USA
Denmark #1
Denmark #2
Italy
IndiaData
Feasibility and context.We have collected data for both hands and heads. I decided to use hand data only.Colors: xAcc (red), yAcc (green), zAcc (blue), pitch (yellow), roll (light blue)
Experiments
Look and feel.I started buy just displaying the raw data (previous slide). Next step was to use the time and acceleration values to alternate shape of set of cubes in 3d space.
Demo
IterationsI made an interactive application to explore different possibilited and parameters.
Video: http://vimeo.com/1905763
Final posters
Three final designs were made.
Exhibition
All the posters were exhibited at Danish Design School at the end of 2 weeks course.
(Photo by toujjval / Flickr)
Rapid iterations
Rapid IterationsYou don’t know what the experience is unless you try it. You might be scared that it will suck, but just do it.Especially true for data visualization because it’s very hard to guess the nature of data without seeing it
Keep old versions of your code- either copies 01, 02, 03- or concurrent version systems like SVN or git for bigger projects with many developersHelp tracing newly introduced bugs, Code reuse, Experimentation
Spin-off projects
Spin-off projects
Errors!
Sometimes you will suffer and don’t sleep over night. Get used to it.
Processing
Toolset
QuartzComposer
Cinder
MaxMSP
PureData
Flash/AS3
HTML5/JavaScript
VVVV
Unity3d
OpenFrameworksPHP
ObjectiveC
C/C++
OpenGL
If you ask me which frameworks or programming languages should we learn or use. I would say - “It depends”.There are many tools to choose from, you don’t have to know them all. During this year you will be introduced to at least few programming languages. You just need to know when to use which.
If you know what it's going to look like, stop and something else.
Explore
- Filip Visnjic / CreativeApplication.net
The whole fun about prototyping is to try out things and have fun while doing it. Don’t spend to much time thinking what is gonna be like, draw it, sketch it, build it, code it.