Chord crush: Need better handling of YouTube copyright takedowns

The YouTube mode of Chord Crush is a great idea, but unfortunately it only works as long as the target video is still online. Since most YouTube uploads of copyrighted songs are illegal, copyright takedowns are a common occurence, and unfortunately Chord Crush does not handle these well as it keeps proposing the removed songs (especially when the player has a low score, which restricts the pool of usable videos).

This results in a series of YouTube errors before a song that hasn’t been taken down yet is proposed. And if enough failures occur in a row, the app will just give up and end up in a weird state where it’s counting time as if a challenge started, but there is no song.

Here are some ideas about what could happen instead:

  • If the YouTube API lets you detect that a song has been taken down, then you should handle that error by removing the broken YouTube link from your database. This way, the app will stop proposing the same broken song over and over again.
  • If the YouTube API does not let you detect takedowns, then you can approximate it by detecting videos which fail to load for several people over a sufficiently short period of time, while other videos successfully load for these same persons. This could still result from random mobile connection flakiness though, so in that case you may not want to automatically delete the YouTube link from the database, but instead send a notification with the link to an hooktheory employee for further investigation, and momentarily stop proposing the video in Chord Crush until the investigation is done.
  • If there are not enough YouTube videos available (which, again, can be a problem for Chord Crush beginners), or if they fail to load enough times in a row, you may want to offer the user to switch back to MIDI mode.