I've been meaning to write about my boxee app for a while now, but hasn't gotten around to it until now.


It all started when the remote for my Boxee device stopped working, I began to research and found out that it is not an uncommon issue, in fact it is propably the most common one.

I went on Google Play and looked for replacement apps instead and tried a few ones out, but lets just say, they left me with a slight nausea (have a look for yourself).

So I decided to write my own remote, after about two weeks of spare time work I managed to get something up and running. Something I would end up naming "A Better Remote - For Boxee".

Under the hood it's a straightforward Android app that is optimized for 4.0 (ICS) with okhttp from square as the most prominent third part library.

The tricky parts.

  1. The keyboard. Getting the keyboard to display correctly was harder then it looks, by using a command called `getKeyboardText` a xml dump is retrived that contains keyboard visibility. That command is then used for pinging the device for visibility.
  2. Discovery. To find the actual device was tricky, by broadcasting on port 2563 with a hard coded shared key, challange and application we get the necessary details, achieved with DatagramSocket and DatagramPacket.
  3. Lag. One of the features of the app is the hold down to repeat button functionality, the problem is that since the Boxee sports a traditional web server (Apache?) to receive the commands they are sometime queued, which results in lag. I avoided some of the lag by acually slowing down the interval commands are sent.


I went on to sell it on Google Play. I did not expect a lot of downloads, but it is performing better then expected, with a 4.6 rating and 82 purchases.

So if you are looking for a Boxee remote replacement, please try it out, let me know what you think!