microsoft / microsoft-ui-xaml

Windows UI Library: the latest Windows 10 native controls and Fluent styles for your applications
MIT License
6.36k stars 678 forks source link

Discussion: Xbox Next: Will it use XAML, should WinUI 3.0 have built in support for templates and styles? #698

Closed mdtauk closed 1 year ago

mdtauk commented 5 years ago

We know E3 is coming up next month, and that Xbox will most likely support apps, with backwards compatibility for Xbox One XAML apps.

jevansaks commented 5 years ago

@chigy to comment on the Xbox/design aspects here (there will be some delay since she's on vacation right now).

chigy commented 5 years ago

@mdtauk , We have Xbox UX guidance documentation which is still valid with WinUI 3.0 https://docs.microsoft.com/en-us/windows/uwp/design/devices/designing-for-tv the guidance is not expected to be changed anytime soon.

We are recommending customers to use WinUI control set and not modify them to match the visual of Xbox Shell controls because shell UX is very specific to their usage scenarios (mostly settings created very rigidly for gamepad) that are not always applicable to generic application and we determined there is not enough ROI for our customers to do the extra work when the default controls works just fine with minimal work. That said, if you feel a need for us to provide Xbox Shell control library that matches the visual of shell, please open a GitHub request. We have so far not heard request from our customers for this need.

mdtauk commented 5 years ago

@chigy

We are recommending customers to use WinUI control set and not modify them to match the visual of Xbox Shell controls because shell UX is very specific to their usage scenarios (mostly settings created very rigidly for gamepad) that are not always applicable to generic application and we determined there is not enough ROI for our customers to do the extra work when the default controls works just fine with minimal work. That said, if you feel a need for us to provide Xbox Shell control library that matches the visual of shell, please open a GitHub request. We have so far not heard request from our customers for this need.

This is kind of the point I was making. I am not talking about creating specific shell controls for xbox, but ensuring the default WinUI 3.0 controls adapt to match the requirements for the 10foot experience.

With it all being combined and open sourced, does that mean the WinUI team are responsible that those customers building apps for the Xbox Next (the Netflix, iPlayer, Twitch, Mixer devs etc) using XAML and the WinUI controls, will not need to do the extra work to re-template the controls to match or work with the Xbox UX Guidelines and gamepad control scheme.

Or will the Xbox team take the WinUI 3.0 library, and make a custom resource dictionary which gets sent out to developers (possibly through the XDK)?

chigy commented 5 years ago

@mdtauk

This is kind of the point I was making. I am not talking about creating specific shell controls for xbox, but ensuring the default WinUI 3.0 controls adapt to match the requirements for the 10foot experience.

I feel like we are talking past each other. What I meant is that the controls we deliver in WinUI meets the requirements for 10foot experience. Controls are sized properly thanks to the scale factor and we design the controls to work with gamepad. Not sure if you know this but NavigationView control actually hides the back button when running on Xbox. What it does not do is to match exactly what the Xbox shell controls look and what I meant is that it is OK because we are not requiring apps to use those exact controls since shell experience is specific.

A few years ago when we published Xbox guidance, we evaluated many of the applications on Xbox and we found out that there are mainly two buckets of apps. One type is like a Netflix of type. They create UI that is pretty similar everywhere (meaning they don't create special UI for Xbox) and have their own controls. Meaning all the controls are retemplated anyways even if they looked like the one from Xbox shell. Another type is apps that create Universal app and call it good. For those types apps, what we provide with WinUI will work perfectly fine as long as they have tested against gampad and followed the guidance (i.e. reduce number of clicks). Problem we found with those apps are that they do not even test against gamepad. We are not able to help solve this fundamental problem by providing controls that looks like Xbox shell...

Or will the Xbox team take the WinUI 3.0 library, and make a custom resource dictionary which gets sent out to developers (possibly through the XDK)?

It is a good question that I'm planning on discussing with Xbox team. That said, given the comments I made above about the types of apps on Xbox, I would doubt this is going to become a priority unless there are a lot of customer requests for the need. I'm being transparent here so if this is super important to you, you could help us make a case for this need.

mdtauk commented 5 years ago

Thank you @chigy for that thorough response. I am glad that some of these fundamental controls like NavigationView have consideration for the Xbox.

My thinking is more about as future controls get added, ones proposed by the community, and ones the Xbox team may build for their own shell and apps, which get folded into WinUI 3.X eventually.

In the same way as there is a CompactDensity ResourceDictionary, should controls being added which require a specific Xbox look and feel, get their own template resources?

And should there be a way to whitelist or blacklist controls which have been tested with Xbox, and those which can't be made to work with Gamepad only use?

chigy commented 5 years ago

My thinking is more about as future controls get added, ones proposed by the community, and ones the Xbox team may build for their own shell and apps, which get folded into WinUI 3.X eventually.

In the same way as there is a CompactDensity ResourceDictionary, should controls being added which require a specific Xbox look and feel, get their own template resources?

@mdtauk , Being brutally frank, this is not our priority, so we do not have an answer and will likely not going to unless there's a need for it. Today, the approach we are taking with WinUI is that we do not require developers to create controls that has different look and feel for Xbox unless developer specifically want to copy shell UI. But at that point, developer needs to do that on their own. I'm just stating the fact of today. We have not received developer requests for this to make this a priority. Just note that we do have customers in our early adoption programs, etc. who are creating apps on Xbox that we have been getting feedback. As far as I know, this has not bubbled up as a priority from those folks.

And should there be a way to whitelist or blacklist controls which have been tested with Xbox, and those which can't be made to work with Gamepad only use?

@mdtauk When we make controls for WinUI, we design for Gamepad and all of our controls work with Gamepad today. So there's no need to limit the controls. Yes, there are some controls that are not very optimized for Gamepad, but those controls do still work. Just it may take some effort by the users because those controls are typically not used by apps that run on Xbox.

mdtauk commented 5 years ago

@Chigy Things like the NavigationView could have a template, so when it is used in an Xbox App, it moves the content inwards, to account for the TV Safe area - which means developers don't need to do it themselves.

But it sounds like that is beyond the scope of WinUI 3.0 - and will remain something that app devs will have to do themselves. Same with Checkboxes, DatePickers, and other controls which use different designs compared to running on Windows 10 or Windows 10 Mobile. 😃

Kade-N commented 5 years ago

So... the new Xbox apps for PC are out, and first thing that stood out to me, they're not using Segoe UI as the font, Overall, it's clearly not WinUI - it's got it's own whole visual style, lots of circular elements (more so than the rounded corners being introduced to WinUI). There is Acrylic, but that's about it.

image

Seems like Xbox is going with their own visual style (at least in some areas), and maybe not using WinUI at all? The current Xbox console system UI is (as were the previous Xbox desktop apps), but if these desktop apps are any indication, seems like that may be changing.

Might be too early to ask (given that we know almost nothing about the next console yet), but... this seems like it will lead to a lot of UI inconsistencies on Xbox, if apps using WinUI have a noticeably different look and feel from this new Xbox UI style.

mdtauk commented 5 years ago

I commented some weeks ago about on Twitter, and someone from Microsoft Design commented that it may be a team going their own way with the GameBar UI. https://twitter.com/AustinTByrd/status/1128166555903070208?s=20

I am guessing that was either to throw me off, or it really is a surprise for some. But it looks like Barnschrift is being used as an Xbox branding font now.

Maybe even Xbox Next will use it for its UI.

Kade-N commented 5 years ago

To be fair, the two Xbox apps on desktop (the game launcher app, and the Game Bar) were likely designed by the same team... so it could absolutely just be that one team.

The E3 conference used the recognizable Segoe UI font in all of its material (as far as I noticed)… just seems a bit strange, since PC seemed to be a pretty big focus on the stage. Could've just been something that was overlooked. I haven't noticed the font being used anywhere beyond these two apps... yet.

chigy commented 5 years ago

@chigy Things like the NavigationView could have a template, so when it is used in an Xbox App, it moves the content inwards, to account for the TV Safe area - which means developers don't need to do it themselves.

But it sounds like that is beyond the scope of WinUI 3.0 - and will remain something that app devs will have to do themselves. Same with Checkboxes, DatePickers, and other controls which use different designs compared to running on Windows 10 or Windows 10 Mobile. 😃

@mdtauk , yes that is correct. Again, we have not had enough interest to make those a priority for us in WinUI 3.0. The fact we are not doing that now is not indication that we will never do or there is no need for it. If you understand the differences here?

chigy commented 5 years ago

@KyleNanakdewa ,

So... the new Xbox apps for PC are out, and first thing that stood out to me, they're not using Segoe UI as the font,

Yes, it is right. They are using Bahnschrift font which is a font that is a gaming style font. Because of their audience, they are optimizing the experience for the gamer audience. (I recently confirmed this with their design team.)

Overall, it's clearly not WinUI

Yes, they are built React app in Electron for PC today.

it's got it's own whole visual style, lots of circular elements (more so than the rounded corners being introduced to WinUI).

Again, they are trying to make it familiar to their gamer audiences. That said, in the meeting with design team on Xbox, we reviewed the rounded corner values we use and besides the search style (which they are trying to be consistent across their own apps), they were pretty much on par. There were a few we are looking to align by change on Xbox side.

Might be too early to ask (given that we know almost nothing about the next console yet), but... this seems like it will lead to a lot of UI inconsistencies on Xbox, if apps using WinUI have a noticeably different look and feel from this new Xbox UI style.

You are right. We don't know what's going to happen on the console yet.

chigy commented 5 years ago

Status update

This issue marked "discussion"

@mdtauk , We just recently announced a new issue type "discussion (#966)" which I feel this one falls into as the title is clearly written in a form of question.

Community members should feel free to continue to discuss items here. Please note that I won't be as active in those discussions as other proposal topics.

mdtauk commented 4 years ago

This image was released with the announcement of the changes coming to Xbox's Dashboard for Xbox One, Xbox One X | S and Xbox Series X | S. Xbox_Scarlett_Visualrefresh_FR

I think this, and whatever internal figma, design kits, or Xaml ResourceDictionaries have been developed for the updated Dashboard, or new Mercury Xbox React Native Store - should serve as the basis of any built in ControlTemplates that get added to WinUI 3.X builds designed for the versions to be supported by the Xbox App Platform.

How WinUI should support the Xbox control styles (optimised for overscan, the 10 foot experience, Xbox platform scaling etc) - is open for discussion. Whether it is App.xaml ResourceDictionaries included with Templates, or default templates when an app is running on an Xbox - as well as built in behaviours for handling Controller inputs, reveal focus visuals, etc.

github-actions[bot] commented 1 year ago

This issue is stale because it has been open 180 days with no activity. Remove stale label or comment or this will be closed in 5 days.

mdtauk commented 1 year ago

We know UWP is done now, with no feature updates planned. And there is still no word on brining WinUI 3 to Xbox. So is this discussion done, and Xbox dev is a dead duck?