Define TV IOUP
Open, NormalPublic

Description

The phone input-output usage pattern describes how KWin/Plasma acts like a Smart TV/HTPC/video game console.

Hardware characteristics

  • Primary input devices is a TV remote or a game controller. Secondary input device might be keyboard and mouse (example).
  • Outputs are large sized displays (above 40'' diameter). Viewing distance to displays is large (more than 100cm)

KWin

Window behavior

  • Initial placement is Maximizing.
  • Windows can be tiled (up to 4-6 times).
  • Windows do not stack.

Window decorations

  • Decorations are painted.
  • Their size is small.

Internal windows

  • Window switcher (TabBox) is full-screen and shows stack or one-dimensional list (like current default one). How do tiling window-managers handle this?

Scale

  • For 1080p it is 2?

Plasmashell

  • Large panel with task manager as overview (similar to Latte-Dock?).
  • Full-screen application launcher (like current Application Dashboard).
  • System tray as side-panel (slided in on "shortcut") with big icons.

Related Objects

romangg created this task.Feb 19 2019, 6:31 PM
romangg triaged this task as Normal priority.
romangg edited projects, added Plasma; removed KWin.Feb 19 2019, 6:37 PM
rooty added a subscriber: rooty.EditedFeb 19 2019, 6:54 PM

Scale
For 1080p it is 2?

1.5x might work too if the TV's not too big

True. Anyway I'm not sure if changing the scale is something we want or if the KWin internal scale should really only be influenced by the resolution/size in a uniform way over all devices.

The scale we talk here about therefore might be therefore something different like the one in KWin, which should stay untouched. Kirigami in current "Tablet-mode" for example does scale its interface internally already. We could also use it only for clients, which don't support the new Wayland protocol. @davidedmundson, what's your opinion on that?

romangg added a subscriber: bshah.Feb 22 2019, 12:50 PM

@bshah noted that there is prior conceptual work about Plasma on TVs (or in general with only very few inputs) here:
https://docs.google.com/document/d/18B8GfIdLWhceTkdyxs9-I5NPbn4duni-qO8kjX_xzl4/edit#

This work is more in detail from an UI/UX perspective and tries to find a solution in defining three layers of interaction. This sounds a bit theoretically, but might be a good concept after all.

The document also provides different mockups on how a TV/HTPC Plasma interface could look like. I believe we are currently not yet at this point and need to define basic concepts first, but they are still good examples and could be helpful later on.

@bshah noted that there is prior conceptual work about Plasma on TVs (or in general with only very few inputs) here:
https://docs.google.com/document/d/18B8GfIdLWhceTkdyxs9-I5NPbn4duni-qO8kjX_xzl4/edit#

This work is more in detail from an UI/UX perspective and tries to find a solution in defining three layers of interaction. This sounds a bit theoretically, but might be a good concept after all.

The document also provides different mockups on how a TV/HTPC Plasma interface could look like. I believe we are currently not yet at this point and need to define basic concepts first, but they are still good examples and could be helpful later on.

After reading the proposal, I would agree that this might be a good starting point if plasma media center was to be revived, but at the moment I don't see any activity in that direction.

To me the two main use cases for the TV IOUP is using it as a media center, like Kodi, or playing games. In both cases the apps run full screen, all input should be directed to the running application. The only thing the plasma shell has to provide, is to launch another game (or a different media center) with great support for limited input devices like a CEC remote or a gamepad. Even switching between applications is probably not very high priority, because most hardware will not support running several AAA games at once.

If a user connects a mouse and a keyboard, and wants to use the TV like a desktop, the desktop IOUP should be applied.