Thursday, January 24, 2008

This makes me want to quit my job and become a full-time nerd

I stumbled across some video demonstrations yesterday that, as they say, captured my imagination.  The videos show some high-level nerdery using the Wiimote to control a non-Wii computer interface.  If you have a moment and a high-speed connection, click on over to see what I'm talking about.  The video at the bottom is by far the most impressive to my eyes.

All of this stuff is possible because the Wiimote has some serious hardware inside.  First off, the connection to the Wii proper is done through a Bluetooth connection, which makes eavesdropping in on the messages being sent back and forth much easier.  For those of you who don't know, Bluetooth is a wireless communication standard that is most commonly seen in the cell phone market.  If you've seen people walking around wearing just a headset talking on their phones, you've seen Bluetooth in action.  The user's phone is squirreled away in a backpack, pocket, or briefcase, and the headset is connected to it, acting as a remote microphone and speaker.  The Wii uses the same techonology but instead of sending a phone conversation between a headset and a cell phone, it is used to send information between the Wiimote and the Wii.

The information that it is sending is where the real magic is, though.  There are two things the Wii system uses to keep track of where the Wiimote is and how it is moving.  The first is an integrated three-dimensional accelerometer.  This is a little chip that can measure how much acceleration the Wiimote is experiencing in all three dimensions (up/down, left/right, away/toward the TV screen). Using a bit of math, it is theoretically possible to know exactly where the Wiimote is in space at any time and how it is moving.

It appears, though, that some kind of practical limitation kept this sensing from being precise enough in the real world and so a second system was put in place: the IR camera.  In the very front of the Wiimote is a fairly high-resolution IR camera that watches the position of two IR LED lights tucked away in the sensor bar you place on your TV. By watching the size, position, and orientation of theses lights,  a second independent method of 3-D location is made possible. If the lights are bigger, the Wiimote is closer to the TV.  If the lights are in the upper-left of the screen and tilted, then the Wiimote is in the lower-left of the screen and also tilted.

All of this (and more) has been packed into one remote-control sized device that is actually affordable to normal people (that is, people not doing research in academia).  In my mind, this is probably the most incredible part of the whole system.  Because of this integration, the Wii is the most accessible, most-popular video game platform today.

What these videos show, though, is how much more potential there is.  Adventure-some hackers have taken the time to largely decode and understand the information being sent between the Wiimote and the Wii.  Using this information, software hase been written that allows a Bluetooth-equipped computer to connect to the Wiimote and use this information for other purposes.  This device-level software (called a "driver") is then used by other programmers who build on it and create more general software like what is demonstrated in the videos.

The incredible potential of this system truly captures my imagination.  The opportunities to do new things in new ways seems wide open right now and it makes me want to quit my job and explore these opportunities.  If I was more of a computer nerd, I might just do something like that under the guise of a graduate program.  For now, though, I'm going to sit back and continue to be amazed at how these "toys" are going to be put to use.

1 comment:

  1. I'm glad this fascinates you. I wish I could understand it enough to share your enthusiasm.

    ReplyDelete