When the business line rings I want to answer it fast. It could be a client, prospective client, or technical support for a site user. I need to have pen in hand and fresh piece of paper in front of me, and be ready at the keyboard for whatever may come. Oh, and I need to stop my music.

I use a single keyboard, mouse and screen rig hooked to a KVM, and it seems I’m always attached to the wrong computer when the phone rings. Switching takes a moment, the screen then needs another moment to sync with the new input source, and then I can start to navigate to the player. I’ve mitigated this a bit by mapping a OS-level keyboard shortcut to pause playback, but the whole process is is still unacceptably slow.

Back when I used a Windows box I used an Optimus Mini 3 which worked quite well. My half-hearted attempts to get the Mini-3 to work in Linux didn’t get very far, and nobody on the web has put in the time either.

I found someone who has written a Python script to expose Rhythmbox‘s controls via a port and someone wrote an Android App to control such players, so now I can put my phone into a nice desktop doc and I’m all set! Almost.

All aspects need a bit of work. The python script can be crashed fairly reliably, and upon crashing it doesn’t release the port making it difficult to re-start. The Android app will sleep so I need to wake the phone, unlock it, and then I can control my player – assuming the Python script hasn’t crashed.

Fortunately both are GPL. The Python script is only 140 lines,  contains no comments at all but is quite readable code. I need to get into the Android SDK and start playing with the phone app, but it looks to be OK.

What I need:

  • The Android app needs to optionally prevent the phone from sleeping.

What I’d like to do:

  • Make the Python script more stable (don’t crash, release the port)
  • Convert the Python script into a native Rhythmbox add-on
  • Make the Python script support images, song look-ahead, toggle shuffle
  • The Android should optionally leave the phone’s status bar visible
  • The Android app needs to be more tolerant to communication issues and server crashes, and report when connection is lost
  • The Android app should have an optional status bar icon when it is actively connected and it is not the active application
  • The play/pause button should be far more substantial

Then I’ll be able to answer my phone.