Stremio / stremio-features

Post Feature requests in Issues here
88 stars 11 forks source link

Complex addon catalog type #823

Open aaalsaleh opened 3 weeks ago

aaalsaleh commented 3 weeks ago

Stremio Version All versions and platforms

Is your feature request related to a problem? Please describe. Not a problem, but an improvement which will open more addons possibilities, remove the burden from the Stremio team, and ultimately reflect positively on the end-users in the long run. Currently only the restrictive types: movie, series, tv, and channel are supported, but I believe a more flexible and dynamic type is needed.

Describe the solution you'd like There should be a new catalog type (e.g. custom or complex), where an addon developer could not only specify basic details (e.g. title, logo, description, links), but also a list of dynamic sub-catalogs. These sub-catalogs could reference other catalogs provided by the addon itself and/or other addons (including Cinemeta). Think of the list of catalogs on home screen or search screen, but this is on the addon catalog detail screen instead. This way it is no longer the responsibility of the Stremio team to improve the details page, but rather the option is left to addon developers to extend it as they wish. An example json meta response for this type would be:

{
  "id": "..."
  "type": "complex",
  "title": "Mixed content",
  "description": "Special addon with mixed content from different sources",
  "links": [...],
  "lists": [
      // dynamic content (from other catalogs by this/other addons)
      {type: "catalog", "title": "Optional Title 1", reference: "OTHER_CATALOG/ID1"},
      {type: "catalog", "title": "Optional Title 2", reference: "OTHER_CATALOG/ID2"},

      // or possibly already known static content
      {type: "catalog", "title": "Optional Title 3", items: [{type: "movie", ...}, {type: "movie", ...}, {...}]}
      ...
  ]
}

It would be rendered with the basic details first as usual (title, description, links) and then render the lists beneath it, just like in home or search screen. The user could then move between the catalogs and their entries like they do on home/search screens. With this new type, you could argue that a series catalog could be viewed as a complex catalog with one item only in lists which reference another catalog with EPISODES/SERIES_ID for the list of episodes. This is just an example and I'm not suggesting re-implementing series as a complex catalog, but rather to show how flexible this approach is. Real use cases would be an addon for Actors, where a listing of actors are shown in the home/search screen, and on the details page, the lists could reference catalogs for movies and series by that actor. Another use case would be a social platform like YouTube, where each channel could have lists referencing three catalogs for videos, shorts, and playlists. There are many more possibilities, and this will give the addon developers more options to be creative. This can be even paired with what is requested by others and addon developers could opt to specify a new tab for this complex catalog if they wish.

Describe alternatives you've considered Currently addon developers are forced to create multiple basic catalogs on the home screen, which many end-users complained about to the Stremio team. The suggested solution will also help in this regard.

Additional context This is not easy to implement, and implementation details could be done in a different way than what is described above. However, it is a long-term improvement which will help reduce the requested features from the Stremio core team, and shifts it more towards addon developers.