How big is big enough?
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.
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.
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.