Skip to content

May 23, 2011

7

Amarok, EtherMedia, SoK and moving on

I applied for GSoC again this year, and sadly, I did not get selected to work on Amarok for KDE. Quite disheartening, yes, but then, Bart Cerneels sends me an awesome email, inviting me to work with him on the project via SoK.

No money this time (not very happy about that), but I do get a t-shirt (quite happy about that) and above and beyond all, the feature I plan to implement in Amarok for my SoK tenure is a really exciting idea.

I call this feature ‘EtherMedia’, and an excerpt from my proposal:

EtherMedia is a proposed addition for the Amarok audio player which enables users to share or stream their media with other users via networks like Instant Messaging. EtherMedia is built with strict semantics in mind and follows a highly deterministic protocol. The term ‘highly deterministic’ is covered further in this document. While the main focus of sharing is via IM networks during an ongoing conversation, EtherMedia works on the principles of ‘Ethers’. An ‘Ether’ is any medium with which this stream can be shared. The scope of this project is limited to implementing the IM channel to a complete functional implementation, but keeping open the option for more channels to be devleoped in the future.

Hmm, quite bookish, one would say. Allow me to illustrate. Consider the following to scenarios, both being, again, an excerpt from my proposal:

Firstly, consider this typical scenario, where Aliya wants to share her media:

  1. Aliya logs in, selects a playlist and goes to Playlist > Share with EtherMedia.
  2. Once she has decided the playlist/files to share, she can select which all users can listen to her shared playlist. This ‘userlist’ will be the list of all the contacts she has on Kopete, GAIM or any of the clients accessible via Telepathy. If she wishes to share it with a few of her contacts privately, she can set a passkey and only the users with that password can listen to that shared playlist.
  3. She can also select if she just wants her current playing track to appear in her status, clicking on which her contacts can stream over the current playing track. Or the status could also be a custom title like, ‘Listen to my new Melodic Death Metal compilation’
  4. On the other side of the IM conversation, the users she has selected to share it with will see a new chat window open up (or within the same window, if one is already open) saying ‘Aliya wants to share ‘Melodic Death Metal compilation’ with you [Browse]‘.
  5. Users on the other end of the IM application can then access the media, browse the library, stream it etc.

Also, consider the case, when Aliya shares here entire Media Library with her contacts. Now, her contact Betty, can perform the following actions:

  1. In her Kopete window, she sees a new link come up, saying ‘Aliya wishes to share her Media Library with you. [Browse]‘
  2. She wishes to browse all the songs Aliya has by the artist ‘Sigur Ros’. So, using the available filter editor she says ‘All songs by Sigur Ros’. This is translated directly to ‘playlist:(artist:Sigur Ros)’ and is sent to amarok on Aliya’s computer.
  3. Since, Aliya has allowed Betty to view her entire Media Library, Betty can now browse and stream all the songs from Aliya’s Media Library by the artist ‘Sigur Ros’.
  4. Alternatively, Betty can also request for Aliya’s entire Media Library’s metadata (albeit partial). The reason this does not happen by default is because it is quite common to have 3000-4000 songs. An entire library’s metadata can easily run into MBs which is not very favorable for hosting from home-oriented internet conections.

The entire proposal from which I have taken this excerpts since I was too lazy to type out those descriptions again is available here

Thanks go out to Lydia, Bart and the entire KDE team, and a special mention, as always to Eike Hein, the crazy sysadmin.. thanks for getting my git running :)

Read more from Uncategorized
7 Comments Post a comment
  1. Znurre
    May 23 2011

    Really nice concept.
    I am looking forward to seeing this in action.

    Reply
  2. Space_Man
    May 23 2011

    Which IM apps or protocols will be supported? IRC?

    Reply
  3. Gunni
    May 23 2011

    Does not sound that new to me. Sounds like the standard feature of the tomahawk player:
    http://www.tomahawk-player.org/home

    Reply
  4. Aaron
    May 23 2011

    Have you looked at tomahawk? It seems very similar to what you’re trying to do, just with a different implementation. I agree with you that it’s a great feature and I’d really like to see it implemented inside a great music player like amarok. At the very least they’ve probably hit a few hurdles you have yet to face and can give you some advice on how to best deal with them.

    Reply
  5. Arvind S Raj
    Jun 20 2011

    @Gunni @Aaron
    Actually no-what he’s trying to implement is completely different from tomahawk. Tomahawk uses Jabber/Twitter/Zeroconf to find out peers, no conversation is possible whereas playlist sharing happens through an instant messenger I think. This is similar to this project http://nloko.ca/?p=19.

    And well the tomahawk features are being implemented in Amarok too-that is another SoK project by itself.

    Reply
    • rohan
      Jun 25 2011

      Thanks a lot for the helpful comments… :-)

      Reply

Leave a comment

required
required

Note: HTML is allowed. Your email address will never be published.

Subscribe to comments

Recommended Books