microsoft / microsoft-ui-xaml

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

Proposal: New Progress Ring Style #837

Closed sravya03 closed 4 years ago

sravya03 commented 5 years ago

Proposal: Update progress ring style

There is an open spec here and PR here for this proposal.

Summary

ProgressRing is one control that many apps customize and seem to carry branding personality. Windows wants to update the personality by introducing a new progress ring style.

Rationale

Scope

Capability Priority
Developers are able to use WinUI2.2* package and without any work, get the new Windows visual style. Must
Developers have flexibility to style ProgressRing's visual and motion without retemplating. (This is to be a new GH item.) Should
Developers and end users experience control update that feel coherent with the same controls used by Fabric, Edge, and Xbox. Should

*Timing here is not a commitment, but to follow the release cycle. Just using the next version #.

Design details and visuals

This only impacts ProgressRing control. Visual comp

Important Notes

Open Questions

Release Checklists

Prerelease readiness

mdtauk commented 5 years ago

There are three kinds of Progress Rings used by Microsoft platforms right now, I agree these should be consolidated into a single design. #688

image

kathyang commented 5 years ago

Thank you @mdtauk for sharing the visual!

mdtauk commented 5 years ago

It may be worth considering using a gradient to soften the ends of the Indeterminate animated segment - but this is very much a decision about the character of Fluent Design.

Xbox uses a very distinct animation which makes use of neutral shades as well as the Accent Colour. xbox progress ring

chigy commented 5 years ago

Thank you, @mdtauk for your design suggestion. As you indicate, this is more of a design choice and I'm waiting for motion comp from design team.

chigy commented 5 years ago

Status update: Reviewed with WinUI team and this item will be looked at with a holistic POV for ProgressRing overall. @kathyang

Poopooracoocoo commented 5 years ago

Can't help but feel that this looks like Material Design. The dots looked rather unique.

mdtauk commented 5 years ago

The dots feels like a Windows Phone and Windows 8 Metro design, it is also cumbersome to customise for branded apps.

I look forward to seeing them in motion, but I think the indeterminate States could do with a gradient to show the incomplete nature of the action

60060226-8e44dc00-96e7-11e9-93d1-67208d599776__01

kathyang commented 5 years ago

I've started the spec for progress style updates (and ProgressRing determinate mode) here and the PR is here. I'd love to keep getting your thoughtful contributions and feedback on the spec!

jevansaks commented 4 years ago

Should Background property control the color of the ring's track or the entire backplate?

My preference is Option 2, Background is the whole background's color simply because it's most consistent with other controls. When faced with this problem we usually offer a "lightweight styling key" solution. It's not great, but it's consistent.

Going forward I hope that we can design a holistic solution that makes it so that lightweight styling keys can be API, but for now that's the approach we've taken.

mdtauk commented 4 years ago

Would this be possible?

Background = Ring colour Foreground = Progress colour

YuliKl commented 4 years ago

Would this be possible?

Background = Ring colour Foreground = Progress colour

This is exactly what we settled on during an internal review.

mdtauk commented 4 years ago

Currently when you press the "IsIndeterminate" checkbox in the ProgressRing test page - there is a subtle fade transition from the Determinate state to the animation playing.

But there is none when moving from the Indeterminate state back to a Determinate state.

mdtauk commented 4 years ago

The Indeterminate ProgressRing does not scale in the same way as the Determinate one...

image

image

This is width set to 90