YME Jabber Control

I’ve made my Jabber Control plugin for the Yahoo! Music Engine available for download.

This plugin allows the Yahoo! Music Engine to connect via Jabber (XMPP) protocol and listen for remote control events.

Screenshots

YMEJabberPlugin screenshot  

What is it?

This Yahoo! Music Engine DLL plugin installs a new item in the service drawer called
“Jabber Control”.

This plugin allows the Yahoo! Music Engine to connect via Jabber (XMPP) protocol and listen for remote control events.

Jabber is an open-source instant messaging standard that uses a streamed XML protocol (over TCP) for communications. While Jabber was originally conceived for instant messaging, it is not uncommon to use the communication protocol for other purposes, such as receiving news headlines and simple system administration. The benefit of using Jabber is that it enables communication between arbitrary points on the Internet, even in situations where one or both servers are behind a firewall which blocks incoming traffic. Jabber can do this because clients make outbound connections to an intermediate server, which serves as an intermediary for the two clients – thus neither client needs to accept a connection.

I chose Jabber for this project, because I wanted to be able to control the Yahoo! Music Engine from a device which does not live on the user’s home network. My main goal was to be able to use my Treo 650 as a remote control for the Music Engine. The Treo has wireless internet capabilities but does not live on my home network – therefore, it needs to connect to my home network from the outside, traversing my firewall. I didn’t want to open ports on my firewall for this and I didn’t want to require users of my plugin to have to mess with their firewall configuration either.

Requirements

  • .NET 2.0 Runtime

Download

Clients

You may control the YME from any Jabber-enabled client, such as:

  • Jabber desktop software, such as Exodus or Gush
  • Jabber wireless web-enabled chat software, such as Chatopus for the Treo 650, imov for PocketPC, IM+ for Blackberry, etc.
  • Future custom-developed applications for one or more wireless devices. These applications would be designed to function primarily as Music Engine remote controllers instead of chat programs. Thus, they would offer a more convenient user interface that takes advantage of all the features of the device. I would suggest writing such an app as a J2ME (Java) MIDlet – this would allow the application to run on a number of devices.

Command list

<< previous track
p previous track
>> next track
n next track
> play/pause
V volume up
v volume down
? help
h help

Development notes

This plugin was created with Microsoft Visual C# 2005 Express Edition Beta and the Nullsoft Scriptable Install System (NSIS).

Jabber functionality is provided by Jabber-Net, which is a nice Jabber library for .NET.

Leave a Reply

Your email address will not be published. Required fields are marked *