So you'd think why do much work if all you need to do is repeat a video?
The problem is, "repeaters" are somewhat alike, there are just several categories of them. And it is very likely that the same person would come back and repeat the same tune again.
I.e. Lady GaGa - Poker Face or Shakira - Objection may sound sexy, Madonna - Sorry may sound rythmic, Depeche Mode - Master and Servant would bring nostalgic memories, or The Rock Movie Soundtrack may be the perfect stuff while working.
Of course, I wanted to build a database of what is being repeated the most.
Youtube Data API was needed. That's the best way to get video names, ratings and so on. After all, who wants to see just the VideoID as YoutubeRepeat does? Wouldn't it be better to see the video name and other related videos that you normally see on YouTube?
Youtube Data API is very simple. Basically, every time you need some data, you form an HTTP request and receive XML back. i.e. to get video information you request http://gdata.youtube.com/feeds/api/videos/VIDEOID, to get related videos, you request http://gdata.youtube.com/feeds/api/videos/VIDEOID/related and so on.
The problems started a bit later though...
1. Youtube Data is returned as XML with namespaces... you'd think parsing those is as easy as doc.Load()? You need to use NameSpaceManagers.
2. Youtube related videos load for a while... hence caching and AJAX was needed...
3. The biggest pain was actually adding ASP.NET support to my severely locked web server with only ASP and a bunch of "locks" set to prevent a possibility of the next Nimda or SQL injection hacks. At least, such config ensured the server stability for over 5 years in a row (might as well upgrade that old laptop at some point).
4. Plus it's never late to learn URL Rewriting... Gotta admit ASP.NET is really amazing with that.
And so, the first mostly working version of YoutubeRepeater was launched November 5, 2009.