Really great feedback, thank you @danemacmillan!!! I’m happy to see Backfil was able to match the majority of your library so well. My match testing has been limited to my own purchased library and friend’s libraries, which as you can imagine is a very small sample size compared to real-world data.
I have reviewed your results to see what can be improved on my side. It looks like the biggest discrepancy is the store origination. Backfil’s matching uses US metadata, specifically from the iTunes Search API. BUT non-US libraries can still match most movies because there is a huge overlap between US and non-US metatdata. Once I implement direct matching against non-US based metadata this will be less of an issue. However, I have seen the same movie have metadata differences even when comparing with the API, library meta, iTunes storefront, and Apple TV storefront from the same country. Things like title, duration, release year, etc can all have drift for the exact same movie across the various sources, it’s wild.
Considering title variations, Infuse handles alternative title names with TMDB flawlessly. For example, “Live Free or Die Hard” vs “Die Hard 4.0” are both identified correctly as being the same movie in Infuse. Another example, “Harry Potter and the Philosopher’s Stone” vs “Harry Potter and the Sorcerer’s Stone” are the same movie and Infuse knows. This is great!
As more people use the service I will fetch data for the highest usage countries to make the results more accurate. As you identified, the actual strmlnk that is created uses a universal link format. There are pros and cons to this approach, but for the intended feature of deep linking a purchased movie within the TV app, it will work for most people. This means that Infuse identifies movies correctly using filenames, regardless of naming variations, and Backfil provides a universal format strmlnk URL, regardless of country. Win-win. Backfil will still have gaps with movies that do not exist in the US though.
For your library specifically, here are additional details to fill in the gaps if you haven’t already:
Naming variations that should work:
Die Hard 4.0 2007 2:08:49 Len Wiseman Action & Adventure
Harry Potter and the Philosopher’s Stone 2001 2:32:20 Chris Columbus Kids & Family
Hearts of Darkness: A Filmmaker’s Apocalypse 2007 1:35:56 Eleanor Coppola, Fax Bahr & George Hickenlooper Documentary
Live Die Repeat: Edge of Tomorrow 2014 1:53:34 Doug Liman Sci-Fi & Fantasy
Similar but probably not the same:
Shoah: First Era 1985 4:34:11 Claude Lanzmann Documentary
Shoah: Second Era 1985 4:53:10 Claude Lanzmann Documentary
Not currently available in ATV US:
Blue Valentine 2010 1:52:04 Derek Cianfrance Drama
Grave of the Fireflies (Dubbed) 1988 1:28:33 Isao Takahata Anime
Le Fabuleux destin d’Amélie Poulain 2001 2:01:48 Jean-Pierre Jeunet Comedy
Manchester By The Sea 2016 2:17:18 Kenneth Lonergan Drama
Pan’s Labyrinth 2006 1:59:10 Guillermo del Toro Drama
Have you been able to test the Backfil created strmlnk files with Infuse yet?
For the alpha and invite codes, I had to implement something as a bot deterrent but make it easy for people. The intention is that people can import their library as much as they need until they get good results, whether that’s into the same import each time or a new import. Info for others: the invite codes can be used an unlimited number of times, just return to the homepage to start over. I will rotate codes if bots catch on and keep this thread updated.
I’m going to tweak things further, especially with matching. Your feedback points are super helpful for direction, thank you! I did not know about the lazy loading, I will be adding that. Definitely the UI could use some love
Tailwind has been excellent to get ideas from wireframes to features fast.
Also, thank you @james for letting this tool be discussed here
I think Backfil can provide real value to Infuse users with Apple TV libraries that want their local and purchased collections to co-exist.