Plans for both a video overlay and panel extension?

Are there any plans to be able to have a panel below the stream as well as being able to for example have popups, etc. on the video overlay?

It already exists, a panel and Video extension needs their own ClientID auths and secrets. So two extensions. It would be interesting code mess to have an extension be both…

1 Like

I also think that a combined video-overlay and panel extension would actually be a good thing.
There are some use-cases where it totally makes sense to split up the UI in two parts (video-overlay and panel on the bottom).
The most simple ones I can think of right now are the following:

  • Split notifications and user-interaction content. (Example: Game stats are shown in the panel, important stat updates are shown as notifications in the video-overlay.)
  • Extensions that are better off as video-overlays UI-wise but require off-site linking which can only be done in panels. (Example: Voting extension with clickable screen targets in the video-overlay, complex result analysis for interested viewers which are just not as important or do not fit into the extension area are shown on a seperate off-Twitch page, linked in the panel.)

It would be a cool feature to publish an extension with both, a panel and a video-overlay, so a broadcaster does not have to install two separate extensions because that could potentially be a very confusing user-experience to extension users without the developer background.
So the extension itself could e.g. be shown with type “Panel + Video Overlay” in the extension explorer.

@BarryCarlyon I don’t see why this will create “interesting code mess” if the naming/implementation requirements are adapted with the introduction of this feature (e.g. both UI parts use the same identifiers and secrets). Could you please elaborate on that?

I mean it’s just a suggestion for an additional extension type, which (at least in my eyes) does only improve the overall experience, not impair it.

1 Like

Keeping basically two different browser windows in sync with the same data and/or user interaction. The two windows can’t communicate to each other without bouncing data off an EBS, and you’d have to add error checking to ensure Window A captured a UI change that was initiated in Window B and Window B itself actually capture the response itself.

At least the issue of the code know which it was is straight forward but ensuring sanity between the two windows without just hail mary-ing it would be fun. You don’t generally see this on the internet anywhere, can’t think of a recent example that does.

I see your point. But that would only be the case if one wants to show the same UI at the same time in both - the video-overlay and the panel, right?
Or are you talking about an extension that can either be shown in panels or as a video-overlay?

But that is not really the goal I would like to achieve having these two screen spaces. Also the examples I mentioned do not share any UI controls at all.
Surely there has to be some kind of synchronisation between the panels at the data level, but that has to be done across different viewers anyways (e.g. using a secure WebSocket connection to an EBS).

It’s more like a split-up UI that I’m talking about. Like e.g. in car, where there could a) be a speedometer behind the steering wheel and b) a bigger screen with other information in the center console which is better fit there. These two would be the video-overlay (e.g. viewer_videooverlay.html) and the panel below (e.g. viewer_panel.html), respectively.

It’s just about the broadcaster not having to install “two separate” extensions when it’s actually just one (with one config panel).

In your example of certain UI elements being a better fit if spread over both a video overlay and a panel, would it not be better for the streamer to have the choice of what is the best for their own channel and selectively install just the components that they require, that work best for their channel and their current design layout, instead of installing a larger extension with components that they then have to disable to get out of the way?


There is nothing stopping a developer today from creating multiple extensions, for the sake of this discussion, let’s say a panel and an overlay, that are able to communicate via a consolidated EBS. The power is in the hands of developers.


We do it through our tech with the example being Pretzel Now Playing. There is an overlay app and a panel extension that shows the same information and functionality using the Muxy developer kit backend. I believe there may be an example in our docs as well.