Building Great Universal Windows Platform (UWP) Apps for Xbox

Play Building Great Universal Windows Platform (UWP) Apps for Xbox

The Discussion

  • User profile image
      • I posed the question "Why burden developers with 20+ year old standards for analog CRTs?" in response to the session's recommendations regarding TV-safe display area and color space.       The response:
        • "It is how we have always done it"
        • "Every other console does it"
        • "We have to support the small fraction of users whose TVs enable overscan"
        • "We would rather burden developers than users"
      • Just because it has been done that way or is done by others doesn't mean it is the best way...
        • Why are we providing a worse experience for the majority of users?
      • So I asked why the OS doesn't handle this (scale and pad for the overscan area, and scale the color space via the hardware LUT):
        • I was told "The OS can't do it since that would be too confusing to users to setup"
        • Regardless of a slight increase in complexity for users, I believe this is a far better solution. The OS can still default to padding the display area and scaling the color space so it "just works" for users who don't touch anything and ignore the initial setup. For everyone else, the initial setup can guide the user to at least set the overscan setting properly (we wouldn't want to attempt to get them to select the right color space), and users who want full screen and full color range can always delve into the settings.
      • I should not have focused my questions on the developer burden, as the problems the current approach result in are far more wide-ranging than that:
        • What about the burden on the hardware?
          • Are software developers happy that they have only 81% of the GPU resources to spend on rendering the "important" content (since only 81% of the pixels are inside the TV-safe area)?
          • Are the Xbox hardware developers happy that they have to oversize the GPU by 23% to be able to render all the "unimportant" pixels outside the TV-safe area?
        • What about consistency and its impact on the user experience?
          • The session recommended using different colors for the UI, but didn't mention that an app would need to also remap any photos or videos (not to mention the additional load of doing so instead of getting it free via the hardware LUT)?
          • The session recommended using the 10ft-UI property to switch to the TV-safe display area and color space, but these should not be linked - they need to be independent.
            • If they are linked, then it breaks the use case of the computer display used in 10ft-UI mode (he gave the example of a computer used as a TV by a college student in a dorm)?
            • If they are not linked, then it requires yet more app settings to control. How is this easier than a global setting for the system?
          • Some apps will implement support for the TV-safe display area and color space, but many won't, so a user who does want to get things right cannot choose a setting the works for everything.
          • Although UWP is not currently allow for games, the TV-safe area is an issue for HUDs in games, as they have to look good while optionally (when 10ft-UI is enabled) extending their size to fill the TV-safe border area (10% of each screen dimension).
        • Why not work to fix things?
          • Work with HDMI standards body so sources can provide overscan and color range data so TVs choose the correct setting automatically.
          • Is overscan really a part of the UHD standards? If not and it is still implemented by TVs, why not work with manufacturers to make it off by default for UHD sources?
          • Since UHD defines new color spaces like Rec 2020, at least the color range issue should go away when the new color spaces are used.
        • What about not creating a mess for the future?
          • Inconsistent app behavior may mean compatibility shims in the future.
          • What about new hardware, such as a future UHD Xbox that doesn't use overscan?
          • What about HoloLens, where apps may want to run with a 10ft-UI, but should not use overscan?
  • User profile image

    how can we port appstudio apps with UWP to Xbox One?

  • User profile image

    @dpiasecki: Thanks for sharing your feedback on the TV-safe area and TV-safe colors topics.  Clearly it'd be simpler for all of us if these extra considerations around displaying to TVs didn't exist, but the inconvenient truth is that at this point in time they do.  It's not just 20-year old televisions, but even new flat-screen HDTVs that may hit these issues.  For example, a recent study found approximately 50% of Xbox customers have TVs with overscan and this was from a dataset where >70% of the TVs were fewer than 4 years old.

    As a platform, we've opted to give developers the same power and flexibility to address these topics as we give our own developers within Microsoft developing the Xbox shell and our first-party apps.  If an app author wishes to align to the same design choices that our Xbox shell and first-party apps made with respect to TV-safe area and TV-safe colors, we hope you'll find it's relatively straightforward to do so, as we showed in the talk.  If an app author wants to take a different design approach – e.g. prompt end users to adjust their TV settings not to overscan if possible and then place interactive content outside the TV-safe area – the platform gives you the power and flexibility to do that, too.

    I genuinely do appreciate your pushing on us to try to make this simpler for developers to deal with as well as explore ways to lead the TV industry forward here.  We've tried to strike the right balance on the tradeoffs for end users as well as developers, but it's worth recognizing this is also the first release of Universal Windows Platform for Xbox.  You're all part of the beginning of this journey and we're going to be learning from what all of you do with the platform, the pain points you hit, and the things you put out there that resonate with customers.  We'll continue to work to improve the platform to better meet everyone's needs and hit the right sweet spots based on those learnings.  So thanks and please keep the feedback coming!

  • User profile image

    Hi Paul and Nick, great session, really enjoyed the content and the tag team delivery. Really well presented.

    Will you be posting the source code for the President's app?

Add Your 2 Cents