So when we were developing Project Breakout we had one big issue… video. Video encoding, storage and playback is the backbone of a video contest site as you can imagine. So we knew that we wanted to avoid as many of the big three as possible. As a first stab, Hampton built video uploading and encoding abilities right into the Rails app on the server and then wrote code to take the newly encoded Flash video files and upload them to Amazon’s Simple Storage Service (S3). That solved two of the issues but as we started to test run the app encoding reared it’s ugly little head. Since it’s so server-intensive to process the video files we had the choice of having a big delay for the user between uploading and playback or faced having to stock up on servers, neither option felt right.
That’s where Videoegg came in. Their flash based upload tool handled all the encoding and their network takes care of all the storage through Akamai. The price? Free with small unobtrusive ads during the video (No pre-roll). As of this writing the site has been up for a couple weeks and no ads have actually appeared in the videos so I think they are still building up an ad base. Now the downside is the user needs download and install the Videoegg upload tool, but it’s less than .5MB and allows you to record directly from your webcam or plug in your camcorder as well as basic cropping. We figured since our users were entering a contest with prizes it would be a small hurdle and as of yet no issues.

We still kept our S3 account to store all the user images which means our server doesn’t have to worry about delivering any media just HTML & JS. This makes the cost of running the site much lower for out client and takes a big chuck of the scalability off our shoulders. Leveraging third party services allows us to rapidly build and deploy + keep our focus on what we do best.