Musi  is an iOS application that allows you to stream (primarilly music) videos from YouTube, create playlists, etc. In doing so, Musi utilizes an interesting series of algorithms to extract .mp4 video links from YouTube. An issue that arose early on in Musi's lifetime was the fact that YouTube can change their front end code at any time which would subsequently break Musi's link extractor. Since the application is on the App Store, updates generally took around seven days to release which would cause a significant amount of the user base to jump ship. When releasing Musi version 1.1, I had to devise a better way to handle with these arbitrary updates and make sure that the parsing code was future proof.
Going into this issue, I figured that there were three paths to take:
- Request a video through the Musi web server and have that parse out the desired video URL, which would be then sent back to the client.
- Send the YouTube source, which contained the desired URLs, to the Musi server which wou