Downloading Files With ASP.NET
Currently I'm using ASP.NET in an unconventional manner to write scripts that download files. Asynchronous tasks and the WebClient object's DownloadFile method are proving to be a very convenient combination of features which makes it easy to automate the process of downloading a lot of files.
For example, I was recently researching some CSS 3 features supported by the Safari browser and came across an article on A List Apart about the rebirth of web fonts. Digging a little deeper I found there was a large number of TrueType fonts freely available for use on the web. You can find a long list of them referenced in a CSS file but it would be tedious to download them all. So I wrote an ASP.NET page to parse the CSS file and download all the fonts automatically. Well they did say the fonts were freely available for use on the web so I assume this is permissible.
I'm also using this technique to download YouTube videos. I'm not sure if Google would approve of this, but I now have an ASP.NET page that will download a YouTube video for me as a FLV file. There are many applications available to do this but my ASP.NET page has an advantage in that it names the file using the video title instead of the meaningless video id. That really saves me a lot of time that I waste renaming video files. Videos frequently disappear from YouTube because they are removed for copyright violations or the neurotic user takes them down in a fit of rage or despair. When you have an emotional investment in this content it becomes rather annoying to have it disappear on a regular basis. Therefore it is important to be able to preserve content that you fear will be taken away from you. Sometimes videos disappear for illegitimate reasons as when trolls file false DMCAs to cause grief for a user. There have also been accusations that various groups file false DMCAs to silence their critics. I feel that being able to save a video is as important as being able to save a web page.
Recently I installed the new Adobe Media Player. It is just another example of the growing number of media clients available. I really don't care that much about the war between the Rich Internet Application frameworks (today I learned that Apple is getting into the game with something called SproutCore) but I may spend some time learning Flash because it is the technology behind a lot of what is happening with Internet video now. I don't need to limit myself to Microsoft technology but I do need to leverage my expertise. Since I have a lot of expertise in JavaScript I may favor the RIA framework that offers the simplest way to leverage that skill set.