Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I've got some plans. Right now I've got all my music on Google Play, having moved it from iTunes last year, which was painful, but not too bad. I eventually want to write some Ruby software that will hold all the metadata in a sqlite database replicated to Dropbox. That way I know what the tracks are. I'll seed the DB, hopefully by hooking into a Google Play API that hopefully exists.

Then I want to grab all the files and put them on S3 or something and store the links in the db. Then it's a front-end problem, I'll need a command line interface and then one day I'll make a GUI. I could also find tracks that exist only, say, on YouTube, and store links to those too.

Then I'll be able to use it as a music player and store no music on my local machine.

Then the biggest pain in the ass becomes syncing to my portable devices, which is the only reason I haven't done this yet. I would hate to have to maintain two libraries at the same time. So I have to think my way through that. Though I'm sure I could write a syncer that would work much better than Google Play's, I haven't bothered to sit down to do it yet.



It sounds like you're working really hard to reinvent what Subsonic already achieves. It lets you build your own streaming service, and has apps (with caching) on all mobile platforms.


Doesn't bother me. I reinvent a lot of things. Doing it myself lets me fine-tune the interface and hook it into other projects.

Also, I've learned that reinvention often takes less time than learning someone else's service. If the API is really clean and useful, maybe it's worthwhile, but in most cases, it's not. If only because the vast majority of the time, I'm expected to use what's effectively a beta. I can write beta software too!

For this service specifically, just because I can self-host won't make it any easier to move off of it. Moving from iTunes to Google Play was pretty easy once I grabbed a library off of RubyGems to hook into iTunes. I'd have a coding task to do to move off this too. My own software can have everything I need, so I won't ever need to move off, just write translation layers. It's more work up front, but buys me a lot of flexibility down the road.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: