How big is big enough?

Media Center Remote Control

Worlds largest Media Center Remote Control?
Worlds largest Media Center Remote Control?

A few weeks ago I ran into a huge remote control in a local mall at Brookstone. It did not even take me a minute to decide that this awesome piece of hardware needs to be mine. Not too long after buying this remote control, I had a phone conversation with a friend.  Together we agreed on the saying: “the bigger, the better” and brainstormed about how to develop an even bigger remote control.

Brookstone Remote Control
Brookstone Remote Control

After looking through the web, I ordered two of those well known Dance Dance Revolution mats for the PlayStation 2 (because those were the cheapest ones). In order to be able to connect those devices to my PC, I also ordered a converter box which allows to connect two Playstation 2 controller devices to the PC.

Dance Dance Revolution mat
Dance Dance Revolution mat

Those devices are internally mapped as HIDs / joysticks, and therefore easily programmable. Therefore I developed a small C# .net library to get a simple interface for future applications. The library and its entire source code is availble for download here. For the library I used and modified a DirectInput example from Mark Harris

Once I had that, it was easy to handle the different “StepDown” events and implement a simple remote control.

WindowInteropHelper windowInteropHelper = new WindowInteropHelper(this);
DanceDanceRevolutionMatManager ddrMat = new DanceDanceRevolutionMatManager(windowInteropHelper.Handle);
ddrMat.KeyDown += new DanceDanceRevolutionMatManager.DdrEventHandler(ddrMat_KeyDown);
ddrMat.KeyUp += new DanceDanceRevolutionMatManager.DdrEventHandler(ddrMat_KeyUp);

This piece of code shows how to us the Dance Dance Revolution Library.

I wanted my remote control to work with the Microsoft Windows Media Center, so I decided to use P/Invoke with some functions from user32.dll to send different key strokes for the different events. The implementation for the RemoteEventSender class can be downloaded here.

This is the final result, a simple, but working prototype of a lifesize, universal remote control for Microsoft’s Media Center:

Feel free to use the source code for your projects, if it is helpful at all, but drop me a line if you do so. The sourcecode for the entire project can be found here.

Please leave a comment if you know / have / have seen / have heard of a bigger one.

What comes after multi-touch? - User Experience perspective:

Why not multi-step? Let’s see if this is the first STEP towards an incredible UX-paradigm-shift. :)