<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>IDEO Labs &#187; serious play</title>
	<atom:link href="http://labs.ideo.com/index.php/category/serious-play/feed/" rel="self" type="application/rss+xml" />
	<link>http://labs.ideo.com</link>
	<description></description>
	<lastBuildDate>Thu, 26 Jan 2012 17:40:13 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>One Hour Prototype: iPhone Eye-Popping Pumpkin</title>
		<link>http://labs.ideo.com/2011/12/05/one-hour-prototype-iphone-eye-popping-pumpkin/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=one-hour-prototype-iphone-eye-popping-pumpkin</link>
		<comments>http://labs.ideo.com/2011/12/05/one-hour-prototype-iphone-eye-popping-pumpkin/#comments</comments>
		<pubDate>Mon, 05 Dec 2011 21:31:41 +0000</pubDate>
		<dc:creator>Garrett Winther</dc:creator>
				<category><![CDATA[Arduino]]></category>
		<category><![CDATA[Hack]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[prototyping]]></category>
		<category><![CDATA[serious play]]></category>
		<category><![CDATA[Sketching In Hardware]]></category>

		<guid isPermaLink="false">http://labs.ideo.com/?p=985</guid>
		<description><![CDATA[For halloween, each IDEO location held a one-hour pumpkin carving competition. I thought it would be interesting to see how much tech I could jam into a pumpkin within the time limit. Luckily, I had an old pneumatics kit under my desk and recently stumbled upon an incredibly simple way to get my iPhone to [...]]]></description>
			<content:encoded><![CDATA[<p><iframe src="http://player.vimeo.com/video/33085714" width="500" height="281" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe></p>
<p>For halloween, each IDEO location held a one-hour pumpkin carving competition. I thought it would be interesting to see how much tech I could jam into a pumpkin within the time limit. Luckily, I had an old pneumatics kit under my desk and recently stumbled upon an incredibly simple way to get my iPhone to talk to Arduino. I was able to conceptualize, build, and program this wirelessly-controlled-pneumatic-eye-popping pumpkin in just over an hour, barely missing the deadline but experiencing how powerful these low fidelity prototyping tools could be.</p>
<p>Learn more after the jump&#8230;<br />
<img src="http://labs.ideo.com/wp-includes/js/tinymce/plugins/wordpress/img/trans.gif" alt="" /></p>
<p><span id="more-985"></span></p>
<p><a href="http://labs.ideo.com/wp-content/uploads/2011/12/pumpkinfull.jpg"><img class="alignnone size-large wp-image-1020" src="http://labs.ideo.com/wp-content/uploads/2011/12/pumpkinfull-682x1024.jpg" alt="" width="409" height="614" /></a></p>
<p>There are a few ways to get an iPhone to talk to an Arduino, but none are as quick and simple as pairing up the mobile app TouchOSC (for Android and iOS) with Processing. The control system is practically plug and play and very minimal coding knowledge necessary to get up and running (so don’t be afraid if you’re new to the game).</p>
<p>This setup has been around for a few years but it hasn’t gained much traction for its potential value in low fidelity prototypes. The time investment is incredibly low compared to any other phone/Arduino strategies, serving as a great early filter for interaction concepts or realizing your wildest dreams of an iPhone controlled robo-pumpkin.</p>
<p><a href="http://labs.ideo.com/wp-content/uploads/2011/12/ideolabsdiagram1.png"><img class="alignnone size-large wp-image-1023" src="http://labs.ideo.com/wp-content/uploads/2011/12/ideolabsdiagram1-1024x286.png" alt="" width="430" height="120" /></a></p>
<p>To make one thing clear: this prototyping method has a bit of  ‘smoke and mirrors’  in that the smartphone doesn’t directly communicate with the Arduino, but uses a computer as a receiver and translator between the two.  There are a few ways to take out the middleman but they take a bit more setup and a few more tools that would make the build lengthier.</p>
<p><img class="alignnone size-large wp-image-997" src="http://labs.ideo.com/wp-content/uploads/2011/12/touchosceditortophone-1024x523.png" alt="" width="430" height="220" /></p>
<p><a title="TouchOSC" href="http://hexler.net/software/touchosc" target="_blank">Touc</a><a title="TouchOSC" href="http://hexler.net/software/touchosc" target="_blank">hOSC</a> is a great app for iPhone and Android that helps make this entire process incredibly easy on the interface side. The program allows you to build a basic interface via a desktop app  “TouchOSC Editor”. You can compile basic interaction objects (buttons, toggles, faders, etc&#8230;) onto an iPhone/iPod Touch/iPad screen which you can then easily transfer to any iOS device.</p>
<p><img class="alignnone size-large wp-image-1003" src="http://labs.ideo.com/wp-content/uploads/2011/12/pumpkinback1-1024x682.jpg" alt="" width="437" height="290" /></p>
<p>The custom TouchOSC interface creates <a title="&quot;Open Sound Control&quot;" href="http://opensoundcontrol.org/introduction-osc" target="_blank">“Open Sound Control”</a> (OSC) signals sent via wifi that are received by an open <a title="Processing" href="http://processing.org/" target="_blank">Processing</a> sketch on a computer. The Processing sketch then writes the signal to serial, which is transmitted wirelessly to the Arduino with a pair of <a title="Xbee Modules" href="http://www.sparkfun.com/products/8664" target="_blank">Xbee Modules</a>. The Arduino is hooked up to two air pistons powered by a bike pump and 2 liter bottle reservoir.</p>
<p><a href="http://labs.ideo.com/wp-content/uploads/2011/12/pumpkininsides.jpg"><img class="alignnone size-large wp-image-1012" src="http://labs.ideo.com/wp-content/uploads/2011/12/pumpkininsides-1024x682.jpg" alt="" width="422" height="283" /></a></p>
<p>If any of these terms don’t make sense and/or you want to give it a shot yourself, there are a few great tutorials that go into more detail and make it easy to get started:</p>
<p><a href="http://www.sparkfun.com/tutorials/152" target="_blank">Sparkfun Tutorial for LED Control</a> (doesn&#8217;t address Xbee)</p>
<p><a href="https://sites.google.com/site/2007arduino/example-code/controller-tutorials/iphonecontrol" target="_blank">MIT Robotics Class Tutorial with LED/Servo Control</a> (with Xbee but with non-standard board)</p>
<p>&nbsp;</p>
<p>***Note:  Neither the tutorials address an accessible Xbee setup. Here is what I used:</p>
<p><a href="http://www.sparkfun.com/products/9950">Arduino Uno</a>,  <a href="http://www.sparkfun.com/products/8664">Xbee Modules (x2)</a>, <a href="http://www.sparkfun.com/products/9819">Xbee USB Dongle</a>, and <a href="http://www.amazon.com/Arduino-Xbee-Shield/dp/B004L6PNLA/ref=sr_1_4?ie=UTF8&amp;qid=1321466485&amp;sr=8-4">Xbee Arduino Shield</a></p>
<p>Check out Processing and Arduino Code I used in this project <a href="https://gist.github.com/1435398">here</a></p>
<div id="gist-1435398" class="gist">

        <div class="gist-file">
          <div class="gist-data gist-syntax">
              <div class="highlight"><pre><div class='line' id='LC1'><span class="c1">//-----------------------Start Arduino Code------------------------------</span></div><div class='line' id='LC2'><br/></div><div class='line' id='LC3'><span class="kt">int</span> <span class="n">message</span> <span class="o">=</span> <span class="mi">0</span><span class="o">;</span> <span class="c1">// This will hold one byte of the serial message </span></div><div class='line' id='LC4'><span class="kt">int</span> <span class="n">eyesPin</span> <span class="o">=</span> <span class="mi">9</span><span class="o">;</span> <span class="c1">// What pin are the eyes connected to?</span></div><div class='line' id='LC5'><span class="kt">int</span> <span class="n">eyes_val</span> <span class="o">=</span> <span class="n">LOW</span><span class="o">;</span> <span class="c1">// eyes_val will be HIGH or LOW</span></div><div class='line' id='LC6'><br/></div><div class='line' id='LC7'><span class="kt">void</span> <span class="nf">setup</span><span class="o">()</span> </div><div class='line' id='LC8'><span class="o">{</span> </div><div class='line' id='LC9'><span class="n">Serial</span><span class="o">.</span><span class="na">begin</span><span class="o">(</span><span class="mi">9600</span><span class="o">);</span> <span class="c1">//set serial to 9600 baud rate</span></div><div class='line' id='LC10'><span class="o">}</span></div><div class='line' id='LC11'><br/></div><div class='line' id='LC12'><span class="kt">void</span> <span class="nf">loop</span><span class="o">()</span></div><div class='line' id='LC13'><span class="o">{</span> </div><div class='line' id='LC14'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">if</span> <span class="o">(</span><span class="n">Serial</span><span class="o">.</span><span class="na">available</span><span class="o">()</span> <span class="o">&gt;</span> <span class="mi">0</span><span class="o">)</span> </div><div class='line' id='LC15'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="o">{</span> <span class="c1">// Check if there is a new message</span></div><div class='line' id='LC16'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="n">message</span> <span class="o">=</span> <span class="n">Serial</span><span class="o">.</span><span class="na">read</span><span class="o">();</span> <span class="c1">// Put the serial input into the message</span></div><div class='line' id='LC17'><br/></div><div class='line' id='LC18'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">if</span> <span class="o">(</span><span class="n">message</span> <span class="o">==</span> <span class="sc">&#39;R&#39;</span><span class="o">)</span></div><div class='line' id='LC19'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="o">{</span> <span class="c1">// If a capitol R is received... </span></div><div class='line' id='LC20'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="n">eyes_val</span> <span class="o">=</span> <span class="n">HIGH</span><span class="o">;</span> <span class="c1">// Set eyes_val to HIGH and eyes are out</span></div><div class='line' id='LC21'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="o">}</span></div><div class='line' id='LC22'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">if</span> <span class="o">(</span><span class="n">message</span> <span class="o">==</span> <span class="sc">&#39;r&#39;</span><span class="o">)</span></div><div class='line' id='LC23'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="o">{</span> <span class="c1">// If a lowercase r is received...</span></div><div class='line' id='LC24'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="n">eyes_val</span> <span class="o">=</span> <span class="n">LOW</span><span class="o">;</span> <span class="c1">// Set eyes_val to LOW and eyes are in</span></div><div class='line' id='LC25'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="o">}</span></div><div class='line' id='LC26'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="o">}</span> </div><div class='line' id='LC27'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="n">digitalWrite</span><span class="o">(</span><span class="n">eyesPin</span><span class="o">,</span> <span class="n">eyes_val</span><span class="o">);</span> <span class="c1">// Write digital value to eyes</span></div><div class='line' id='LC28'><span class="o">}</span></div><div class='line' id='LC29'><br/></div><div class='line' id='LC30'><span class="c1">//----------------------------end Arduino code--------------------------------</span></div></pre></div>
          </div>

          <div class="gist-meta">
            <a href="https://gist.github.com/raw/1435398/29e9f9d39d71a3668302b92f5dfef6e100dd0ecd/pumpkinarduino.pde" style="float:right;">view raw</a>
            <a href="https://gist.github.com/1435398#file_pumpkinarduino.pde" style="float:right;margin-right:10px;color:#666">pumpkinarduino.pde</a>
            <a href="https://gist.github.com/1435398">This Gist</a> brought to you by <a href="http://github.com">GitHub</a>.
          </div>
        </div>

        <div class="gist-file">
          <div class="gist-data gist-syntax">
              <div class="highlight"><pre><div class='line' id='LC1'><span class="c1">//----------------------------------start processing code------------------------------------ </span></div><div class='line' id='LC2'><br/></div><div class='line' id='LC3'><span class="kn">import</span> <span class="nn">oscP5.*</span><span class="o">;</span> <span class="c1">// Load OSC P5 library </span></div><div class='line' id='LC4'><span class="kn">import</span> <span class="nn">netP5.*</span><span class="o">;</span> <span class="c1">// Load net P5 library </span></div><div class='line' id='LC5'><span class="kn">import</span> <span class="nn">processing.serial.*</span><span class="o">;</span> <span class="c1">// Load serial library </span></div><div class='line' id='LC6'><br/></div><div class='line' id='LC7'><span class="n">Serial</span> <span class="n">arduinoPort</span><span class="o">;</span> <span class="c1">// Set arduinoPort as serial connection </span></div><div class='line' id='LC8'><span class="n">OscP5</span> <span class="n">oscP5</span><span class="o">;</span> <span class="c1">// Set oscP5 as OSC connection </span></div><div class='line' id='LC9'><br/></div><div class='line' id='LC10'><span class="kt">float</span> <span class="n">eyes_val</span><span class="o">;</span></div><div class='line' id='LC11'><br/></div><div class='line' id='LC12'><span class="c1">//--- Function: setup </span></div><div class='line' id='LC13'><span class="kt">void</span> <span class="nf">setup</span><span class="o">()</span> </div><div class='line' id='LC14'><span class="o">{</span> </div><div class='line' id='LC15'><br/></div><div class='line' id='LC16'><span class="n">oscP5</span> <span class="o">=</span> <span class="k">new</span> <span class="n">OscP5</span><span class="o">(</span><span class="k">this</span><span class="o">,</span><span class="mi">8000</span><span class="o">);</span> <span class="c1">// Start oscP5, listening for incoming messages at port 8000 </span></div><div class='line' id='LC17'><span class="n">arduinoPort</span> <span class="o">=</span> <span class="k">new</span> <span class="n">Serial</span><span class="o">(</span><span class="k">this</span><span class="o">,</span> <span class="n">Serial</span><span class="o">.</span><span class="na">list</span><span class="o">()[</span><span class="mi">0</span><span class="o">],</span> <span class="mi">9600</span><span class="o">);</span> <span class="c1">// Set arduinoPort to 9600 baud </span></div><div class='line' id='LC18'><span class="o">}</span> </div><div class='line' id='LC19'><br/></div><div class='line' id='LC20'><span class="c1">//--- Function: oscEventThis runs whenever there is a new OSC message </span></div><div class='line' id='LC21'><span class="kt">void</span> <span class="nf">oscEvent</span><span class="o">(</span><span class="n">OscMessage</span> <span class="n">theOscMessage</span><span class="o">)</span> <span class="o">{</span></div><div class='line' id='LC22'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="o">{</span> </div><div class='line' id='LC23'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="n">String</span> <span class="n">addr</span> <span class="o">=</span> <span class="n">theOscMessage</span><span class="o">.</span><span class="na">addrPattern</span><span class="o">();</span></div><div class='line' id='LC24'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">if</span><span class="o">(</span><span class="n">addr</span><span class="o">.</span><span class="na">equals</span><span class="o">(</span><span class="s">&quot;/1/push1&quot;</span><span class="o">))</span> <span class="o">{</span></div><div class='line' id='LC25'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="n">eyes_val</span> <span class="o">=</span> <span class="n">theOscMessage</span><span class="o">.</span><span class="na">get</span><span class="o">(</span><span class="mi">0</span><span class="o">).</span><span class="na">floatValue</span><span class="o">();</span></div><div class='line' id='LC26'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="o">}</span> </div><div class='line' id='LC27'>&nbsp;&nbsp;&nbsp;&nbsp;<span class="o">}</span></div><div class='line' id='LC28'><span class="o">}</span></div><div class='line' id='LC29'><br/></div><div class='line' id='LC30'><br/></div><div class='line' id='LC31'><span class="c1">//--- Function: pneumatic eyes on/off </span></div><div class='line' id='LC32'><span class="kt">void</span> <span class="nf">draw</span><span class="o">()</span> </div><div class='line' id='LC33'><span class="o">{</span> </div><div class='line' id='LC34'><span class="n">println</span><span class="o">(</span><span class="n">eyes_val</span><span class="o">);</span></div><div class='line' id='LC35'><span class="k">if</span> <span class="o">(</span><span class="n">eyes_val</span> <span class="o">&gt;</span> <span class="mf">0.5</span><span class="o">)</span> <span class="o">{</span></div><div class='line' id='LC36'><span class="n">arduinoPort</span><span class="o">.</span><span class="na">write</span><span class="o">(</span><span class="sc">&#39;R&#39;</span><span class="o">);</span><span class="c1">//sends signal for eyes out</span></div><div class='line' id='LC37'><span class="n">delay</span><span class="o">(</span><span class="mi">200</span><span class="o">);</span></div><div class='line' id='LC38'><span class="o">}</span></div><div class='line' id='LC39'><span class="k">else</span> <span class="o">{</span></div><div class='line' id='LC40'>&nbsp;&nbsp;<span class="n">arduinoPort</span><span class="o">.</span><span class="na">write</span><span class="o">(</span><span class="sc">&#39;r&#39;</span><span class="o">);</span><span class="c1">//sends signal for eyes in</span></div><div class='line' id='LC41'>&nbsp;&nbsp;</div><div class='line' id='LC42'><span class="o">}</span></div><div class='line' id='LC43'><br/></div><div class='line' id='LC44'><span class="o">}</span> </div><div class='line' id='LC45'><br/></div><div class='line' id='LC46'><span class="c1">//----------------------------------end processing code------------------------------------</span></div><div class='line' id='LC47'><br/></div></pre></div>
          </div>

          <div class="gist-meta">
            <a href="https://gist.github.com/raw/1435398/823ac91c1ea63887e3f5b1c0ce3d5d369d6868ed/pumpkinprocessing.pde" style="float:right;">view raw</a>
            <a href="https://gist.github.com/1435398#file_pumpkinprocessing.pde" style="float:right;margin-right:10px;color:#666">pumpkinprocessing.pde</a>
            <a href="https://gist.github.com/1435398">This Gist</a> brought to you by <a href="http://github.com">GitHub</a>.
          </div>
        </div>
</div>

<p>At IDEO we are excited about &#8220;sketching in hardware&#8221; (super-fast rough interactive prototyping).  Here are some other related IDEO Labs posts:</p>
<p><a href="http://labs.ideo.com/2009/10/08/sketching-in-hardware/">Sketching In Hardware</a></p>
<p><a href="http://labs.ideo.com/2010/01/04/game-on-workshop-at-iit/">Game On! A Workshop At  IIT</a></p>
<p><a href="http://labs.ideo.com/2008/12/08/quick-n-dirty-multi-touch-flash-api-wiimote/">Quick-n-Dirty Multi-Touch: Flash API + Wiimote</a></p>
]]></content:encoded>
			<wfw:commentRss>http://labs.ideo.com/2011/12/05/one-hour-prototype-iphone-eye-popping-pumpkin/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>IDEO Has Mask Appeal</title>
		<link>http://labs.ideo.com/2011/11/21/mask-appeal/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=mask-appeal</link>
		<comments>http://labs.ideo.com/2011/11/21/mask-appeal/#comments</comments>
		<pubDate>Mon, 21 Nov 2011 23:50:27 +0000</pubDate>
		<dc:creator>Ryan Fitzgibbon</dc:creator>
				<category><![CDATA[serious play]]></category>
		<category><![CDATA[AIGASF]]></category>
		<category><![CDATA[Graphic Design]]></category>
		<category><![CDATA[Screen Printing]]></category>
		<category><![CDATA[Woodworking]]></category>

		<guid isPermaLink="false">http://labs.ideo.com/?p=958</guid>
		<description><![CDATA[Every fall the San Francisco chapter of AIGA, the professional association for design, hosts a gala to celebrate a community of over 1,600 students and professionals in the Bay Area under the umbrella of communication design, ranging from graphic design to interactive design and experience design. Each gala has a theme that is most evidently [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://labs.ideo.com/wp-content/uploads/2011/11/P1020873.jpg"><img src="http://labs.ideo.com/wp-content/uploads/2011/11/P1020873-e1321919012657.jpg" alt="" width="500" height="302" /></a></p>
<p>Every fall the San Francisco chapter of <a title="AIGA SF" href="http://www.aigasf.org">AIGA</a>, the professional association for design, hosts a gala to celebrate a community of over 1,600 students and professionals in the Bay Area under the umbrella of communication design, ranging from graphic design to interactive design and experience design. Each gala has a theme that is most evidently expressed through the auctioning of custom-designed objects by design firms and independents. This year’s event was a masquerade, and appropriately titled <a title="AIGASF Mask Appeal" href="http://aigasf.org/events/2011/11/10/fall_gala_mask_appeal">“Mask Appeal.”</a></p>
<p>IDEO was asked to participate again this year, so, of course, we took up the challenge. It didn’t take much convincing to recruit fellow communication designer <a title="Wilfred Castillo" href="http://wilfredcastillo.com/">Wilfred Castillo</a> to help imagine what a contribution from IDEO could be. After a week of remotely brainstorming how to transform a $3 mask structure into something awesome, we finally landed on the concept of a wooden toy maze. It&#8217;s interactive, nostalgic and who didn’t love this game as a kid?</p>
<p><a href="http://labs.ideo.com/wp-content/uploads/2011/11/labyrinthlarges3.jpeg"><img src="http://labs.ideo.com/wp-content/uploads/2011/11/labyrinthlarges3-e1321918584211.jpeg" alt="" width="500" height="302" /></a></p>
<p><a href="http://labs.ideo.com/wp-content/uploads/2011/11/mask_labyrinth_02.jpg"><img class="alignnone size-full wp-image-960" src="http://labs.ideo.com/wp-content/uploads/2011/11/mask_labyrinth_02-e1321918645515.jpg" alt="" width="500" height="302" /></a></p>
<p>&nbsp;</p>
<p>Click through for more photos and build details.</p>
<p><span id="more-958"></span></p>
<p>Once the decision was made, we consulted Nathan Whipple and Peter Bronk of the IDEO prototyping team in Palo Alto to see if it could be done in time for the event the following week. The minute the words “definitely feasible” were uttered, we sprinted through the weekend to design the layout of the maze structure and the graphics in Adobe Illustrator to move the rest of the production along. <a title="Anthem Printing SF" href="http://www.anthemprintingsf.com/">Anthem Printing</a> in San Francisco had burned a silk screen for us by Monday morning, and the graphics were applied to the wood surface by nightfall.</p>
<p><a href="http://labs.ideo.com/wp-content/uploads/2011/11/mask_vector.jpg"><img class="alignnone size-full wp-image-961" src="http://labs.ideo.com/wp-content/uploads/2011/11/mask_vector-e1321918698601.jpg" alt="" width="500" height="302" /></a></p>
<p><a href="http://labs.ideo.com/wp-content/uploads/2011/11/P1020813.jpg"><img class="alignnone size-full wp-image-963" src="http://labs.ideo.com/wp-content/uploads/2011/11/P1020813-e1321918798860.jpg" alt="" width="500" height="302" /></a></p>
<p><a href="http://labs.ideo.com/wp-content/uploads/2011/11/P1020811.jpg"><img class="alignnone size-full wp-image-962" src="http://labs.ideo.com/wp-content/uploads/2011/11/P1020811-e1321918830898.jpg" alt="" width="500" height="302" /></a></p>
<p>Tuesday morning, the materials and source files were passed over to Nathan and Peter to begin figuring out how to best to build and assemble the mask. They mulled it over and came up with internal sleeves, to space the components. Peter machined the main mask housing out of RenShape®, and the internal spacers out of ABS plastic. After the parts were milled, they had to be finished with three layers of paint.</p>
<p><a href="http://labs.ideo.com/wp-content/uploads/2011/11/P1020819.jpg"><img class="alignnone size-full wp-image-964" src="http://labs.ideo.com/wp-content/uploads/2011/11/P1020819-e1321918867781.jpg" alt="" width="500" height="302" /></a></p>
<p><a href="http://labs.ideo.com/wp-content/uploads/2011/11/P1020822.jpg"><img class="alignnone size-full wp-image-965" src="http://labs.ideo.com/wp-content/uploads/2011/11/P1020822-e1321918907272.jpg" alt="" width="500" height="302" /></a></p>
<p><a href="http://labs.ideo.com/wp-content/uploads/2011/11/P1020823.jpg"><img class="alignnone size-full wp-image-966" src="http://labs.ideo.com/wp-content/uploads/2011/11/P1020823-e1321918954302.jpg" alt="" width="500" height="302" /></a></p>
<p>Between the graphics and the woodworking, it was a largely hands-on process that demanded a good deal of precision inherent in our craft. On Thursday November 10th, the day of the Gala, the product of this collaboration was finalized and ready for its big debut. Of course we all gave the game a quick play to break it in, but, after many failed attempts, it was time head to San Francisco to give it away to the highest bidder at the AIGA SF Gala.</p>
<p><a href="http://labs.ideo.com/wp-content/uploads/2011/11/P1020877.jpg"><img class="alignnone size-full wp-image-968" src="http://labs.ideo.com/wp-content/uploads/2011/11/P1020877-e1321919060266.jpg" alt="" width="500" height="302" /></a></p>
<p><a href="http://labs.ideo.com/wp-content/uploads/2011/11/P1020895.jpg"><img class="alignnone size-full wp-image-969" src="http://labs.ideo.com/wp-content/uploads/2011/11/P1020895-e1321919085320.jpg" alt="" width="500" height="302" /></a></p>
<p><em>(Mask contributions came in from designers from Dwell, ASTRO, Public, SMART, Apple, </em><em>Landor Associates </em><em>and many more awesome studios and independent creatives.)</em></p>
]]></content:encoded>
			<wfw:commentRss>http://labs.ideo.com/2011/11/21/mask-appeal/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Animation of multiple LEDs with Arduino</title>
		<link>http://labs.ideo.com/2010/03/10/animation-of-multiple-leds-with-arduino/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=animation-of-multiple-leds-with-arduino</link>
		<comments>http://labs.ideo.com/2010/03/10/animation-of-multiple-leds-with-arduino/#comments</comments>
		<pubDate>Wed, 10 Mar 2010 15:16:46 +0000</pubDate>
		<dc:creator>Bob Hartmann</dc:creator>
				<category><![CDATA[Arduino]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[serious play]]></category>
		<category><![CDATA[animation]]></category>
		<category><![CDATA[LED]]></category>
		<category><![CDATA[multitasking]]></category>

		<guid isPermaLink="false">http://labs.ideo.com/?p=580</guid>
		<description><![CDATA[We recently completed a prototype that called for expressive LED lighting.  The team wanted the device to have a personality; simply turning LEDs on or off wasn’t enough. We wanted LED&#8217;s to &#8220;wake up&#8221; slowly,  gently turn off, and “breathe” (continually fade brightness up and down) with variable rhythm. More importantly, these LED animations needed [...]]]></description>
			<content:encoded><![CDATA[<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="500" height="375" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=9886894&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="500" height="375" src="http://vimeo.com/moogaloop.swf?clip_id=9886894&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p><strong><span style="font-weight: normal; ">We recently completed a prototype that called for expressive LED lighting.  The team wanted the device to have a personality; simply turning LEDs on or off wasn’t enough. We wanted LED&#8217;s to &#8220;wake up&#8221; slowly,  gently turn off, and “breathe” (continually fade brightness up and down) with variable rhythm. More importantly, these LED animations needed happen at the same time. This requires the LED software to &#8220;multitask.&#8221; I used <a href="http://www.arduino.cc">Arduino</a> because it reduces complexity and development time.<br />
</span></strong></p>
<p><strong><span style="font-weight: normal;">There is no native support for multitasking in Arduino, so I developed a custom solution</span></strong>. Each LED output would be updated in sequence every time around the &#8220;loop.&#8221;  For example, if there are three LEDs, LED1 updates, then LED2, then LED3. The software loops and the LEDs are updated again. Each time an LED is updated, the Arduino software calculates the LED output brightness based on the desired animation behavior.</p>
<p>A software LED description (C++ class) of LED behaviors and LED attributes called LEDController was created. Each real LED is represented in Arduino software as an LEDController software object. Every time an LED is updated, its LEDController object calculates its brightness, then sends the brightness value to the Arduino (PWM) output that drives the LED.</p>
<p>Not much later, a project came along requiring simultaneous animation of 36 LEDs. There aren’t 36 PWM outputs readily available on Arduino, so I used two <a href="http://www.linear.com/pc/productDetail.jsp?navId=H0,C1,C1767,P54669">LED driver ICs (LTC3220)</a>, each capable of driving 18 LEDs. An I2C interface was added to the LEDController class so instead of controlling an Arduino PWM output, the brightness value for each LED is sent on the I2C bus to its LED driver IC.</p>
<p>The multitasking approach developed for LEDs can be adapted for other kinds of output devices.  For example, the LEDController PWM output could be converted to a reference signal for motor position or velocity control. Imagine controlling a set of motors, or a combination of motors and LEDs. Any project needing to control multiple analog outputs could benefit from this class or adaptations of it.  IDEO&#8217;er Dave Vondle has verified this class works with the <a href="http://labs.ideo.com/2009/08/10/arduino-mini-shield-for-small-prototypes/">Arduino Mini shield</a> he created.  This would be useful if you have a project that requires rechargeable batteries or high power outputs.</p>
<p>I expect to continue to use and adapt <a href="http://labs.ideo.com/wp-content/uploads/2010/03/RGB_LED_Tester.zip">LEDController,</a> and I hope you find a use for it as well.  If you do, please post it in the comments and show off what you made!</p>
<p><span id="more-580"></span></p>
<p><strong>The LEDController Class: Overview</strong></p>
<p><strong><span style="font-weight: normal;">The LEDController class can drive LEDs using Arduino PWM outputs, or using an external I2C LED driver IC.  Use of the I2C interface allows large numbers of LEDs to be driven simultaneously.</span></strong></p>
<p>Each LED is represented in application code as an LEDController object. LEDController attributes are used to customize LED animations. Every time the Arduino loop function executes, all LEDController objects are updated.</p>
<p><strong>The Class</strong></p>
<p><strong>LED Actions </strong></p>
<p>The following actions (animations) are enumerated and used to seed the action attribute.<br />
The action attribute represents the type of animation. (See LEDController.h and LEDControllerSource.pde for details.) In this document, attribute names are indicated by<strong> </strong><em>italics</em>.</p>
<p><strong>TURN_HIGH</strong> –Immediately sets the associated LED brightness to the value of the <em>analogHighValue</em> attribute.</p>
<p><strong>TURN_MID</strong> –Immediately sets the associated LED brightness to the value of the <em>analogMidValue</em> attribute.</p>
<p><strong>TURN_LOW</strong> – Immediately sets the associated LED brightness to the value of the <em>analogLowValue</em> attribute.</p>
<p><strong>TURN_OFF</strong> – Immediately sets the associated LED brightness to 0.</p>
<p><strong>BLINK</strong> – The associated LED will blink between the <em>analogHighValue</em> and the <em>analogLowValue</em>.  The<em> </em><em>analogHighValue</em> will last for <em>blinkTimeHigh</em> milliseconds. The <em>analogLowValue</em> will last for <em>blinkTimeLow</em> milliseconds.</p>
<p><strong>RAMP_HIGH</strong> – The associated LED will increase its brightness from its present value by <em>rampUpValue</em> steps every <em>rampUpDelay</em> msec until the brightness reaches the a<em>nalogHighValue</em>. Remember to initialize the low brightness by using one of the TURN actions (e.g. TURN_LOW) first if necessary.</p>
<p><strong>RAMP_LOW</strong> – The associated LED will decrease its brightness from its present value by <em>rampDownValue</em> steps every <em>rampDownDelay</em> msec until the brightness reaches the <em>analogLowValue</em>. Remember to initialize the low brightness by using one of the TURN actions (e.g. TURN_HIGH) first if necessary.</p>
<p><strong>RAMP_CONT_HIGH_LOW</strong> – The associated LED will ramp its brightness between the <em>analogHighValue</em><em> </em>and the <em>analogLowValue</em>. The ramp up rate is created by the combination of <em>rampUpDelay</em> and <em>rampUpValue</em> and will ramp up until the <em>analogHighValue</em> is reached.<br />
The ramp down rate of is created by the combination of <em>rampDownDelay</em> and <em>rampDownValue</em> and will ramp down until the <em>analogLowValue</em> is reached. Triangle and sawtooth waveforms can be created.</p>
<p><strong>RAMP_CONT_HIGH_MID</strong> – Similar to RAMP_CONT_HIGH_LOW. The associated LED will ramp its brightness between the <em>analogHighValue</em> and the <em>analogMidValue</em>. The ramp up rate is created by the combination of <em>rampUpDelay</em> and <em>rampUpValue</em> and will ramp up until the <em>analogHighValue</em> is reached.  The ramp down rate of is created by the combination of <em>rampDownDelay</em> and <em>rampDownValue</em> and will ramp down until the <em>analogMidValue</em> is reached. Triangle and sawtooth waveforms can be created.</p>
<p><strong>LED Attributes</strong></p>
<p><em><strong>update</strong></em> – true if the action is to be updated when takeAction() is called, false otherwise.</p>
<p><em><strong>action</strong></em><em> – <span style="font-style: normal;">The enumerated value that references the LED action/animation.</span></em></p>
<p><em><strong>analogHighValue</strong></em> – The signal intensity of the highest brightness to be used. The range is 0 to 255.</p>
<p><em><strong>analogMidValue</strong></em><em> – <span style="font-style: normal;">The signal intensity of a middle of range brightness to be used. The range is 0 to 255.</span></em></p>
<p><em><strong>analogLowValue</strong></em> – The signal intensity of the lowest brightness to be used. The range is 0 to 255.</p>
<p><em><strong>analogValue</strong></em> – The present analog value.</p>
<p><em><strong>rampUpValue</strong></em> – The number of analog steps to increase at each LED update time.</p>
<p><em><strong>rampDownValue</strong></em> – The number of analog steps to decrease at each LED update time.</p>
<p><em><strong>rampUpDelay</strong></em> – The number of milliseconds between LED updates for ramping up.</p>
<p><em><strong>rampDownDelay</strong></em> – The number of milliseconds between LED updates for ramping down.</p>
<p><em><strong>i2CAddress</strong></em> – The I2C address of the LED driver IC.</p>
<p><em><strong>ledAddress</strong></em> – The LED address within the LED driver IC.</p>
<p><em><strong>ioPin</strong></em> – The Arduino pin number associated with the LED to be driven by PWM.</p>
<p><em><strong>blinkState</strong></em><em> – <span style="font-style: normal;">High when the blink value is </span><span style="font-style: normal;">analogHighValue</span><span style="font-style: normal;">, low when the blink state is </span><span style="font-style: normal;">analogLowValue</span><span style="font-style: normal;">.</span></em></p>
<p><em><strong>blinkTimeHigh</strong></em> – The number of milliseconds the LED is at <em>analogHighValue</em> when the action is BLINK.</p>
<p><em><strong>blinkTimeLow</strong></em> – The number of milliseconds the LED is at <em>analogLowValue</em> when the action is BLINK.</p>
<p><em><strong>previousTime</strong></em> – The time value returned by the millis() function at the last update.</p>
<p><em><strong>usingPWM</strong></em> – True if using the PWM outputs, false if using I2C.</p>
<p><strong>takeAction()</strong><br />
A takeAction() function for each LED object is added to the application loop() function. The takeAction function checks to see if the associated LED is to be updated based on the LED attributes and if applicable, the amount of time since the last update. Each LED is independently checked for updating each time the loop() function executes. Thus, each LED waveform is checked for updating at a minimum rate equal to the time required to execute the loop() function.<br />
(See the “Sample Application Code” below.)</p>
<p><strong>Constructor</strong><br />
The LEDController constructor is used to initialize LED object attributes. There are separate constructors for PWM and I2C objects. (See LEDController.h for details.)</p>
<p>LEDController objects are typically created as global objects in the main application file.</p>
<p><strong>Changing LED Attributes</strong><br />
The attributes of an LEDController object may be changed in the application code when it is desired to change the associated LED behavior. For example, an LEDController object named ledREDController can have its analogHighValue changed to 200 by coding:</p>
<p>ledREDController.analogHighValue = 200;</p>
<p><strong>PWM Interface</strong><br />
To use the PWM interface for a given LED, set usingPWM to true, and set ioPin to the PWM pin number connected to the LED.</p>
<p><strong>I2C Interface</strong><br />
The I2C interface that presently uses the Linear Technology LTC3220 LED driver IC as an I2C example.  ( See the LTC3220 data sheet for I2C implementation details. ) The adaptation of the LEDController class to other I2C based LED driver ICs is left to the developer.</p>
<p><strong>Creating complex animations</strong><br />
Complex animations may be created by sequencing LED object actions within the application code, typically via a time triggered state machine. For example, the application can ramp an LED to a specific brightness, wait for a period of time, then ramp it down.</p>
<p><strong>Sample Application Code using PWM outputs</strong></p>
<p>(Download the complete <a href="http://labs.ideo.com/wp-content/uploads/2010/03/RGB_LED_Tester.zip">RGB_LED_Tester</a> source code.)</p>
<pre>#include "LEDController.h"</pre>
<pre>// Constructors:
// LEDController(int i2cAddress, int ledAddress ,[optional arguments...])
// for Linear Tech I2C LED driver
// or
// LEDController(int ioPin ,[optional arguments...]) for direct PWM on the Arduino
// optional arguments are:
//  boolean updateIn, int actionIn, int analogHighValueIn, int analogMidValueIn,
//  int analogLowValueIn, int analogValueIn, int rampUpValueIn, int rampDownValueIn,</pre>
<pre>// int rampUpDelayIn,
//  int rampDownDelayIn, int chaseDelayIn, int chaseNumberOnIn,
//  boolean blinkStateIn, int blinkTimeHighIn, int blinkTimeLowIn,</pre>
<pre>// unsigned long previousTimeIn,
//  int dwellLowTime, int dwellHighTime);</pre>
<pre>boolean buttonWasUp=true;</pre>
<pre>LEDController ledREDController(6);
LEDController ledGREENController(5);
LEDController ledBLUEController(3);</pre>
<pre>//State machine states
enum{
STATE_0 = 0,
STATE_1 = 1
};</pre>
<pre>int testState=STATE_0;
unsigned long stateStart
unsigned long stateEnd;</pre>
<pre>void setup(){
pinMode(3, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
stateEnd = 0;</pre>
<pre>ledREDController.action = BLINK;
ledGREENController.action = RAMP_CONT_HIGH_LOW;
ledBLUEController.action = RAMP_CONT_HIGH_MID;
}</pre>
<pre>void loop(){</pre>
<pre>// Application code goes here
switch(testState){</pre>
<pre>case STATE_0:</pre>
<pre>if(millis() &gt; stateEnd){
stateStart = millis();
stateEnd = stateStart +1500;
testState = STATE_1;
ledBLUEController.action = RAMP_HIGH;
ledBLUEController.rampUpValue=4;
}</pre>
<pre>break;</pre>
<pre>case STATE_1:</pre>
<pre>if(millis() &gt; stateEnd){
stateStart = millis();
stateEnd = stateStart + 1500;
testState = STATE_0;
ledBLUEController.action = RAMP_LOW;
ledBLUEController.rampDownValue=4;
}</pre>
<pre>break;
}</pre>
<pre>// Update the LEDs</pre>
<pre>ledREDController.takeAction();
ledGREENController.takeAction();
ledBLUEController.takeAction();
} // end of loop</pre>
]]></content:encoded>
			<wfw:commentRss>http://labs.ideo.com/2010/03/10/animation-of-multiple-leds-with-arduino/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Game On! A Workshop at IIT</title>
		<link>http://labs.ideo.com/2010/01/04/game-on-workshop-at-iit/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=game-on-workshop-at-iit</link>
		<comments>http://labs.ideo.com/2010/01/04/game-on-workshop-at-iit/#comments</comments>
		<pubDate>Mon, 04 Jan 2010 23:06:17 +0000</pubDate>
		<dc:creator>Dave Vondle</dc:creator>
				<category><![CDATA[Arduino]]></category>
		<category><![CDATA[serious play]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[Prototype]]></category>
		<category><![CDATA[Workshop]]></category>

		<guid isPermaLink="false">http://labs.ideo.com/?p=536</guid>
		<description><![CDATA[I taught a workshop with Anijo Mathew in October at the Illinois Institute of Technology on prototyping in electronics or &#8220;sketching in hardware.&#8221;  The class was a variation on a concept created by IDEO&#8217;s Haiyan Zhang called &#8220;Game On!&#8221;  The idea is to demonstrate how fast the participants can move from concept to interactive prototype.  [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-540" title="lion1" src="http://labs.ideo.com/wp-content/uploads/2010/01/lion1.jpg" alt="lion1" width="500" height="375" /></p>
<p>I taught a workshop with Anijo Mathew in October at the Illinois Institute of Technology on prototyping in electronics or &#8220;<a href="http://labs.ideo.com/2009/10/08/sketching-in-hardware/">sketching in hardware</a>.&#8221;  The class was a variation on a concept created by IDEO&#8217;s Haiyan Zhang called &#8220;Game On!&#8221;  The idea is to demonstrate how fast the participants can move from concept to interactive prototype.  It&#8217;s incredible what people with little to no previous experience can achieve in the span of a few hours.  We constrain the workshop to the creation of a game because it allows people to be silly, excited and not over complicate the challenge.</p>
<blockquote><p><strong>Sketching in Hardware</strong></p>
<p>Sketching is a tool for conveying and capturing the right level of information as quickly as possible. When designing for interactive systems there is often value to bringing sketching off of the notepad and realizing the interaction in technology. In this workshop you will be introduced to a set of tools (in this case, Arduino + Flash/Actionscript) and will break into teams to create a game that incorporates a variety of physical interactions.</p></blockquote>
<p>In the workshop, we had a bunch of electronic sensors that were plugged into a prototyping board called <a href="http://www.arduino.cc/">Arduino</a>.  The Arduino was plugged into the computer with a USB cable that allows the sensors to control a game on the screen.  We started the day getting Arduino working with Adobe Flash on everyone&#8217;s computer.  After everyone got it working we split into groups and started brainstorming ideas for games.  The teams spent the last 4 hours cutting, gluing, wiring, drawing, learning and coding to end the day with working, playable games.  Check out the games they made and some technical details after the jump.</p>
<blockquote><p><span id="more-536"></span></p></blockquote>
<p><strong>The Games:</strong></p>
<p><em>Lion Vs. Pig:</em><br />
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="500" height="281" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=8542167&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="500" height="281" src="http://vimeo.com/moogaloop.swf?clip_id=8542167&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>This game uses Arduino connected to <a href="http://www.sparkfun.com/commerce/product_info.php?products_id=9119">potentiometers</a>, <a href="http://www.sparkfun.com/commerce/product_info.php?products_id=242">distance sensors</a> and an <a href="http://www.sparkfun.com/commerce/product_info.php?products_id=9177">arcade button</a>.  The pig tries to eat the lettuce, and the Lion tries to eat the pig.  The pig can hide from the Lion behind the barn.  The position of the animals is controlled with the distance sensors and sliders, while the lettuce is randomly placed with the arcade button.</p>
<p><em><br />
</em></p>
<p><em>Singing Glass:</em><br />
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="500" height="283" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=8540218&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="500" height="283" src="http://vimeo.com/moogaloop.swf?clip_id=8540218&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>This uses a <a href="http://www.sparkfun.com/commerce/product_info.php?products_id=8678">rotary touch strip</a> to control the pitch that the wine glass makes.  When the pitch is high enough for a period of time, the glass breaks.</p>
<p><em>Kick the Cat</em>:<br />
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="500" height="281" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=8542148&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="500" height="281" src="http://vimeo.com/moogaloop.swf?clip_id=8542148&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>This game uses Arduino connected to a <a href="http://www.sparkfun.com/commerce/product_info.php?products_id=8606">flex sensor</a> taped to a <a href="http://www.sparkfun.com/commerce/product_info.php?products_id=8713">force sensor</a>.  The player bends the end of the flexible sensor assembly backwards like a catapult to determine the angle and squeezes to control the power.  When he/she releases, the shoe kicks the cat.  The objective is to get the cat into the trash can.  The force sensor/flex sensor control was really fun, unfortunately I didn&#8217;t get a photo of it.  You can see the control on the bottom left of the video.</p>
<p><em>Soccer Shoot Out:</em></p>
<address><img class="alignnone size-full wp-image-544" title="soccer2" src="http://labs.ideo.com/wp-content/uploads/2010/01/soccer2.jpg" alt="soccer2" width="500" height="375" /><span style="color: #999999;">Source: thenewidiom.com</span></address>
<p><img class="alignnone size-full wp-image-543" title="soccer1" src="http://labs.ideo.com/wp-content/uploads/2010/01/soccer1.jpg" alt="soccer1" width="500" height="375" /></p>
<p>This game uses a <a href="http://www.sparkfun.com/commerce/product_info.php?products_id=252">three axis accelerometer</a> (like the Wii) taped to the player&#8217;s shoe.  the movement of the player&#8217;s kick controls whether the ball will go into the goal or not.</p>
<p>Check out what the students had to say on <a href="http://www.thenewidiom.com/post/220167037/this-past-saturday-id-put-on-a-hardware-sketching">their blog at The New Idiom</a>.</p>
<p><strong>The Details:</strong></p>
<p>We had a bunch of sensors to choose from and each team of 3 had an <a href="http://www.arduino.cc/">Arduino</a> Board.  We loaded some software called <a href="http://www.firmata.org/wiki/Main_Page">Firmata</a> onto the Arduino boards that allowed us to do all the programming within Flash.  The Flash library for communicating with Firmata on Arduino is called <a href="http://code.google.com/p/as3glue/">as3glue</a>.  We took the &#8220;simpleIO&#8221; example from as3glue and used that as a starting point.  The last piece of software is <a href="http://arduino.cc/en/Main/Software">Serproxy (downloaded from Arduino site)</a>, which passes the messages from the USB connection into Flash.</p>
<p>As the teams were coding I would ask if they got stuck on anything and would make examples to help them out.  I posted all of my <a href="http://code.google.com/p/sketchingmaterials/downloads/list">materials including the examples here</a>.  I borrowed a bunch of office supplies from IDEO to use as props, but the props work much better when I have brought a bin of old junky toys, pipe cleaners, foam, clay, etc.</p>
<p><em>Sensor list for <a href="http://www.sparkfun.com">Sparkfun</a>: (in order of importance)</em></p>
<p><a href="http://www.sparkfun.com/commerce/product_info.php?products_id=242">IR Distance Sensors</a>, <a href="http://www.sparkfun.com/commerce/product_info.php?products_id=8733">Jumper Wires</a></p>
<p><a href="http://www.sparkfun.com/commerce/product_info.php?products_id=9288">Rotary Potentometers</a>, <a href="http://www.sparkfun.com/commerce/product_info.php?products_id=8828">Knobs</a></p>
<p><a href="http://www.sparkfun.com/commerce/product_info.php?products_id=9119">Slide Potentiometers</a>, <a href="http://www.sparkfun.com/commerce/product_info.php?products_id=9120">Sliders</a></p>
<p>Arcade buttons (<a href="http://www.sparkfun.com/commerce/product_info.php?products_id=9178">Blue</a>, <a href="http://www.sparkfun.com/commerce/product_info.php?products_id=9179">Green</a>, <a href="http://www.sparkfun.com/commerce/product_info.php?products_id=9177">Pink</a>, <a href="http://www.sparkfun.com/commerce/product_info.php?products_id=9180">Yellow</a>)</p>
<p><a href="http://www.sparkfun.com/commerce/product_info.php?products_id=9088">Light Sensors</a>:</p>
<p><a href="http://www.sparkfun.com/commerce/product_info.php?products_id=8606">Flex sensors</a></p>
<p><a href="http://www.sparkfun.com/commerce/product_info.php?products_id=252">Accelerometers</a></p>
<p><a href="http://www.sparkfun.com/commerce/product_info.php?products_id=8681">50 cm touch strips</a></p>
<p><a href="http://www.sparkfun.com/commerce/product_info.php?products_id=8678">Rotary touch strips</a></p>
<p>Wii Nunchucks, <a href="http://www.sparkfun.com/commerce/product_info.php?products_id=9281">Wii Nunchuck Adapters</a>:</p>
<p><a href="http://www.sparkfun.com/commerce/product_info.php?products_id=8713">Force Sensors</a></p>
<p><a href="http://www.sparkfun.com/commerce/product_info.php?products_id=7918">Capacitive Touch Sensors</a></p>
<p><a href="http://www.sparkfun.com/commerce/product_info.php?products_id=8630">Motion Sensors</a></p>
<p><a href="http://www.sparkfun.com/commerce/product_info.php?products_id=8663">Color Sensors</a></p>
]]></content:encoded>
			<wfw:commentRss>http://labs.ideo.com/2010/01/04/game-on-workshop-at-iit/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Modding a Toy Camera to an &#8220;Alex Cam&#8221;</title>
		<link>http://labs.ideo.com/2009/08/05/modding-a-toy-camera-to-an-alex-cam/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=modding-a-toy-camera-to-an-alex-cam</link>
		<comments>http://labs.ideo.com/2009/08/05/modding-a-toy-camera-to-an-alex-cam/#comments</comments>
		<pubDate>Wed, 05 Aug 2009 21:09:57 +0000</pubDate>
		<dc:creator>Adam Geremia</dc:creator>
				<category><![CDATA[Hack]]></category>
		<category><![CDATA[serious play]]></category>

		<guid isPermaLink="false">http://labs.ideo.com/?p=363</guid>
		<description><![CDATA[As a going-away present for our intern Alex, an avid photographer, we decided to hack a toy camera.  Alex has an awesome signature hair cut, so we thought it would be funny to make a camera that prints his hair on all the portraits he takes.  The final design is super simple and only takes [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://labs.ideo.com/wp-content/uploads/2009/07/alex-cam-photo-5-web1.jpg"><img class="aligncenter size-full wp-image-399" src="http://labs.ideo.com/wp-content/uploads/2009/07/alex-cam-photo-5-web1.jpg" alt="" width="500" height="332" /></a>As a going-away present for our intern Alex, an avid photographer, we decided to hack a toy camera.  Alex has an awesome signature hair cut, so we thought it would be funny to make a camera that prints his hair on all the portraits he takes.  The final design is super simple and only takes a little trial and error to get right.  We used a Diana, the plastic camera from the 60’s with a cult following.  It would also work with the newer Holga camera.</p>
<p><img class="aligncenter size-full wp-image-400" src="http://labs.ideo.com/wp-content/uploads/2009/07/dscf4320web2.jpg" alt="" width="500" height="375" /></p>
<p><span id="more-363"></span></p>
<p>To begin with, we took Alex’s official IDEO portrait and Photoshopped out everything but his hair, converted to vector art, and made an inkjet print on transparency.  (Careful if you’re using your office’s laser printer — if you use the wrong transparency film, it’ll melt and ruin the printer!)  Print another one, proportionally smaller, for the viewfinder.<a href="http://labs.ideo.com/wp-content/uploads/2009/07/alex-web2.jpg"><img class="aligncenter size-full wp-image-403" src="http://labs.ideo.com/wp-content/uploads/2009/07/alex-web2.jpg" alt="" width="500" height="500" /></a></p>
<p><a href="http://labs.ideo.com/wp-content/uploads/2009/07/dscf4321web3.jpg"><img class="size-full wp-image-402 aligncenter" src="http://labs.ideo.com/wp-content/uploads/2009/07/dscf4321web3.jpg" alt="" width="500" height="375" /></a></p>
<p>Tape the transparency to one of the plastic frames that comes with the Diana.  We used double-sided tape.  Since  the image projected from the lens gets flipped, your transparency will need to be upside down and reversed.</p>
<p><a href="http://labs.ideo.com/wp-content/uploads/2009/07/dscf4323web1.jpg"><img class="aligncenter size-full wp-image-404" src="http://labs.ideo.com/wp-content/uploads/2009/07/dscf4323web1.jpg" alt="" width="500" height="375" /></a></p>
<p>Then tape a piece of vellum or tracing paper on top of the transparency.  This is just temporary, so tape it lightly with something you can remove easily.  The vellum will act like the ground glass in a large-format view camera, showing the image that will project from the lens onto the film.</p>
<p><a href="http://labs.ideo.com/wp-content/uploads/2009/07/dscf4324web1.jpg"><img class="aligncenter size-full wp-image-406" src="http://labs.ideo.com/wp-content/uploads/2009/07/dscf4324web1.jpg" alt="" width="500" height="375" /></a></p>
<p>Pop the frame into the camera.  Remember it needs to be upside down and reversed.  At the last minute, we added the IDEO logo.  It’s backwards here though, as we discovered after shooting the first photo.  Don’t forget the vellum — it’s missing here.</p>
<p><a href="http://labs.ideo.com/wp-content/uploads/2009/07/img_0590web2.jpg"><img class="aligncenter size-full wp-image-407" src="http://labs.ideo.com/wp-content/uploads/2009/07/img_0590web2.jpg" alt="" width="500" height="375" /></a></p>
<p>It’s possible to just slide the smaller transparency in front of the viewfinder, between the clear plastic and the teal plastic body — no adhesive is necessary.  You might want to wear gloves, so you don’t get fingerprints on the transparency.</p>
<p><a href="http://labs.ideo.com/wp-content/uploads/2009/07/img_0588web1.jpg"><img class="aligncenter size-full wp-image-408" src="http://labs.ideo.com/wp-content/uploads/2009/07/img_0588web1.jpg" alt="" width="500" height="375" /></a></p>
<p>To calibrate our new creation, we put the camera on a tripod.  When you remove the back cover of the Diana, you lose the tripod mount, so we fabricated a mount with a clamp zip-tied to an L-bracket and bolted to the tripod head with a 1/4-20 nut.</p>
<p><a href="http://labs.ideo.com/wp-content/uploads/2009/07/img_0596web1.jpg"><img class="aligncenter size-full wp-image-409" src="http://labs.ideo.com/wp-content/uploads/2009/07/img_0596web1.jpg" alt="" width="500" height="375" /></a></p>
<p>Note the tape measure on the floor:  we wanted the subject’s head framed as big as possible in the photo, so we had Lindsay stand at the 36 inch mark (the minimum focus distance of the Diana lens).</p>
<p><a href="http://labs.ideo.com/wp-content/uploads/2009/07/img_0599web1.jpg"><img class="aligncenter size-full wp-image-410" src="http://labs.ideo.com/wp-content/uploads/2009/07/img_0599web1.jpg" alt="" width="500" height="667" /></a></p>
<p>Switch the camera to the “B” (bulb) setting and tape the shutter button down to keep it open.  You’ll see your subject projected onto the vellum.  It helps if there’s a lot of light on your subject and dark behind your camera.  Now compare the size and position of your viewfinder view (how you’ll frame your photos) and the film view (what will actually be captured).  Note that since you’re not framing through the lens like an SLR,  there’ll be a parallax discrepancy.  For the final prototype, we reprinted Alex’s hair bigger and shifted its position on the transparency to better match Lindsay’s head.  We also reprinted the viewfinder hair to match the film view.</p>
<p><a href="http://labs.ideo.com/wp-content/uploads/2009/07/img_0602web1.jpg"><img class="aligncenter size-full wp-image-411" src="http://labs.ideo.com/wp-content/uploads/2009/07/img_0602web1.jpg" alt="" width="500" height="375" /></a></p>
<p>If you’ve done everything correctly, the images should match up in the viewfinder and on your vellum “ground glass.”  If so, remove the vellum before loading the camera with film.  We used the Lomography Instant back for the Diana, but this should work for 120 roll film, too.  The Instant back yields Polaroid-like mini-prints, which we wanted for the Alex’s going-away party.</p>
<p><a href="http://labs.ideo.com/wp-content/uploads/2009/07/img_0607web1.jpg"><img class="aligncenter size-full wp-image-413" src="http://labs.ideo.com/wp-content/uploads/2009/07/img_0607web1.jpg" alt="" width="500" height="375" /></a><a href="http://labs.ideo.com/wp-content/uploads/2009/07/img_0608web1.jpg"><img class="aligncenter size-full wp-image-414" src="http://labs.ideo.com/wp-content/uploads/2009/07/img_0608web1.jpg" alt="" width="500" height="375" /></a>OK, now you’re ready to rock.  Stand about 3 feet away from your subject and snap away.  Given the low-quality lens on the Diana, and our plan to shoot indoors, we found that the flash helped out a lot.</p>
<p><a href="http://labs.ideo.com/wp-content/uploads/2009/07/img_0610web1.jpg"><img class="aligncenter size-full wp-image-415" src="http://labs.ideo.com/wp-content/uploads/2009/07/img_0610web1.jpg" alt="" width="500" height="375" /></a>Some of the greatest hits from the party.  Note Alex in the top photo, wearing his own hair.  It takes a bit of practice (and luck) to get the hair in the right place.</p>
<p><a href="http://labs.ideo.com/wp-content/uploads/2009/07/alex-cam-photo-1-web.jpg"><img class="aligncenter size-full wp-image-416" src="http://labs.ideo.com/wp-content/uploads/2009/07/alex-cam-photo-1-web.jpg" alt="" width="500" height="332" /></a><a href="http://labs.ideo.com/wp-content/uploads/2009/07/alex-cam-photo-2-web.jpg"><img class="aligncenter size-full wp-image-417" src="http://labs.ideo.com/wp-content/uploads/2009/07/alex-cam-photo-2-web.jpg" alt="" width="500" height="332" /></a><a href="http://labs.ideo.com/wp-content/uploads/2009/07/alex-cam-photo-3-web.jpg"><img class="aligncenter size-full wp-image-418" src="http://labs.ideo.com/wp-content/uploads/2009/07/alex-cam-photo-3-web.jpg" alt="" width="500" height="332" /></a><a href="http://labs.ideo.com/wp-content/uploads/2009/07/alex-cam-photo-4-web.jpg"><img class="aligncenter size-full wp-image-419" src="http://labs.ideo.com/wp-content/uploads/2009/07/alex-cam-photo-4-web.jpg" alt="" width="500" height="332" /></a><a href="http://labs.ideo.com/wp-content/uploads/2009/07/alex-cam-photo-5-web2.jpg"><img class="aligncenter size-full wp-image-420" src="http://labs.ideo.com/wp-content/uploads/2009/07/alex-cam-photo-5-web2.jpg" alt="" width="500" height="332" /></a>Special thanks to Lindsay Wai for construction and testing help and Michelle Moy for vector art and printing expertise.</p>
]]></content:encoded>
			<wfw:commentRss>http://labs.ideo.com/2009/08/05/modding-a-toy-camera-to-an-alex-cam/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Amazing 3D immersion technology</title>
		<link>http://labs.ideo.com/2009/04/15/amazing-3d-immersion-technology/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=amazing-3d-immersion-technology</link>
		<comments>http://labs.ideo.com/2009/04/15/amazing-3d-immersion-technology/#comments</comments>
		<pubDate>Thu, 16 Apr 2009 06:55:24 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[3D]]></category>
		<category><![CDATA[serious play]]></category>

		<guid isPermaLink="false">http://labs.ideo.com/?p=332</guid>
		<description><![CDATA[Thanks to the good folks at WATG&#8216;s Wimberly Labs, we got a tour today of some truly remarkable visualization and collaboration technology, including EON Reality&#8216;s immersive 3D room. The cave (or iCube, as we&#8217;re told they would prefer we call it) is comprised of three white walls and a floor, all about 10&#8242; x 10&#8242; [...]]]></description>
			<content:encoded><![CDATA[<p>Thanks to the good folks at <a href="http://www.watg.com/index.cfm">WATG</a>&#8216;s Wimberly Labs, we got a tour today of some truly remarkable visualization and collaboration technology, including <a href="http://www.eonreality.com/">EON Reality</a>&#8216;s immersive 3D room.</p>
<p><img class="alignnone size-full wp-image-335" title="Cave" src="http://labs.ideo.com/wp-content/uploads/2009/04/cave.jpg" alt="" width="500" height="300" /></p>
<p>The cave (or iCube, as we&#8217;re told they would prefer we call it) is comprised of three white walls and a floor, all about 10&#8242; x 10&#8242; in size. Onto each surface is projected a high-resolution, stereoscopic image. A viewer stands in the room wearing polarized 3D glasses &#8212; like you might use in a 3D movie &#8212; with small markers that stick out a bit from the frames.<span id="more-332"></span></p>
<p><a href="http://labs.ideo.com/wp-content/uploads/2009/04/glasses.jpg"><img class="alignnone size-full wp-image-338" title="glasses" src="http://labs.ideo.com/wp-content/uploads/2009/04/glasses.jpg" alt="" width="500" height="300" /></a></p>
<p>The markers are illuminated by IR LED floodlights located on the perimeter of the room, and IR-sensitive cameras use those positions to determine the precise location of each eye within the room. From those positions, stereo images for each projector are calculated and rendered on the fly, and the result is absolutely amazing.</p>
<p>We had heard about this technology before, but seeing is believing. Of course to get the real experience you need to physically be in the space, but you might enjoy living vicariously through David&#8217;s experience (click <a href="http://www.vimeo.com/4177769" target="_blank">here</a> to see the vid in HD instead):</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="500" height="281" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=4177769&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="500" height="281" src="http://vimeo.com/moogaloop.swf?clip_id=4177769&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>WATG&#8217;s <a href="http://www.watg.com/?pageid=84F8A49F-3048-78A8-DBB2F0D963B0F562">incredible hotel and resort work</a> provide a superb example of the power of this tool. Why not let a client walk through their new resort before ground has even been broken? Take them into one of these and they&#8217;ll never settle for blueprints and a miniature model again.</p>
<p>Part of what makes this experience so wonderful is the lack of heavy, complicated headgear. The viewer is free to walk around, and the environment responds to their every move. There&#8217;s no training required or cumbersome technology to stand in the way of the content. But the effect doesn&#8217;t come cheap: you&#8217;ll need over half a million dollars and a lot of space to pull this off.</p>
<p>Now, how can we do something similar for pennies on the dollar?</p>
]]></content:encoded>
			<wfw:commentRss>http://labs.ideo.com/2009/04/15/amazing-3d-immersion-technology/feed/</wfw:commentRss>
		<slash:comments>64</slash:comments>
		</item>
		<item>
		<title>iPhone Party App</title>
		<link>http://labs.ideo.com/2008/12/29/iphone-party-app/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=iphone-party-app</link>
		<comments>http://labs.ideo.com/2008/12/29/iphone-party-app/#comments</comments>
		<pubDate>Tue, 30 Dec 2008 04:45:41 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[serious play]]></category>

		<guid isPermaLink="false">http://labs.ideo.com/?p=236</guid>
		<description><![CDATA[Don&#8217;t you just hate it when you find yourself at a party without a party whistle? Are you an iPhone-aholic? Then the iPhone ToyLab has just the thing for you. Released today, the Party Whistle is your virtual party whistle (bet you didn&#8217;t see that one coming). But don&#8217;t take our word for it: (OK, [...]]]></description>
			<content:encoded><![CDATA[<p>Don&#8217;t you just hate it when you find yourself at a party without a party whistle? Are you an iPhone-aholic? Then the iPhone ToyLab has just the thing for you. Released today, the Party Whistle is your virtual party whistle (bet you didn&#8217;t see that one coming). But don&#8217;t take our word for it:</p>
<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/FRGvFgW79W0&#038;hl=en&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/FRGvFgW79W0&#038;hl=en&#038;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></p>
<p>(OK, maybe that&#8217;s still taking our word for it, but, well, you know). The Party App is our <a href="http://toys.ideo.com/">Toy Lab</a>&#8216;s first foray into fun, playful iPhone apps, and as such we thought we&#8217;d share the experiment with Labs readers. The app is a mere $0.99 at the iTunes or App store: <a href="http://itunes.com/app/partywhistle">click here to learn more</a>.</p>
<p>If you download the app and try it out (say, at a New Year&#8217;s Eve party), let us know what you think by leaving a comment&#8230;</p>
<p><img class="alignnone size-full wp-image-237" title="picture-21" src="http://labs.ideo.com/wp-content/uploads/2008/12/picture-21.png" alt="" width="478" height="318" /></p>
<p>Thanks, and see you in 2009!</p>
]]></content:encoded>
			<wfw:commentRss>http://labs.ideo.com/2008/12/29/iphone-party-app/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Happy Holidays from IDEO Labs</title>
		<link>http://labs.ideo.com/2008/12/21/happy-holidays-from-ideo-labs/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=happy-holidays-from-ideo-labs</link>
		<comments>http://labs.ideo.com/2008/12/21/happy-holidays-from-ideo-labs/#comments</comments>
		<pubDate>Sun, 21 Dec 2008 23:52:41 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Hack]]></category>
		<category><![CDATA[serious play]]></category>

		<guid isPermaLink="false">http://labs.ideo.com/?p=224</guid>
		<description><![CDATA[This one comes from Florian in our Munich office&#8230; How&#8217;d he do it?  Florian&#8217;s thoughtful song is deceptively simple: a tiny music box is attached to the stem of his bike. A microphone is carefully attached beneath it, placed to allow just enough ambient noise while getting clean sound from the music box. The box&#8217;s crank [...]]]></description>
			<content:encoded><![CDATA[<p>This one comes from Florian in our Munich office&#8230;</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="500" height="281" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=2554454&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="500" height="281" src="http://vimeo.com/moogaloop.swf?clip_id=2554454&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>How&#8217;d he do it? <span id="more-224"></span> Florian&#8217;s thoughtful song is deceptively simple: a tiny music box is attached to the stem of his bike.</p>
<p><img class="size-medium wp-image-225" title="organ" src="http://labs.ideo.com/wp-content/uploads/2008/12/img_7343-300x225.jpg" alt="The miniature crank organ" width="300" height="225" /></p>
<p>A microphone is carefully attached beneath it, placed to allow just enough ambient noise while getting clean sound from the music box. The box&#8217;s crank is connected by a makeshift belt which is connected at the other end to his front hub.</p>
<p><span style="text-decoration: underline;"><a href="http://labs.ideo.com/wp-content/uploads/2008/12/mounting.png"><img class="alignnone size-medium wp-image-227" title="mounting" src="http://labs.ideo.com/wp-content/uploads/2008/12/mounting-300x229.png" alt="" width="300" height="229" /></a></span></p>
<p>Once in place, it&#8217;s up to Florian to modulate the pace of the song by controlling his own speed. We think the result speaks for itself.</p>
<p>Happy holidays from IDEO Labs &#8212; We&#8217;ll see you in the new year!</p>
]]></content:encoded>
			<wfw:commentRss>http://labs.ideo.com/2008/12/21/happy-holidays-from-ideo-labs/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>The Incredible IDEO Global Chain Reaction Experience</title>
		<link>http://labs.ideo.com/2008/10/28/the-incredible-ideo-global-chain-reaction-experience/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=the-incredible-ideo-global-chain-reaction-experience</link>
		<comments>http://labs.ideo.com/2008/10/28/the-incredible-ideo-global-chain-reaction-experience/#comments</comments>
		<pubDate>Wed, 29 Oct 2008 04:16:13 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[serious play]]></category>

		<guid isPermaLink="false">http://labs.ideo.com/?p=139</guid>
		<description><![CDATA[There was a lot riding on the seven-inch pole-dancing doll. Tickle-Me Elmo made for another pressure point. In fact, with eight worldwide locations, six time zones, and roughly fifty people involved, IDEO’s Global Chain Reaction looked more like a blueprint for possible points of failure than a functioning Rube Goldberg machine designed to run sequentially [...]]]></description>
			<content:encoded><![CDATA[<p>There was a lot riding on the seven-inch pole-dancing doll. Tickle-Me Elmo made for another pressure point.</p>
<p>In fact, with eight worldwide locations, six time zones, and roughly fifty people involved, IDEO’s Global Chain Reaction looked more like a blueprint for possible points of failure than a functioning Rube Goldberg machine designed to run sequentially across three continents.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="500" height="282" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=2096314&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="500" height="282" src="http://vimeo.com/moogaloop.swf?clip_id=2096314&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p><span id="more-139"></span> </p>
<p>Even Jon Kaplan, the IDEO veteran behind the effort, had moments of doubt. But more than that, he had moments of disbelief: How could someone actually come up with that!? How could someone actually engineer a pole-dancing doll to spin around in silver garland, knock down a Phillippe Starck juicer, trigger a Gaussian gun, and topple a Tickle-Me Elmo, plastic eyes first, onto a computer mouse that then prints a document in Shanghai? All told, there were about ten other machine-based vignettes that lasted almost 20 minutes and spanned day and night, thanks to the fifteen-hour time difference between offices.</p>
<p>Unlike many Rube Goldberg machines, the goal wasn’t to turn on the lights or pour a glass of milk. Instead, Jon wanted to get people psyched about IDEO’s engineering capabilities and to broadcast the distributed contraption live for all to see. Of course, getting a hot dog in the Chicago office to dial a cell phone in Palo Alto for the sole purpose of pumping helium into a bucket of soap and water for a three-foot cylinder of bubbles did plenty to get people excited. When the Chicago team added flames to the mix, Jon didn’t flinch.</p>
<p>“I sent out rules and people either ignored them or followed them. The sense of humor part was great. Munich emailed early on and said, These rules are there for breaking, right?”</p>
<p><img src="http://labs.ideo.com/wp-content/uploads/2008/10/chain-reaction/Waiting2.jpg" alt="" /><br />
The San Francisco office waits patiently for the New York office to knock on their door</p>
<p><img src="http://labs.ideo.com/wp-content/uploads/2008/10/chain-reaction/ChainReactionNYC_IT Problem.jpg" alt="" /><br />
The New York office logs on</p>
<p><img src="http://labs.ideo.com/wp-content/uploads/2008/10/chain-reaction/IMG_1294.jpg" alt="" /><br />
Elmo in Palo Alto sends a print to Shanghai</p>
<p><img src="http://labs.ideo.com/wp-content/uploads/2008/10/chain-reaction/IMG_9151.jpg" alt="" /><br />
Munich maps out their multi-floor Rube Goldberg</p>
<p><img src="http://labs.ideo.com/wp-content/uploads/2008/10/chain-reaction/IMG_3654.jpg" alt="" /><br />
The Boston team gets their machine ready amongst scenes of local history</p>
]]></content:encoded>
			<wfw:commentRss>http://labs.ideo.com/2008/10/28/the-incredible-ideo-global-chain-reaction-experience/feed/</wfw:commentRss>
		<slash:comments>49</slash:comments>
		</item>
	</channel>
</rss>

