woocommerce / woocommerce-ios

WooCommerce iOS app
https://www.woocommerce.com/mobile
GNU General Public License v2.0
300 stars 109 forks source link

Order Creation: Improve customer details navigation between fields #6580

Open Ecarrion opened 2 years ago

Ecarrion commented 2 years ago

Reported by @jaclync in CFT

When editing a field toward the bottom on a phone, it’d be nice if there is an easier way to go to the next field. Right now, the only way to move to the next field is to tap “Return” on the keyboard then tap another field to edit

Ecarrion commented 2 years ago

I've been doing some research on this, and here are two points to consider:

Given these constraints, I feel we should wait for some user feedback first before allocating some time to this.

What do you think @shiki and @joe-keenan?

shiki commented 2 years ago

I feel we should wait for some user feedback first before allocating some time to this

@Ecarrion That sounds right to me. If it is scrolling, would you mind updating the title of this so it's more recognizable what we're trying to solve?

Not important and only if you know: Are the iOS 15 solution and iOS 14 solutions both time-consuming?

joe-keenan commented 2 years ago

I was literally just thinking about an hour ago that hitting return should take you to the next field. In my case, I was looking at the “Add Shipping” screen in Order Creation. After you’ve typed in the value you want, tapping “return” does nothing. To speed up the entry process, I thought it would be great if tapping “return” shifted focus to the “Name” field, and then changed to a primary “Done“ button, so you could do everything from the keyboard, rather than constantly moving your hand up and down the screen.

I am curious how likely we are to receive feedback about this small of an issue, though. It might be something I need to go out and actively seek feedback on.

I’d also like to know more about the iOS 14 and 15 solutions. I have been under the impression we’ve been using the older iOS 14 libraries. Are we actually using a mixture of both?

Ecarrion commented 2 years ago

@shiki @joe-keenan

SwiftUI added a way to handle the "field navigation on keyboard" only for iOS 15, which I reckon, could take a day of development.

As we want to support iOS 14 merchants (do we?) we have to replace the native SwiftUI text field with a UIKit textfield Wrapper. I think the wrapper could be built in 2(or 3?) days. Mainly because we can't use the reusable component we are currently using(TitleAndTextFieldRow) and will have to build a new one that uses our new wrapper inside.

joe-keenan commented 2 years ago

Thanks for the explanation, @Ecarrion, that clarifies things for me. Given the priority of this issue, I suspect that time may be better spent solving bigger problems. It would definitely be nice to add this functionality at some point, though. I’m not confident enough to comment on how far we should go out of our way to support iOS 14. If we implemented this only in SwiftUI, would that mean iOS 14 users would just not get this “field navigation on keyboard” functionality, or would it impact field functionality for them in other ways, too?

Ecarrion commented 2 years ago

Hey @joe-keenan, if we implement the change conditionally just for iOS 15, iOS 14 will remain with the current behavior.

That being said, that conditional behavior is also tricky due to how SwiftUI runtime works. the Easiest solution would be to implement it when we drop iOS 14 but that may take a while :-(

joe-keenan commented 2 years ago

Yeah, we might be waiting quite a long time.

I’m not sure how to proceed. Ideally, I’d like to see it implemented, but I can’t see how we could justify the time it would take.

I’ll defer to @shiki on this one.

shiki commented 2 years ago

I think we limit the version support up to 2 years. Since iOS 14 was released in Sep 2020, we can remove support for it in ~4 months' time. I think that's not too long to wait. 😅