General usability suggestions for Direct URLs ("Links" Library)

Some History

Skip to the “Suggestions” heading below if you’re not interested.

I’ve been using and experimenting with Direct URLs (“Links”) for the last couple weeks. Until now it’s never been a focus of mine, but due to Google Drive reining in their unlimited free-for-all that many of us benefitted from for the last five+ years, my Google Drive account has been put in read-only mode; frankly, it’s still worth the price considering how much I put in there, so I’m going to squeeze every last penny out of that investment until they realize not even read-only mode has fazed me. However, this brings challenges to hosting new content, as I can no longer add content to it and expand my library.

I’ve been hosting my data online for years now, starting with the grand experiment that was Plex Cloud that never really did it right and which ultimately failed and was discontinued. Infuse pulled a big win by doing what the Plex team couldn’t: connect to a “cloud” drive and stream directly from it. I’ve been an enthusiastic user ever since. To this day, the implementation feels robust and flawless. All that to say, as a result, I destroyed all my hard drives and decided to never host stuff locally again or deal with the headaches of maintaining hardware and services of any kind to support my media hobby. Infuse really outperformed and that confidence in the product remains steady.

A pain point for me and others is that iCloud Drive does not support streaming from their drive in the expected sense. Infuse cannot just connect to iCloud Drive and stream directly from it like the many other services it supports.

I’m a big fan of Apple products; I’m neck-deep in their ecosystem and was patiently waiting for them to finally announce something bigger than a combined Apple One Premier (2TB) + iCloud Drive 2TB, and they did: 6TB and 12TB plans are now available.

With such a possible buffer in place, there’s an appeal to eventually copying over a small subset of quality media from my Google Drive into iCloud Drive, and then abandoning the former subscription in favour of iCloud Drive exclusively.

The caveat is, of course, that Apple seemingly does not want people streaming files from their drives, and so has not provided the necessary support to their platforms to enable this. The best you can do right now is download the entire file to iOS or MacOS, while tvOS does not even have access iCloud Drive files.

That’s where Infuse’s Direct URLs pique my interest. While iCloud Drive does not support streaming in the expected sense, people have noted over the years that getting access to a publicly shared iCloud Drive file, and I mean directly to it, not the default interstitial download page, means that URL can be used for something like Infuse’s Direct URLs if the URL is in fact a direct link to a video URL. Notwithstanding the clumsy and obfuscated way to acquire such a direct URL to an iCloud Drive file, I see potential here, which I’ll expand on and discuss in a new post when I have the final touches on an automated workflow for pushing direct links of iCloud Drive files to Infuse as Direct URLs, and will gladly share with anyone who is neurotic like me interested.

Thus, my experimentation has lead me to put a magnifying glass on Infuse’s Direct URLs feature.

Suggestions

  1. Expose the actual direct URL of a Direct URL somewhere that is easy to read. Perhaps include it at the bottom of a media entry instead of showing just the file name? Currently, the only way to see a truncated version is to go to Add Files > [via] Direct URLs. This makes it difficult to compare against URLs that are very long and possibly prevent duplicates from getting in. At the very least, let us see them in their entirety from the Add Files > [via] Direct URLs screen.

  2. I suspect there is some kind of duplicate Direct URL detection in place, but there’s seemingly no feedback regarding this. If I add the same Direct URL over and over via the API, there is the same New Links Added // Links are now available on Add Files > via Direct URL screen. modal. I like that there are no errors in the case of automations, but it would be nice to expose some more information in these cases, like “This Direct URL has already been added,” instead of a positive confirmation of “New Links Added” even though the Direct URL was already in the “Links” Library, which is ambiguous.

  3. Keep track of the date Direct URLs were added. Those dates should be what are used when sorting media in libraries with the Sort by: Date. Presently, it’s not clear to me what date is being used when trying to sort by it in the “Links” library. It’s definitely not anything like date added, and I feel that the modified or creation date of the file (if being used) is not an accurate date to use when adding files to the “Links” library. I really think the date a Direct URL was added to the “Links” library is the date that should be used for sorting by Date. Additionally, I would like the listing of Direct URLs under the Add Files > [via] Direct URLs to be sorted by the date they were added, even mentioning the date they were all added; this would effectively enrich the data visible in that section. Currently, that list of Direct URLs does not even sync in the same order from one device to another, so it’s not clear what order they were added unless you open the original client. They’re seemingly ordered by data added in descending order, with newest first, but only on the client where the Direct URL was added.

  4. Provide quick ability or auto-ability to delete Direct URLs that are no longer working or invalid. In my tests, the error message, An error occurred // Failed to open input stream in demuxing stream, pops up in a modal when a Direct URL does not work, and the only option is to accept that fate and press Close. I think it could be handy to possibly provide a second option, like “Delete invalid Direct URL,” instead of having to navigate to the Add Files > [via] Direct URLs section and try to find the file. If there are hundreds of Direct URLs added to the list here, good luck finding it (this ties into the need to be able to see the full URL in suggestion 1).

  5. Tying into suggestion 4, it would be handy to have a pruning feature, such as a “Delete all invalid or broken URLs” feature on that listing, where all invalid or broken URLs would be deleted. Maybe just a small HEAD request to see if the URL exists or returns something other than a 200 OK.

  6. Tying into suggestion 4 and 5, it would be handy to add a new API endpoint (via x-callback-url) for deleting existing Direct URLs, or even triggering such a full-list pruning operation. Such an ability would really smarten up anyone’s automation workflows they may have.

  7. Movies and TV Shows added to the “Links” library via Direct URL are not included in the “Recently Added Movies” or “Recently Added TV Shows” pinned entries on the home screen. It’s like they are not part of those categories. It’s possible this is true of other categories or predefined filters as well. When visiting a TV Shows Library or Movies Library, I can find the Direct URL media entries amongst the other sources in those two top-level Libraries.

  8. Is it possible to prioritize one source over another? For example, I still have a Google Drive source attached. That means whenever I want to trigger a sync, Infuse seems to scan through that source first, before it then starts on the next source, etc, which in this case is “Links,” where it may find a handful of new Direct URLs, but before it got to this, it had to scan tonnes of information from another source that takes several minutes, when really I just wanted a new Direct URL synced to the other devices in my setup. Perhaps let us set a syncing/scanning priority for sources? In my case, if I would consider the “Links” Library to be a more lightweight Library but also far more dynamic and updated more frequently, I would want that one synced constantly, but my Google Drive one to be updated and synced only after, given the latter is essentially cold storage for me at this point.

  9. The new bulk import of Direct URLs using a *.links file can only be added from an application menu or some other non-automated way. I think it could be handy to be able to pass a *.links file URL to the API in the same way that a regular video URL can be passed as a Direct URL, but in cases where that specific file extension is being used, the file contents would be parsed for URLs and those would get bulk imported.


That’s it for now. If I have other general suggestions, I’ll just add more comments to this post.