[Banshee-List] GSoC Telepathy project



Hi all,

I have decided to write up a proposal to work on sharing via Telepathy in Banshee for this year's Google Summer of Code.  The basic idea is to take advantage of the "tubes" implementation Telepathy offers.  Basically, it lets you transfer arbitrary data between yourself and your IM contacts.  It's nice because it deals with all the connection work, and it can even handle NAT traversal.  And, now that "out of band" tubes have been implemented, it's a great time to start working on this.  Be advised, however, that this will only work with XMPP (jabber) protocol.  And, since Empathy is really the only client that uses Telepathy, it will only work with Empathy. 

This is what I envision being available for sharing:
- metadata, such as track, artist, album, BPM, etc.
- playlists
- files

This is how I envision the UI:
- user can right-click on any song/playlist in their library to share with an IM contact
- there will be a new Menu called "IM Sharing" on the popup menu. 
    - this popup menu have a submenu with all the available sharing actions
- when an action is clicked, a dialog will pop up (Empathy provides a widget to help) with all your friends that are onilne.
- after choosing a friend, the data will be sent across the tube to the contact.
- if metadata is sent, the data will be received in an IM chat window.
- if a file (music/playlist) is sent, it will be saved in a directory of the recipient users choosing.  This will require either a settings dialog or option in the preferences dialog for the location of where to save shared files.  Or, a popup dialog on the recipient user's end to confirm where to save the file.  Or, both?

Also, I would like to implement the feature of sharing what is currently playing on Banshee with all of your IM contacts.  This would be done by automagically setting the "custom message" on Empathy whenever the song changes.

Another thing I thought of is being able to search your friend's library?  Maybe this could be done using the D-bus indexer interface?  It would be cool if there was a way to create a cloned source of a user's library that can be accessed via D-bus.  Then, we could have maybe an IM sharing source in the left sidebar with available contacts underneath.  Then, when clicking on a contact, that contact's cloned library would show up.  However, this may be too intrusive?  Could this even be done?  This could also introduce a totally different UI method for this Telepathy work.

Also, It would be great if we could stream music from contact to contact.  But, I feel that would require a whole other project on its own, such as reimplementing DAAP sharing (this is frowned upon, however, because its proprietary to Apple and, thus, not going to happen), or implementing something new like UPnP AV sharing.  Maybe this could come after the Telepathy groundwork has been laid down.  Or, maybe someone else could take that on as a GSoC project? :)

So, I'm looking for comments from the community.  Do you think this is a good way to implement the UI?  Do you think there is a better way?  Comments on the cloned library source?  Is there anything else that could be shared that I over looked?  And, anything else that you'd like to comment on. :)

Thanks,
Neil




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]