microsoft / microsoft-ui-xaml

WinUI: a modern UI framework with a rich set of controls and styles to build dynamic and high-performing Windows applications.
MIT License
6.38k stars 683 forks source link

Proposal: NavigationView control should be updated to support swipe. #3123

Open shaheedmalik opened 4 years ago

shaheedmalik commented 4 years ago

Proposal: NavigationView control should be updated to support swipe.

Summary

The NavigationView control should be updated to support swipe gestures to change to different menus and items.

Rationale

Scope

Capability Priority
Improve the usability of touch applications Must
This proposal will allow end users to accomplish X Should
Provide a way Win32 apps that use Ribbon more touch friendly Could
This proposal will also solve Proposal #848 Would

Important Notes

As an touch user, that uses even his non touch desktop in Tablet Mode, I hate tapping on things I should be able to swipe. I would love to swipe between menus to find what I want to faster.

Here's a proof of concept already in a WinUI application. Nightingale-REST-Client-2020-08 @dpaulino did a great job on this feature implementing it into the Nightingale Rest client. I feel it is something that all WinUI apps should take advantage of. From using it, it also solves the problem of menus not following the finger of controls such as Pivot. Since Pivot has been put in "maintenance mode" , let's improve the usability of NavigationView.

Open Questions

mdtauk commented 4 years ago

That is a Pivot, and the Pivot supports swiping.

shaheedmalik commented 4 years ago

That is a Pivot, and the Pivot supports swiping.

Correct me if I am wrong, but pivot didn't support following of the finger. This particular customized control, follows the person's finger. Unless the creator, added finger following, and styled it like the NavigationView, I am pretty sure app is using NavigationView instead of Pivot.

dpaulino commented 4 years ago

@shaheedmalik it's actually using pivot 😛

mdtauk commented 4 years ago

That is a Pivot, and the Pivot supports swiping.

Correct me if I am wrong, but pivot didn't support following of the finger. This particular customized control, follows the person's finger. Unless the creator, added finger following, and styled it like the NavigationView, I am pretty sure app is using NavigationView instead of Pivot.

Pivot does follow your finger, and when it moves a certain distance, and releases, it completes the transition to the next Pivot Item.

It is only the selection indicator that does not follow your finger, or animate it's position. The team felt there was not enough benefit to updating this control to support this, like the NavigationView's selection indicator. #2585

shaheedmalik commented 4 years ago

That is a Pivot, and the Pivot supports swiping.

Correct me if I am wrong, but pivot didn't support following of the finger. This particular customized control, follows the person's finger. Unless the creator, added finger following, and styled it like the NavigationView, I am pretty sure app is using NavigationView instead of Pivot.

Pivot does follow your finger, and when it moves a certain distance, and releases, it completes the transition to the next Pivot Item.

It is only the selection indicator that does not follow your finger, or animate it's position. The team felt there was not enough benefit to updating this control to support this, like the NavigationView's selection indicator. #2585

Right. I commented on that one. NavigationView should really be updated to pivot.

winston-de commented 4 years ago

As an touch user, that uses even his non touch desktop in Tablet Mode, I hate tapping on things I should be able to swipe. I would love to swipe between menus to find what I want to faster.

I would like to add that pivots are great with trackpads, too. I love being able to use two-finger horizontal swipe to quickly navigate through pages without every having to click or tap.

mdtauk commented 4 years ago

Right. I commented on that one. NavigationView should really be updated to pivot.

I disagree with this, the Pivot and NavigationView (set to top mode) are fundamentally different controls, and swiping with NavigationView would have lots of usability issues with the content in the pages themselves, if it "ate" the input.

Also NavigationView pages, do not necessarily have a chronological or logical grouping, so quick swipe actions would have to go through each of the pages one by one, which will add to load times, and could cause confusion.

Just because the top orientated NavigationView has a similar appearance to the Pivot - doesn't mean the swipe gesture makes logical sense.

shaheedmalik commented 3 years ago

Now that the Pivot control has been removed from Project Reunion and WinUI 3, I believe this point should be addressed.

4480