In the vein of Arduino-controlled espresso machines and Lego bots, we’ve been playing around with Flash and the Nokia 770 Internet Tablet. With its flexible Linux-based OS, the Nokia 770 is great for rapid prototyping. Plus, you can snag one on the cheap ($65-170 on eBay).

Hardware aside, Flash is a great language for quick prototyping. It’s an environment that many designers are already familiar with, and it enables the user to create a graphic interface in minutes.  For prototyping on small screens, Flash Lite can be used, but Flash Lite cannot communicate to other devices outside of the device it’s running on (aside from calling other phones).  The Nokia Internet tablets are interesting because they are essentially tiny Linux computers and run full-fledged Flash.  We got one of these tablets to run Flash and talk to an Arduino board.  This enables any kind of sensor to communicate with the Flash application and allows the app to control things like lights and motors.

Detailed instructions for setting this up can be found in our Google Code wiki:

Nokia N810 + Arduino

Nokia 770 + Arduino

We’ve been using a Nokia Internet tablet, an Arduino board, and Flash for some rapid prototyping fun (read more here).  We’ve learned some interesting tidbits about the Nokia tablets as prototyping platforms:

  1. How to prevent the tablet from dimming the screen or entering sleep mode
  2. How to hack your own buttons onto the nav controller (up, down, left, right, enter) (770 only)
  3. How to disable all of the hard buttons to prevent accidental use (770 only).
  4. Creating snap-dome hard keys for prototyping small devices with physical buttons.
  5. Application Instructions (Connecting as root, SSH, SCP, changing passwords)
  6. ROM Tool instructions (Flash the ROM, R&D mode, USB Host Mode, new Kernel)

(more…)

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 across three continents.

(more…)

At IDEO we’re all about building to think. Learning from books and websites and product demos is cool, but we think the really good stuff comes when you get in there and start messing around for real.

In the case of multi-touch interfaces, that meant building a system we could start prototyping on. What we wanted was:

  • a multi-touch display large enough to facilitate use by several people at once
  • an API for flash that would let us quickly prototype multi-touch interfaces and applications

It took us about 5 weeks to get everything together. Kyle, one of our all-around gearheads, had already been building a drafting-table-style FTIR system in his garage which helped kick-start us.

(more…)

Timer1 is an AVR and Arduino compatible software library for the ATmega168 microcontroller. It provides a user friendly interface for taking advantage of two commonly used features of an on-chip hardware timer:

  • pulse width modulated analog voltage
  • timer overflow interrupt handling. 

Initially this library was built to address the fact that Arduino’s analogWrite() function does not provide a mechanism to change the period or frequency of any of the timers which drive hardware based pulse width modulation, but it has since grown to accommodate the interrupt handling features as they are related and just downright useful.

Some of the things we have used the library for on projects in house include:

  • CPU independent servo control
  • Frequency generation in the audible range (digital synthesis)
  • Integrated hardware / software PWM control for independently variable analog voltages on 12 pins simultaneously (4x RGB leds)

You can download the library and learn much more about the project by visiting our page on the Arduino Playground at: http://www.arduino.cc/playground/Code/Timer1

At IDEO we’re pretty excited about multi-touch interfaces.

Most people who have heard of multi-touch know of it in the context of the iPhone. Being able to use more than one finger on the iPhone’s screen means support for some pretty intuitive interactions. Pinch a map to zoom out. Slide a finger to scroll through photos. Multi-touch is a big part of that little device.

But when you’ve got a large screen with multi-touch support, that’s when things start to get really interesting.

Most computer interfaces today assume a single user. Whether a screen is small or large, the computer powering it is usually designed for one user. There’s one keyboard and one mouse. And even if you were to add another, the software only allows for one cursor. Every interaction assumes a single user.

(more…)

Every fresh Wordpress blog comes with a Hello world! post. It’s just there - a part of the initial software installation. Coders recognize it as a throwback to the early days of programming (and likely to the first program they themselves ever wrote). It’s also a simple way to show the new blog admin how their blog works.

Normally, one of the first things that admin will do when they set up their blog is to go and remove the Hello world! post. But for this blog, we’ve decided to keep it.

hello, world by oskay.

The feeling a coder has when they see “Hello world!” for the first time on the tool or system they’re creating is a great feeling. You’ve just given birth to something. It’s still young, fragile, and only a hint of what it someday will be. But it’s alive. Something you’ve made with your own two hands is starting to breath. It has begun.

At IDEO we have that that feeling often. Bringing new ideas to life is an essential part of what we do. The first versions are usually rough. They’re early proofs of the concepts, ways of helping us explore, learn, and think. Usually they’re not very pretty. They’re not finished products, after all, but prototypes of what could be.

Most of the time those prototypes don’t get shown to anyone but the client who hired us. But sometimes we do stuff that we can share, and we’ve created this blog to do just that. This is a place where we can offer bits of what we’re working on, talk about cool techniques and share our excitement over the tools that help us create.

It’s also a place where we hope conversations will take place. If you see something you like, leave a comment and let us know. Point us to an even cooler version of whatever it is we’re so jazzed about. Toss in an idea. Ask a ‘what if’…

Hello world!