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

Support touch controls when casting to Smart Displays #2635

Closed
baseballbrad3 opened this issue Jun 9, 2020 · 8 comments
Closed

Support touch controls when casting to Smart Displays #2635

baseballbrad3 opened this issue Jun 9, 2020 · 8 comments
Labels
platform: Cast Issues affecting Cast devices priority: P2 Smaller impact or easy workaround status: archived Archived and locked; will not be updated status: infeasible The requested feature is not currently feasible type: enhancement New feature or request

Comments

@baseballbrad3
Copy link
Contributor

Have you read the FAQ and checked for duplicate open issues?
Yes

Is your feature request related to a problem? Please describe.

I would like the touchscreen of a smart display (Nest Hub or Lenovo Smart Display) to interact with the Shaka Cast receiver.

Describe the solution you'd like

Ideally, the touch controls are the same as the standard Cast framework's controls, but, using the Shaka UI would be better than what's available now. The Shaka UI controls could be styled to be a better touch experience, but it would be inconsistent with other receiver apps.

Describe alternatives you've considered

Our alternative would be to not use Shaka as the receiver and switch to CAF, write our own controls (touch events do seem to be passed to the app), or release without touch support for these devices.

Additional context
Our old cast receiver (v2, not Shaka), had touch controls that were provided by the cast framework. We didn't do anything special to add them, we just got them for free by using the v2 receiver. Part of me just expected that to be the same when starting to work on our new Shaka receiver.

@joeyparrish
Copy link
Member

I have never had access to a touchscreen-enabled smart display. I would expect it to just work, as the Shaka receiver UI is the same as the UI we use in the browser, and that works well on touchscreen devices.

Without a device, I'm just guessing, but it could be a configuration issue. Our cast receiver app doesn't have all the same UI elements, but it could be configured the same way as in a browser.

Here's where we configure our own receiver app's UI: https://github.com/google/shaka-player/blob/6d373eb6310095c0f605e0e957d418bb4e924925/demo/cast_receiver/receiver_app.js#L44

I will place an order for a device we can use to test this, but it may take some time to have it shipped. So we will rely on you to try some things for us and provide feedback for now.

Are you testing with our receiver app or your own? If it's your own, how is the UI configured?

@baseballbrad3
Copy link
Contributor Author

I've tried it on the Shaka demo app and our custom Shaka receiver app (which I basically started from the demo app's receiver code). Ours is configured the same as the link you've provided. Both apps lack any UI controls after touching the screen.

If you need me to test anything, I have both the Nest Hub and the Lenovo Smart Display at my desk, and I'm happy to try whatever needs trying.

@ismena
Copy link
Contributor

ismena commented Jun 23, 2020

@joeyparrish Double-checking - is this the issue that requires an upgrade to CAF on our part?

@joeyparrish
Copy link
Member

Yes, this is the one I meant. It seems that an upgrade to the Cast SDK is required to get touch screen support. We are using Cast v2, and touch screen receivers require CAF. It's not clear if we can do that upgrade right now, both because of backward compatibility (we aren't ready to ship Shaka Player v4) and because we have an ongoing conversation with the Cast team about the right way to support our Cast API design on top of CAF.

@joeyparrish joeyparrish added type: enhancement New feature or request and removed needs triage labels Jun 23, 2020
@shaka-bot shaka-bot added this to the Backlog milestone Jun 23, 2020
@baseballbrad3
Copy link
Contributor Author

@joeyparrish I'm not sure if CAF is required for touch support (unless that information is from a Cast team member, in which case they would absolutely know better than I). Our previous Cast receiver was based on Cast v2 and has Cast's built in touch controls. Also, with our new Shaka 3.0 receiver, I can get touch events when listening to the document.addEventListener('touchstart', ...). I was just surprised that the Shaka UI controls were not responding to those touch events.

Shaka's UI controls are really what I was hoping could get addressed here. Ideally, the Cast framework's touch controls are what's used, but I understand if that's not feasible.

@joeyparrish
Copy link
Member

Our UI controls already respond to touch events. There's no conditional logic around touch in our codebase, and you can use our UI on any smart phone.

Our receiver demo is a Custom Receiver app, and the Cast V2 SDK does not give us any touch events for some reason. The Cast team told us that had something to do with using the deprecated V2 SDK. It's possible that using a Styled Media Receiver would not be restricted in this way. (Not sure if your previous receiver was a Custom Receiver app or Styled Media Receiver.)

@joeyparrish joeyparrish added the platform: TV/STB Issues affecting smart TV or set-top box platforms label Jul 17, 2020
@joeyparrish joeyparrish added the priority: P2 Smaller impact or easy workaround label Oct 4, 2021
@avelad avelad added platform: Cast Issues affecting Cast devices and removed platform: TV/STB Issues affecting smart TV or set-top box platforms labels May 2, 2022
@avelad
Copy link
Member

avelad commented May 25, 2022

@joeyparrish I'm not sure we want to support this, since we want to do #4214 in the future

@joeyparrish
Copy link
Member

You are right, in a sense. Touch control support will only happen via #4214 as far as I can tell.

@joeyparrish joeyparrish added the status: infeasible The requested feature is not currently feasible label May 25, 2022
@joeyparrish joeyparrish removed this from the Backlog milestone May 25, 2022
@github-actions github-actions bot added the status: archived Archived and locked; will not be updated label Jul 24, 2022
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Jul 24, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
platform: Cast Issues affecting Cast devices priority: P2 Smaller impact or easy workaround status: archived Archived and locked; will not be updated status: infeasible The requested feature is not currently feasible type: enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

5 participants