I'm diving into Rails 3 for the first time to build a web app that involves users uploading video. I want to offload the costs of hosting and streaming video to YouTube, but I don't know the best way to move forward with this part of the functionality.
I see two directions I can go in:
Easier to manage approach: Let the users upload videos to their own YouTube account via my Rails app or through YouTube, and then give the users the option to "Upload" or "Specify Video URL" in the HTML form. The downside is users have to setup and manage their own YouTube accounts, which most people don't already do.
Better usability approach: Create a single YouTube account, owned and maintained by me, and only give users the ability to upload video via my web app to that YouTube account. This makes it easier for users to upload video since they don't need a YouTube account, improving the usability of my app. The downside is, the YouTube account will have to be managed, the YouTube limits will be reached quicker (meaning I'll have to delete older videos often), among other downsides.
Logging in and uploading videos (using either approach), would you use an existing Gem or write your own Rails 3 code to interact directly with the YouTube API?
Are there other video hosting services you would consider using besides YouTube?
Thanks so much in advance for your wisdom!
A little Google search turned out a Rails plugin that uses Google AuthSub with YouTube so to answer your first question, I don't think it's necessary to rewrite code (Don't reinvent the wheel ;))
Regarding the usability direction, I think it depends on the webapp you'll be building. Is it a social app where user profiles are important? If so, I'd go with the first approach. Is it a corporate app with tutorials for employees? The second approach would work better, in my opinion.
EDIT:
Here's another Youtube Gem which, according to the author last commit, should have compatibility with Ruby 1.9