Boxee is easy to use, mainly you need only six buttons on a remote to control it (the navigational keys, select and back). Sometimes you need to enter some text, maybe for a search box or to use the new feature of adding a comment to an item you liked. This can be time consuming with a normal remote, so the ideal device would have a little keyboard like the Boxee remote or the Logitech diNovo Mini ™ (which does seem a little expensive). The Nokia N900 has a nice backlit hardware keyboard though and a touch screen. One possible snag you might think is the lack of a “app” to control Boxee (such as the ones available for Android and iPhone), but “if you can't do something do something else” (according to a saying I may have made up). Fortunately it is possible to control Boxee through a browser, and this approach might work for other mobile devices too.
Back at the start of 2009 a project was created to build a web based remote control for Boxee. This meant you could open a browser window and control it from that, no application was needed on the mobile. I tried this out and found the code still works, you can find it here: http://code.google.com/p/boxee-web-remote/. Follow the installation instructions and make sure the web server component is running by going to Settings → Network → Servers. If you have trouble connecting check out this thread: http://forum.boxee.tv/showthread.php?t=15257&highlight=web+server, which I found useful. Log onto your Boxee box from your mobile phone browser and you should see a remote control. Note this will only work if your mobile and Boxee system are connected to the same network, and you can enable a web password if you want to control access to your system.
The layout was not designed for the N900 though. The original interface is designed for a screen in portrait mode, but the N900 screen is landscape, so I wanted to rearrange the buttons to use more of the screen space and make everything fit nicely. Also I wanted to be able to use the keyboard when searching or adding comments to items I've liked. In the <div> tag immediately under <body> I changed the width to 750 pixels so I could use more of the screen. I could then rearrange the buttons by changing the positions in the style.css file in the css folder. I've attached the modified default.asp and style.css files to the end of this post so you can download these, rename them to take the “.txt” bit off and drop them into your web remote installation.
The code I downloaded had a number of keyboard shortcuts defined, but I wanted to use the keyboard for text entry. At about line seventeen in default.asp there is a function to handle keypresses so I took out the lines for the keyboard shortcuts and modified the function to handle key presses as text entry. This code can handle keypresses for normal ASCII characters, backspace and enter. The codes that need to be sent to Boxee are documented at: http://developer.boxee.tv/Remote_Control_Interface. Of course it needs improving to handle all sorts of other characters, so feel free to wade into the JavaScript and make it better! I also took out a couple of lines in the original code that were to do with the Apple iTouch as they are not needed for the N900.
It all works fairly well it seems, I've had some problems getting the backspace key to work properly and it can get temperamental if you click too many keys too quickly. When you use the web remote on an N900 you might find that tapping the screen causes it zoom instead of sending a keypress. This can be solved by enabling “hover mode” on the browser, see http://wiki.maemo.org/N900_Shortcuts_and_Gestures#Web_Browser_Gestures for details on how to do this.
So now it is possible to control Boxee from a Nokia N900 without having to wait for someone to write an application! All I have done here really is to rearrange the buttons and change a bit of the coding to suite this device, so there is no reason why you couldn't reapply these ideas and modify the code to be optimised for other mobile phones that have a web browser and a WiFi connection, but no client Boxee remote application available yet. The original web remote code is great to build on and adapt so tinker with it and see what you can do!