Stremio / stremio-addon-sdk

🧙 A Node.js SDK for creating and publishing Stremio add-ons
https://www.stremio.com/addon-sdk
MIT License
631 stars 164 forks source link

Spec: {catalog/manifest}.behaviorHints #16

Open Ivshti opened 5 years ago

Ivshti commented 5 years ago

catalogs in the manifest (and possibly other things) should have this property called behaviorHints, which allows to tell the app how it prefers to be visualized or how it should behave

the most obvious example: if it's adult content, have adult set to true; the app will visualize it as adult, meaning it will hide it before some additional step is done

if we want it to appear only on discover or on board, have a flag for that

furthermore, this can be used for very special stuff, for example a different visualization of meta items that is used in specific cases: e.g. recommendations

it could also be used to tweak how things are handled; for example, if you return stuff with video with a stream from your search results, you might want to have a flag that commands stremio to go straight to the player, skipping the detail page

Ivshti commented 5 years ago

the format of this object should be lef open-ish

since there's so many possibilities, this is a matter of negotiation between add-on developers and app developers; over time, a de-facto standard might appear

Ivshti commented 5 years ago

Also, a nice one would be to customize the message shown to the user when the catalog is empty; e.g. "Your Trakt watchlist is empty"

Ivshti commented 5 years ago

Use cases:

  1. Specific messages from add-ons
  2. Specific types of stuff that has to be displayed; e.g. notifications - they sometimes have a hint (balloon-style) saying what they are
  3. Different views altogether, e.g. recommendations
  4. not wanting stuff shown in some sections of the product
Ivshti commented 5 years ago

two more notes:

Ivshti commented 5 years ago

ideas for manifest behaviorHints:

we also need this to be auto-suggested, see: https://github.com/Stremio/stremio-addon-sdk/issues/32