Banshee Going Telepathic!
So, today brings us to the end of SoC week 1. I’d say it’s been quite a productive week. Although I haven’t really followed my schedule outlined in my proposal, things are going well. I had initially planned to be finishing up the bindings to the Telepathy API at the end of week 1. But, during the community bonding period, I just couldn’t help myself and starting playing with things by writing some tests. I also spent some time during the community bonding period familiarizing myself with Banshee code. So, as SoC officially started, I was armed and ready.
Since a picture speaks a thousand words, I’ve decided to go one up and post some video. I made a screencast of what’s been done so far. As shown in the video, when the new Telepathy extension loads, there is a new source category in Banshee called ‘Contacts.’ So, here’s the play-by-play:
Tubing anyone?
Telepathy tubing that is. And, call me crazy, but today’s tubing adventure was quite fun. I spent most of today working on a test using C# to access a remote D-Bus interface over a D-Bus tube. The code for this test actually tests a lot more than just D-Bus tubes, as there a number of things that need to happen before the tube can get setup and used. Also, the API has been changing faster than most of the examples out there can keep up. So, this test required some experimenting with the newer Requests interface and DBusTube type channel. It was a great exercise to learn how well C# and Telepathy can play together. With the help of the bindings I’ve put together, the verdict is: so far so good.
The test isn’t complete, but the exciting stuff is all there. I’ll probably finish that up tomorrow and move on to other interesting things related to my SoC project for Banshee. I’ve got a Google document going full of design details and other things I want to note before I forget them forever. I think a list of test cases will be good to start thinking about too. The plan is to have all this deep thought out of the way before our official coding start date.
But, before any more thinking, I think it’s time to tear myself away from this computer and go do something completely mindless.
Telepathy supports Jabber File Transfers!!
If support for this wasn’t available, I probably would have had to use HTTP over a Telepathy stream tube to provide downloading capabilities in my Banshee SoC project. A file transfer channel should be much easier. :)
Yes, I’m a little over excited. But, I’ve been studying for finals, so it doesn’t take too much to excite me right now.
Democratic Banshee?
While discussing my SoC project with a friend, I learned of a new feature in iTunes 8.1 called DJ. Basically, this lets any iPhone users that can get on your network vote for the next N songs to play. So, I thought..hmmm…perhaps this is something that could be integrated into Banshee after I get the Telepathy extension done?
I envision a group of IM users subscribed to stream a single user’s library maybe using UPnP AV or something. Then, the users can vote on the next N songs that will be played. Perhaps the play queue could be used to store the next N songs. In my opinion, that would be pretty cool.