Choosing Google Drive
About three weeks ago I started a project in my house to move all of our personal pictures, home movies, music, and other shared files out to a cloud base storage provider. I did some research and based on cost I decided to go with Google Drive for my purposes. They had a native Mac sync client and also I tend to use Google Chrome and many other Google Cloud tools for my personal use so it made sense. It has taken quite some time with our 3meg DSL connection but thanks to some background VMware View Desktops I have been slowly migrating data to the Google Drive cloud.
Sharing Files on Google Drive
This seems pretty easy enough with Google Drive, when you are talking about basic image files, or other documents. It’s as simple as sharing the file to “anyone with the link” and publishing the link as I have for this example.
For example you can click here and see that it is easy to share an image out to anyone with a Google Drive URL. What I am finding is so far even as a new service it is very flexible in the respect of file sharing. So I wanted to start doing Podcasts for another blog site, and I figured let’s use this fancy new space to store them! Here started my problem. If you share out an audio file in the same way it is not directly accessible and is converted to the docs.google.com URL as you can see here and the file is not really usable in any way except to “Download” it. That will not work for podcast streaming of course.
Overlaying Google Drive’s API
Here is where things get interesting! I was doing some research previously on a company called Storage Made Easy. I signed up for their free service to try the UI out. Basically, the idea is that Storage Made Easy overlays the Google Drive API along with about 30 other Cloud Storage providers. I may get into that later, but for the purposes here I was only concerned with Google Drive even though you will see below I have it connected to some others.
Once you have connected Storage Made Easy to your various cloud storage providers you can then generate URL’s using the Storage Made Easy user interface. You can see below the same file is enumerated in the interface to select and generate a shared link.
Using PowerPress With Google Drive
Once we have generated this new Storage Made Easy URL, you can see here that the file is now made available not only with a download link, but it is actually just downloaded like any hosted file. What this means for me is that in the PowePress plugin for WordPress is the URL I provide the plugin is this new one and is 100% verified. Below is the two screen shots and you can see with the original URL and the new Storage Made Easy generated URL the file is now available to the plugin. Once the blog post is published the file will play and stream directly from Google Drive.
The real upside to this is I can have other people record and upload PodCasts to this folder provided I give them access to it. All I need to do is generate the Storage Made Easy URL’s, create the blog posts with the proper URL’s and the PodCasts are good to go! Why I find hosting these on Google Drive easier really is the user sharing capability of the folder for others to upload files. Amazon S3 for one is not that user-friendly, at least to me, and DropBox was more expensive. I now have a way to leverage the storage I am paying for on Google Drive with Storage Made Easy. The best part is you can move the file from Google Drive to another provider using the Storage Made Easy Interface and the URL you generated is maintained I will get into more about the usability of Storage Made Easy another time.
I will mention I have since upgraded to the Personal Lifetime Cloud for Business level with Storage Made Easy as it provides unlimited bandwidth. The free version worked great for my testing and validation before I decided the service would work. If you want to know more about Storage Made Easy please drop me a line and I will try to help you get started.
Updated 12/3/2012 – Google Drive iTunes Issue
After the work to set this up and it DOES work for PowerPress based blog post streaming, I tried to add the feed to iTunes and got an error about the host not allowing “Byte Range Requests”. This is a new requirement from iTunes for mobile devices and is supported natively on Apache out of the box and on Amazon Web Services. However Google Drive does not support this and the solution above to host the files will not work with iTunes. Below is an example output of what you should see when you run a curl test on the file. The first two are from S3 and my local web server the third is using the Storage Made Easy API. You can see the needed item for Byte Range Requests is missing.
$ curl -I -r 200-300 http://s3.amazonaws.com/vfitpodcasts/VFit_PodCast_Episode_1.mp3 HTTP/1.1 206 Partial Content x-amz-id-2: 7WOWvDo6+QJbmu4wyeYtxDFE67lh3WmTTtwkf2/qKjsWvf3Gz2ftoLXMrgE7tkhP x-amz-request-id: 1E0F19F44F33ABFB Date: Mon, 03 Dec 2012 14:02:45 GMT Last-Modified: Mon, 03 Dec 2012 13:49:20 GMT ETag: "bc33487e1c973945f497ff51cd6f98d5" Accept-Ranges: bytes Content-Range: bytes 200-300/10129785 Content-Type: audio/mpeg Content-Length: 101 Server: AmazonS3 $ curl -I -r 200-300 http://www.v-fit.us/podcasts/VFit_PodCast_Episode_1.mp3 HTTP/1.1 206 Partial Content Date: Mon, 03 Dec 2012 14:03:01 GMT Server: Apache/2.2.15 (CentOS) Last-Modified: Mon, 03 Dec 2012 14:01:06 GMT ETag: "9a9179-4cff32e38ca12" Accept-Ranges: bytes Content-Length: 101 Cache-Control: public Expires: Tue, 03 Dec 2013 14:03:01 GMT Vary: User-Agent Pragma: public X-Powered-By: W3 Total Cache/0.9.2.4 Content-Range: bytes 200-300/10129785 Connection: close Content-Type: audio/mpeg $ curl -I -r 200-300 http://storagemadeeasy.com/wp-content/uploads/55df0a51439cd03c96ff3db20b8394fa.mp3 HTTP/1.1 200 OK Date: Mon, 03 Dec 2012 14:03:33 GMT Server: Apache X-Powered-By: PHP/5.2.17 Expires: Thu, 19 Nov 1981 08:52:00 GMT Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Pragma: no-cache Content-Transfer-Encoding: binary Content-Disposition: attachment; filename="VFit PodCast Episode 1.mp3" Set-Cookie: PHPSESSID=185fc2023b60d61780b0755cf6c65198; path=/ Content-Range: bytes 0-10129784/10129785 Content-Length: 10129785 Content-Type: audio/mpeg
I have contacted Storage Made Easy to see if this is something their service can be enabled for and at this time the answer is no. I will have to revert back to putting these podcasts on S3 for now until I can get another workaround for using Google Drive. At least these podcasts are not large so it should take a while to fill up my 5GB of free space on S3.
The moral of the story here is this does work as long as you don’t want to create an iTunes feed for your podcasts. If that is the case you cannot use this method today, but it could still work for a few people that don’t yet want to deal with iTunes.