Swipe UI

From WebOS-Ports
Revision as of 18:23, 27 April 2015 by DougReeder (talk | contribs) (Sections & Enyo support)
Jump to navigation Jump to search

Background

webOS has a rich repertoire of gestures, but they are not always used consistently. In a Messaging thread, tapping on a message pops up a menu for forwarding or copying the text. In Email, tapping on a message opens a full display of the message.

A gesture that has entered the mainstream is swiping left or right on a list item. In webOS, swiping either way deletes an item, by convention.

Proposal

It is proposed that we refine this to distinguish between left and right swipes. Left swipes would "dismiss" (delete, archive, close) the item. Depending on context, the item might be removed from the list, moved to the bottom of the list, or greyed-out. Right swipes would "adopt" (create a bookmark or favorite, reply to a message, copy to Just Type to create a message from, create a Task from, or otherwise "do more with") the item. Favorites might be marked with a star, replied-to messages might have an icon, and items that tasks or messages have been created from might have a different icon. ("opening" an item for full display or editing would still use a single tap.) This allows the user to rapidly process items, and see what has been done with items.

If there is more than one "dismiss" action, swiping left would overlay the item with a set of buttons. Likewise for "adopt" actions and swiping right. Users should always be able to recover from a mis-entered gesture, so some cases will have a single "confirm" button. Actions such as "archive" (dismiss) or "favorite" (adopt) that can be recovered from by some other mechanism wouldn't need this confirmation button. The swiped-in buttons could be swiped out to abort.

Scenario

A text message appears in a dashboard. User reads message, then swipes right and taps "Reply" to respond with "Yes, let's do this". Again in the dashboard, he/she swipes right and taps "Copy to Just Type". In Just Type, he/she selects "New Task" from Quick Actions to add an item in the Tasks app with the message text. Finally, in the dashboard, he/she swipes left to dismiss the message, as it has now been dealt with.

Implementation

Enyo 2 supports separate left & right swipes natively; see ListLanguagesSample (although that sample is confusing) Swipe-in buttons can be seen in Serene Notes Note that Enyo 2 Lists swipe in "on top" of the item, allowing the item to be seen through a scrim, rather than swiping the item out of the viewport and "revealing" controls beneath, as in Enyo 1 and Mojo.

As of Enyo 2.5, swipe support is only in List, not DataList. Support in DataList is supposed to come after 2.6.

Advantages

The key advantages for users are

  • consistent interactions: tap to open, swipe left to dismiss, swipe right to adopt.
  • acceleration of common actions

Specific Instances

In Contacts, one could "favorite" people from the list view or set a Reminder. These don't get synced to back ends, and so should not be mutated in the Edit pane like conventional fields.

The Messaging app doesn't have a concept of "opening" a message, so tapping displays a popup menu. Here, we'd probably have tap do the same as right swipe: slide in buttons to reply or copy the text.

In Email, the "adopt" actions would be the same as the bottom toolbar in the full display pane. Here, we get a little acceleration and consistency with other apps.