Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Deliver metadata with business errors? #80

Open
2 tasks done
defagos opened this issue Jun 25, 2024 · 5 comments
Open
2 tasks done

Deliver metadata with business errors? #80

defagos opened this issue Jun 25, 2024 · 5 comments
Assignees
Labels
question Further information is requested

Comments

@defagos
Copy link
Member

defagos commented Jun 25, 2024

As an SRF app developer I would like to be able to display player metadata for streams that have not started yet. As a product team we should agree whether this kind of feature is compatible with Pillarbox DNA, both technically and from a feature set point of view.

Hints

On Apple platforms errors, both technical (e.g. network issue, 404, etc.) or business (e.g. blocking reason) end up with an error devoid of any metadata even if, in the business case, we could deliver metadata as well.

The SRF app team would like to display metadata (e.g. a thumbnail) also when a business error (e.g. content availability) is involved. This is something that might already be possible on Android and / or the web, maybe something we should support, maybe not.

This could also offer an option to better address related issues like SRGSSR/pillarbox-apple#917. If we provide an availability date with metadata we could namely not only deliver it but also implement an automatic retry mechanism. Not sure there is a team agreement on this kind of behavior so we should really discuss it together.

Acceptance criteria

  • The team discussed whether the feature above makes sense and is technically feasible.
  • Dedicated stories have been created if meaningful.
  • Otherwise the SRF app team has been provided with an alternative strategy.

Tasks

  • Discuss within the team.
  • Create stories or inform the SRF app team otherwise.
@defagos defagos converted this from a draft issue Jun 25, 2024
@defagos
Copy link
Member Author

defagos commented Jun 25, 2024

Nice topic for our weekly API discussion. Added to the sprint.

@defagos defagos moved this from ✏️ Draft to 📋 Backlog in Pillarbox Jun 25, 2024
@defagos defagos added the question Further information is requested label Jun 25, 2024
@defagos
Copy link
Member Author

defagos commented Jun 25, 2024

A PoC implementation is available on Apple platforms.

@defagos
Copy link
Member Author

defagos commented Jun 26, 2024

In essence delivering metadata with a business error is similar to delivering a media composition with an unplayable resource URL. So this task could be seen as a consistency improvement rather than a feature.

@defagos defagos moved this from 📋 Backlog to 🚧 In Progress in Pillarbox Jun 27, 2024
@defagos
Copy link
Member Author

defagos commented Jun 27, 2024

Current status:

  • Web: Already supported.
  • Apple: Possible with minimal effort and risk.
  • Android: Requires a PoC to evaluate feasibility. Seems not trivial. Would a priori be better to supply metadata beforehand but a PoC could be helpful. A dedicated task has been created.

Next steps:

  • PoC on Android.
  • After PoC discuss again with 3 possible decisions:
    • Don't do it if not possible on all platforms and consistent behavior is desired. The web team would still like to keep the current behavior (used for logging purposes).
    • Do it everywhere if desired on all platforms.
    • Document as undefined behavior and let each platform deliver the best possible result.
  • Inform SRF about our next steps.

@defagos
Copy link
Member Author

defagos commented Jun 27, 2024

Poke @NicolasBrunnerSRF for information.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
Status: 🚧 In Progress
Development

No branches or pull requests

6 participants