0

Currently, I am porting an Android app to iOS app.

I have been pondering for quite some time, on what is the proper UX, to implement

  1. Drag and move to perform reordering
  2. Multiple selection

So that user can have a joyful experience while using the app.

In Android, the following are my implementation.

Drag and move to perform reordering (Android)

enter image description here

  1. Long press (Do not perform finger lifting up)
  2. Move to reorder

Multiple selection (Android)

enter image description here

  1. Long press to enter selection mode (Do not perform finger movement)
  2. Finger lift up
  3. Multiple selection
  4. Perform action on multiple selected cards

However, such patterns are rarely seen in iOS app. I was wondering, what are some good UX pattern to implement such functionality?

I wish user can accomplish their task with fewest steps as possible, yet retain their joyful experience.

I check some popular apps in iOS...

Drag and move to perform reordering (iOS. I do not think is a good one)

enter image description here

  1. Long press
  2. Perform horizontal movement (Do not perform vertical movement. If not, it will perform pop-up menu selection)

The shortcoming of such UX is that, you need to perform a "Strong" move gesture, only you can move the card.

If not, it is too easy for you to accidentally perform pop-up menu selection.

Hence, I do not like this type Drag and move UX


Multiple selection (iOS)

enter image description here

  1. Long press
  2. Select "Select Task" menu item
  3. Perform multiple selection

Suggestions

My thoughts is, in iOS, maybe my implementation strategy can be

Drag and move to perform reordering (iOS)

(The implementation will be exactly same as Android's)

Multiple selection (iOS)

enter image description here

Have a non-scrollable section to host an EDIT button. When user presses on the EDIT button, user will be able to perform multiple selection.

May I know, do you have any better suggestion on how I can implement a good iOS UX for

  1. Drag-n-move
  2. Multiple selection

1 Answer 1

1

What is the goal of the user in this scenario? To simply have that playful experience by being able to move the cards around? Or is there a need to prioritize and reorder content in the app? In either situation, I would adhere to apple's human interface guidelines for optimum user interaction. They explain that drag and drop involves moving selected content from a source location to a destination. These locations can be in the same container, like a text view, or inside different containers, like text views on opposite sides of a split view. Make drag and drop available for all selectable and editable content. Selectable content should be draggable, and editable content should accept dropped content. Also, make sure your app supports copy and paste in these areas. In conclusion, outside of not being happy with the way iOS handles these interactions, it would probably make the most sense to build it in a way that users will be used in that operating system. The long hold always allows the user to move that item to a new location. Yes, there is an extra dialog that appears, but that is how the operating system works. If you change the interaction, the user might get confused and abandon the task. Understand the user's goal and figure out the best way to get rid of any friction between the task and the user's goal.

2
  • It is used to perform card position reordering Apr 5, 2021 at 15:02
  • A good reference would be something like the Trello App. If you are not familiar with it, it is a project management app that allows users to reorder cards. I noticed they handle the drag and drop without the default iOS behavior getting in the way. Not sure how to accomplish this on the technical end, but it is a good user experience. Apr 7, 2021 at 11:00

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.