Monday, March 8, 2010

History of Xeblix

I created Xeblix because I have three remote controls and a wireless keyboard in my living room and a feeling there has to be a better way to consume media. A universal remote solves the problem with infra-red devices, but not my media-pc. After getting my Android phone I installed RemoteDroid and saw the potential for using my phone as a remote. Unfortunately RemoteDroid has some problems. It does not communicate with any infrared hardware so it can not control my tv/dvr/etc. RemoteDroid gets locked out every time any Vista UAC window pops up. Finally RemoteDroid works over Wi-Fi. On my phone Wi-Fi takes up to two minutes to connect and shuts down after a few minutes in sleep, also it drains the battery very quickly. Waiting for Wi-Fi to come back on while trying to pause a show isn't much fun.

I began thinking about Lirc and how easy it would be to throw together a simple server that listens over Bluetooth and forwards commands to Lirc. Bluetooth uses significanly less power, and having another Bluetooh device opens up the possiblity of turning it into a HID device (HID devices can be keyboards, mice, game controls, etc). I purchased a mini Bluetooth adapter and created a VMWare Ubuntu instance on my media-pc. I installed Lirc and got it working with a Microsoft Media Center infrared transmitter I had laying around. The server came together pretty quickly as did the Android client and I had a proof a concept. The client looked cheesy, a few buttons on an absolute layout, but it worked. Next I bought a SheevaPlug and ported the server over. The Sheeva Plug means I have a low power, small footprint, always on device that is easy to hide. Finally I add a Bluetooth HID Keyboard Profile (a huge pain by the way) so I can use my phone as a Bluetooth Keyboard.

This is pretty much the state Xeblix is currently in. I am using my Android phone to control my TV/DVR/Windows Media Center/Hulu, etc. I am now working on cleaning up the code and creating a developer release that works on Android 1.5 and higher, and VMWare, VirtualBox, and SheevaPlug (with a Bluetooth adapter and a infrared transmitter of course).

No comments:

Post a Comment