Cloud Apps at Home

What Happens When Cloud Apps Rain?
I’ve been using Amazon Music and Google Music services since they were in beta. I’ve enjoyed both services and when they came out, I was really excited about their potential. Amazon Music was especially good because I was already buying tons of my music through Amazon and it integrated really well with the music player.

Google Music started doing the matching thing which made it even easier to use. I could move my music from Amazon over to Google without too much fuss. I liked their interface better, and the music search seemed to work right.

A few weeks ago, while using Amazon Music, I tried looking for a song I had purchased on Amazon. It was gone. I thought that I bought it on Amazon, but I have purchased some music on iTunes – so I decided to check my receipts. Sure enough, I had bought this song on Amazon. Where was it? I still don’t know.

Between that and other experiences with cloud apps, I’ve decided that in most cases, I can’t trust those apps. I either need a way to back up my data locally, or I need a replacement solution.

How Many Software Engineers Does it Take to…?
Being a software engineer, I decided to solve this problem by building my own music service that I host at home. My internet connection is fast enough that I can stream media to wherever I am. I also recently purchased a pair of Chromecast devices from Google. Google whitelisted them for me and now I’m trying to build my own music player.

It will work on my TVs (through the Chromecasts), my phone, and my browser – when I’m at work, my parent’s house, on vacation, wherever.

There are lots of problems with this:

  1. What if my hard drive fails?
  2. It will cost money to run a computer out of my house that does all of this
  3. It will take a lot of effort to build the app.

Well, to address these problems, I’ll need to create some sort of backup mechanism. The cost of the hardware and hard drives may be expensive. There are also other options out there like Mozy, but that can introduce some of the same problems I had previously.

For energy and hardware costs, I’ve repurposed an old Asus EeePC to be the computer. I estimate under load, it will only draw about 5W of power, which is pretty dang low. I spent $100 on a Western Digital Passport 1.5TB hard drive though. It is also low power and has decent capacity.

The effort to build the whole system is probably the largest drag and biggest risk. I get bored fairly easily, and I don’t have tons of time. I’m hoping that I can focus on this enough to get something functional working though. It also helps that my current options leave me frustrated every time I use them, which provides motivation to work.

The Future
I’d like to build local apps that manage my photos, DVD/BluRays, email, etc as well. Evernote recently lost some data of mine and I’m also eager to replace that app with something that I can trust. That will be much harder to replace though.

I ultimately think that I’m not going to be able to pull this off, but I’m going to try anyway, because I feel like I’ll learn a lot. Some of these services use technology that I’m unfamiliar with, or processes that I find interesting. Being curious, I’m always interested in how things like handwriting recognition or music fingerprinting work. That will be the ultimate reward for me.