Zeya: bring your music anywhere

I love SSH. One reason is that I love being able to get to my files from anywhere on the planet without any advance planning.

After using SSH for a while, carrying my bits around with me on magnetized platters or EEPROMs inside a laptop/phone/PMP just seems so quaint and irritating. It leads to a host of problems: you have to worry about synchronizing, deciding what to synchronize, merging changes, and misplacing your device. Usually, some bizarre cable is involved in transferring data. And invariably, there's that one spreadsheet, paper, song, or ebook that you tragically can't view because you left it on your computer at home.

(Incidentally, I think using cloud hosted storage/apps is one approach, but not a complete solution, at least yet.)

Introducing Zeya

While SSH is great for the vast majority of application classes, I think effectively accessing audio/video remotely requires more specialized tools.

To this end, I spent a few days writing Zeya, a music server that takes your Rhythmbox music collection and streams songs from it to you. However, unlike gnump3d or ampache, Zeya presents a full music player right in your web browser, using the goodness of HTML 5. No Flash, no Silverlight, no Java applets, no plugins, no popups, no invoking external players, no client-side software installation.

Zeya brings your music to any computer with a web browser (OK, as long as the browser is Firefox 3.5, for the moment). Play songs from your collection on your desktop at work. Or on your netbook at Starbucks. And now or soon, when you get a current-gen web browser on your phone/MID/fridge, you can bring all your music there too.

Picture iTunes' library sharing. Now imagine that its functionality wasn't crippled to lock users in to iTunes. Oh, and you could actually access it from outside your LAN. Oh, and that you could listen from any computer, anywhere, without installing any software. I think Zeya in its current state is just a pale shadow of what is really possible when you actually try to make information really easy, rather than just marginally less difficult, to get to.

Samson Yeung and I have been working on, and using, Zeya for a few days now. It's pretty useful and easy to get running, but it is feature-bare, experimental, and subject to change in all sorts of fun and interesting ways. If that doesn't scare you, visit

http://web.psung.name/zeya/,

try it out, and let me know what you think.

5 comments:

  1. This looks really cool, but what about the IP issues? Am I risking having the RIAA sue me silly having an easily-visible completely open view to all my music just sitting there?

    ReplyDelete
  2. I am not qualified to give legal advice... but I am perfectly happy to give technical advice!

    It's wise to not only keep casual observers away from taking your bandwidth but also to minimize the number of open ports/services in general. In the use case I had in mind (installing on your desktop at home and streaming while on the road) I imagine you would typically only expose SSH and then tunnel this service over SSH. This should be pretty straightforward to set up.

    HTTP authentication is also one of the features we're thinking about.

    ReplyDelete
  3. Nice project! Is it able to stream flac files losslessly? That is a problem that has been vexing me for a long time.

    ReplyDelete
  4. @Anonymous: currently, Zeya encodes to Vorbis; I think Firefox and Chrome will both play Vorbis and WAV, but not FLAC. You could just choose a sufficiently high bitrate for Vorbis; or, if you really wanted perfect fidelity, with a little work, you could make Zeya stream the WAV output directly.

    ReplyDelete
  5. I just wanted to say thank you! I'm using and loving Zeya!

    And to nex3, above, I'll say this:
    "They only call it 'file sharing' because 'music sharing' sounds like it should be allowed."
    --QuestionCopyright.org

    ReplyDelete