# Patent

## Title
Swiping functions for messaging applications

## Abstract

This application relates to performing organizational tasks using a variety of physical operations in a message application. The physical operations can include swiping actions performed by the user of the message application. By performing certain types of swipes on a user interface of the message application, the user can more readily organize messages stored by the message application. The types of swipes can include full swipes, which can execute one or more functions on a message, and partial swipes, which can open up a menu that includes multiple buttons for executing various operations on the message being swiped. Additionally, the direction of the swipe can also determine the functions and operations to be performed on the message being swiped.

## Background
FIELD
The described embodiments relate generally to electronic message applications. More particularly, the present embodiments relate to using a variety of physical actions to operate an electronic message application.
BACKGROUND
Modern computing devices have become one of the most popular tools for the world to communicate. Devices such as mobile phones have made it easy to talk with someone almost instantly with the click of a few buttons. The simplicity of email and text messaging has made communication between people even more instant. The popularity of various messaging services has caused a large flux of data between computing devices all over the world. In many cases, a user of a computing device can receive more messages than the user would prefer, causing the user much frustration when using the computing device. Various messaging services include folders in which to organize the numerous messages the user receives at their messaging account, however, such folders cause the user to take additional steps to organize all the messages the user receives. Moreover, even though the number of folders can often be configurable, the steps to move messages into folders and between folders typically remain the same. The problem of organizing messages is in many ways exacerbated when the messaging service enables the user to include multiple messaging accounts into a single interface, requiring the user to manage an even greater number of messages.
Once the user has received a message on a particular computing device, the user must typically open the message in order to be presented with a menu of options for moving or otherwise organizing the message. In some cases, the option that the user may be looking for is not included on the menu and therefore the user must enter one or more other menus in order to find the menu option the user is looking for. Even though particular menu options may provide a useful function, the means for reaching such menu options can spoil any benefits received from using the menu options. Moreover, when the menu option is used repeatedly, the setbacks incurred from navigating to the menu option can outweigh the utility of the menu option. In situations where a user wishes to perform multiple operations on a single message, the user may be even more burdened by a messaging service that forces the user to open and close multiple menus to perform minor organizational tasks on the message. Overall, although messaging services may be designed to make the user more efficient, executing the messaging service to be efficient may be futile at times.
SUMMARY
This paper describes various embodiments that relate to operating and controlling a message application using various physical actions performed at a user interface. In some embodiments, a method for controlling a message application is set forth. The method includes determining that a message, from a list of applications, is being swiped, and determining a starting point of the swipe. The method can further include a step of determining whether the swipe was performed in a first direction or a second direction from the starting point. Additionally, the method can include, when an end point of the swipe causes a portion of the message, perpendicular to the direction of the swipe, to be between an option threshold and a function threshold, causing a user interface to display a first button and a second button. The first button can be capable of initiating a first action that is configurable by a user of the message application, and the second button can be capable of initiating a second action that is restricted from being configured by the user.
In other embodiments, a machine-readable non-transitory storage medium is set forth. The storage medium can store instructions that, when executed by a processor included in a computing device, cause the computing device to carry out steps that include determining that a message is being swiped across a user interface of the computing device. Additionally, the steps can include determining a swipe direction associated with the message being swiped, and determining a swipe distance corresponding to the distance a message has been moved across the user interface. The steps can further include, when the swipe direction is in a first direction and the swipe distance satisfies a function threshold: performing a first function associated with the first direction, and causing the message to be removed from the user interface. Moreover, the steps can include, when the swipe direction is in a second direction that is different than the first direction and the swipe distance satisfies function threshold: performing a second function associated with the second direction, and causing the message to return to an original position on the user interface.
In yet other embodiments, a device is set forth. The device can include a processor, and a memory storing instructions that when executed by the processor cause the processor to perform the steps of: determining that a swipe is occurring across a user interface of the device, while the user interface is displaying a list of messages, and determining that a message from the list of messages that is being swiped. The steps can further include, when a distance of the swipe satisfies an option threshold, causing a plurality of option buttons to be displayed on the user interface, wherein the plurality of option buttons correspond to operations that can be performed on the message. Additionally, the steps can include, when the distance of the swipe satisfies a function threshold: causing the plurality of option buttons to be removed from the user interface, and performing a function on the message.
Other aspects and advantages of the invention will become apparent from the following detailed description taken in conjunction with the accompanying drawings which illustrate, by way of example, the principles of the described embodiments.



BRIEF DESCRIPTION OF THE DRAWINGS
The disclosure will be readily understood by the following detailed description in conjunction with the accompanying drawings, wherein like reference numerals designate like structural elements.
FIG. 1 illustrates a diagram of a mobile device having a messaging interface for displaying and organizing messages.
FIG. 2 illustrates a system for operating the messaging interface on the mobile device according to some embodiments discussed herein.
FIGS. 3A-3D illustrate multiple diagrams of the various operations of the right swipe that can occur on the message interface of the mobile device.
FIG. 4 illustrates a method for operating the right swipe according to some embodiments discussed herein.
FIGS. 5A-5D illustrate multiple diagrams of the various operations of the left swipe that can occur on the message interface on the mobile device.
FIG. 6 illustrates a method for operating the message application after the user has swiped the message to a position where the user is provided with operation choices, as further discussed herein.
FIG. 7 illustrates a method for displaying a status of a swipe, as further discussed herein.
FIG. 8 is a block diagram of a computing device that can represent the components of the mobile device.



DETAILED DESCRIPTION
Representative applications of methods and apparatus according to the present application are described in this section. These examples are being provided solely to add context and aid in the understanding of the described embodiments. It will thus be apparent to one skilled in the art that the described embodiments may be practiced without some or all of these specific details. In other instances, well known process steps have not been described in detail in order to avoid unnecessarily obscuring the described embodiments. Other applications are possible, such that the following examples should not be taken as limiting.
In the following detailed description, references are made to the accompanying drawings, which form a part of the description and in which are shown, by way of illustration, specific embodiments in accordance with the described embodiments. Although these embodiments are described in sufficient detail to enable one skilled in the art to practice the described embodiments, it is understood that these examples are not limiting; such that other embodiments may be used, and changes may be made without departing from the spirit and scope of the described embodiments.
The embodiments discussed herein relate to performing organizational tasks on electronic messages in a message application. The organizational tasks can be activated using a variety of physical operations at a user interface of a mobile device. The physical operations can include swiping operations in which a user moves their finger, or other suitable object, across the user interface and a message being displayed on the user interface. The swipe can initiate or complete an operation such as deleting a message, moving a message, marking a message as unread, copying a message to another folder, or any other suitable operation related to organizing electronic messages. The type of swipe can determine the operation that is to be performed on a given message. In some embodiments, a partial right swipe and a partial left swipe can reveal multiple buttons for a user to choose from. The buttons that are exposed can be different for the partial right swipe and the partial left swipe. For example, the buttons that are exposed during a partial right swipe can be an archive button and a trash button, while the buttons exposed during a partial left swipe can be a mark as unread button, a copy to folder button, and a more button for seeing other operation choices not listed. The various swipes, functions, and/or buttons resulting from the different swipes can be configurable by a user (e.g., both left and right swipes). Additionally, in some embodiments, the buttons exposed during a partial right swipe can be configurable by a user while the buttons exposed during a partial left swipe can be non-configurable, or vice a versa. Other organizational tasks can be executed by performing a full right swipe or a full left swipe. Similar to the aforementioned buttons, the organizational task executed by the full right swipe can be configured by the user while the full left swipe can be non-configurable, or vice versa.
Thresholds can be established for differentiating between what constitutes a partial swipe and a full swipe. The thresholds can be configurable by a user, or non-configurable by a user in some embodiments. Animations or images can be associated with each threshold in order to put the user on notice of when they have or have not satisfied a threshold associated with a particular type of swipe, or a particular type of organizational task. Moreover, after a particular threshold is satisfied during a swipe, the message can remain in a shifted position, adjacent to one or more buttons, until the user presses a button or otherwise provides an indication of an operation to perform or not perform at the mobile device. For example, the user can tap the shifted message to not perform a function, continue swiping to execute a function associated with a particular full swipe, or press a button adjacent to the shifted message. When the user has multiple message accounts, each message account can have different settings related to swipe procedures. For example, the full right swipe in one message account can be a mark as unread operation, while the full right swipe in another message account can be an archive operation.
These and other embodiments are discussed below with reference to FIGS. 1-8; however, those skilled in the art will readily appreciate that the detailed description given herein with respect to these figures is for explanatory purposes only and should not be construed as limiting.
FIG. 1 illustrates a diagram 100 of a mobile device 110 having a messaging interface 112 for displaying and organizing messages 102. Specifically, FIG. 1 illustrates the messaging interface 112 having multiple organizational functions that can be performed and revealed by performing a swiping motion against the messaging interface 112. A user of the mobile device 110, by placing a finger, or any other suitable instrument, against the messaging interface 112 and sliding the finger across the messaging interface 112 can perform the swiping motion. A right swipe 114 can be performed and cause a right function to be performed that is different than a left function that a left swipe 116 performs, as further discussed herein. The right swipe 114 can also reveal a right swipe option 104, which the user can press in order to perform a function associated with the right swipe option 104. The left swipe 116 can also reveal left swipe options, and specifically the left swipe 116 can reveal multiple configurable options 106 and 107, and a non-configurable option 108. The configurable options 106 and 107 can be modified by the user, a third party, or the mobile device 110 manufacturer, and the non-configurable option 108 can be non-configurable. Both the left swipe 116 and the right swipe 114 can reveal one or more swipe options that can include one or more configurable, or non-configurable options, or any combination thereof. Additionally, left swipes 116 and right swipes 114 can each be performed in isolation or concurrently. For example, the user can use two fingers to swipe two messages concurrently. One message can receive a left swipe 116 and the other can receive a right swipe 114. Both the left swipe 116 and right swipe 114 can be performed to accomplish the right function and the left function concurrently. These and other embodiments are discussed further herein.
FIG. 2 illustrates a system 200 for operating the messaging interface 112 on the mobile device 110 according to some embodiments discussed herein. The mobile device 110 can include a display 112 that is used to transmit touch-related data to and from a touch system 204. The touch system 204 interprets the touch-related data in order to determine what operations the user is intending to perform, and thereafter provide a touch signal indicative of the operation to an operating system 206. The touch signal can include the direction the user is swiping across the messaging interface 112, the speed at which the swipe is occurring, the length of time the swipe was accomplished in, coordinates of the swipe that can include a starting coordinate and an ending coordinate, velocity and acceleration of the swipe, coordinates of a tap on the messaging interface 112, the number of taps, the frequency of the taps within a particular period of time, and any other suitable data related to touching a touch-screen display. The operating system 206 can use the touch signals to operate a message application 208. The message application 208 can be an email application, text message service, or any suitable program for receiving or managing electronic messages. The message application 208 can include one or more message folders 210 that can store one or more messages 212. The messages 212 can be moved to and from various folders, or deleted, based on the touch signal, as further discussed herein.
FIGS. 3A-3D illustrate multiple diagrams of the various operations of the right swipe 114 of the message interface 112 on the mobile device 110. Specifically, FIGS. 3A-3D illustrate embodiments of the message interface 112 including an option threshold 302 and a function threshold 304. The option threshold 302 and function threshold 304 can be values stored by the operating system 206, touch system 204, or message application 208, in order to coordinate various operations of the message interface 112 with the message application 208. The thresholds can be distances between coordinates or points on the message interface 112. For example, the option threshold 302 can be a distance value corresponding to the distance between a side of the message interface 112 and the option threshold 302; and the option threshold 302 can be satisfied when a distance of a swipe is equal to or greater than the distance value. Additionally, in some embodiments, the option threshold 302 and function threshold 304 can be met if the swipe is longer than a first predetermined number of pixels and the swipe ends within a second predetermined number of pixels from an edge of the message interface 112. In this way, if the swipe is not longer than the first predetermined threshold but the swipe ends within the second predetermined threshold, no resulting operation will result (unless the swipe in some way satisfies another predetermined set of thresholds associated with an operation). In FIG. 3A, a left status bar 306 is provided to indicate that an operation can be performed when the right swipe 114 pulls or moves a message 102 such that the left side of the message 102 moves toward the option threshold 302. When the left side of the message 102 does not reach or satisfy the option threshold 302 during a right swipe 114, and the user terminates the right swipe 114 (e.g., stops touching the message interface 112), the left side of the message 102 can return to a starting position or original position at the left side of the message interface 112. As a result, no operation is performed on the message 102 when the right swipe 114 does not cause the left side of the message 102 to reach, exceed, or otherwise satisfy the option threshold 302. The left status bar 306 will be displayed during the course of the right swipe 114 until the left side of the message 102 reaches, exceeds, or otherwise satisfies the option threshold 302. The left status bar 306 can be a color, pattern, or animation, or any other suitable signal indicating that an operation or function will not be performed.
In FIG. 3B, the right swipe 114 is illustrates as causing the left side of the message 102 to extend beyond the option threshold 302 but not beyond the function threshold 304. Going beyond a particular threshold can refer to when a portion of a message 102 (e.g., the left side) starts at one side of the threshold (e.g., the left side) and is either caused to reach the threshold or move past the threshold (e.g., move to the right side of the threshold). When the left side of the message extends beyond the option threshold 302, the option status bar 308 can appear indicating that if the user releases their finger or instrument from the message interface 112 the option status bar 308 will remain and display an option button 310, illustrated in FIG. 3C, for the user to select. The option button 310 can be predetermined by the mobile device 110 manufacturer or can be configurable by the user in some embodiments. For example, the option button 310 can be configure to archive a message 102, mark a message 102 as unread, move a message 102 to a specified folder, report a message 102 as spam, forward a message 102 to a specific person, mark a message 102 as important, or perform any other suitable operation related to message management.
FIG. 3D illustrates the left side of a message 102 being moved past the function threshold 304. When the left side of the message 102 is moved past the function threshold 304, a function status bar 312 is displayed at the message interface 112 indicating that the user has moved the message 102 far enough across the message interface 112 to enable a function to be performed on the message 102. The function performed can be any of the operations or functions described herein, or any other suitable function related to message management. For example, moving the left side of the message 102 to a position at or past the function threshold 304 can cause the message to be archived, marked as unread, or moved to a different folder according to some embodiments. Moreover, the function that is performed can be configurable or non-configurable by a user in some embodiments.
FIG. 4 illustrates a method 400 for operating the right swipe 114 according to some embodiments discussed herein. Specifically, FIG. 4 illustrates a method 400 for operating the message application 208 using the right swipe 114 operation. At step 402, the message application 208 can receive a touch signal from the touch system 204. The touch signal can originate at a display device of the mobile device 110 and thereafter be converted to a touch signal that is usable by the message application 208. At step 404, the message application 208 can determine a length between a start coordinate and end coordinate associated with the touch signal. In some embodiments, a velocity and acceleration associated with the touch signal can be measured, and thereafter the velocity and/or acceleration can be used by the message application 208 to determine an operation and/or function to perform according to the velocity or acceleration. The function can be performed when the swipe being performed reaches a predetermined velocity or acceleration in some embodiments. Moreover, the operation and/or function to be performed can be determined based on the end coordinate of the touch signal and an edge of the message interface 112. In some embodiments, the operation and/or function to be performed can be determined based on a combination of length, speed, and/or the end coordinate of the touch signal relative to the edge of the message interface 112. At step 406, the message application 208 can determine a message 102 that is associated with the start coordinate and move the message 102 according to the touch signal. The message 102 associated with the start coordinate can be the message 102 that the user intends to modify or otherwise perform an operation on. Moving the message 102 can involve causing the display to provide the appearance that the message 102 is being shifted across the screen at a velocity that is proportional to the velocity associated with the touch signal or movement of the finger or other instrument of the user.
The method 400 can include a step 408 where the message application 208 determines whether the length, previously determined at step 404, is greater than or equal to a function threshold. If the length is greater than or equal to a function threshold, the message application 208 can cause a function to be performed on the message 410, as further discussed herein. If the length is not greater than or equal to the function threshold, the message application 208 can proceed to step 412 where the message application 208 determines whether the length is greater than or equal to an option threshold. If the length is greater than or equal to the option threshold, the message application can, at step 414, cause an option button to be displayed at the user interface. The option button can appear adjacent to a modified message 102, which can appear shifted to the right in order to allow the option to be adequately displayed. Otherwise the message application 208 can proceed to step 416 where the message application 208 can cause the message 102 to return to an original position. The original position can be the position that the user initially views a message 102 prior to initiating any operation on the message 102.
FIGS. 5A-5D illustrate multiple diagrams of the various operations of the left swipe 116 of the message interface 112 on the mobile device 110. The diagrams of FIGS. 5A-5D incorporate many of the elements of FIGS. 3A-3D, however, FIGS. 5A-5D are set forth to illustrate operations and functions related to the left swipe 116 according to some embodiments discussed herein. In FIG. 5A, the left swipe 116 can be used to reveal a right status bar 510, which can indicate that an operation or function can be performed if the user continues to perform the left swipe 116. In FIG. 5B, as the user continues to perform the left swipe 116 and the right side of the message 102 passes the option threshold 302, an option status bar 512 can be displayed that can include one or more indicators of the operations that can be performed if the user releases the left swipe 116. The option threshold 302 and function threshold 304 can swap places depending on the direction of the swipe. For example, if the user is performing a left swipe 116, the option threshold 302 can be on the right side of the function threshold 304; and if the user is performing a right swipe 114, the option threshold 302 can be on the left side of the function threshold 304 (as displayed in FIGS. 3A-3D and 5A-5D, respectively). If the user releases the left swipe 116 at a point where the right side of the message 102 is between the option threshold 302 and the function threshold 304, the right side of the message 102 will remain static until the user touches the message interface 112 again. In any of the embodiments discussed herein, the option threshold 302 and function threshold 304 can be moved or otherwise adjusted by a user, together or individually, in order to provide different thresholds for functions and operations to occur as a result of a particular swipe. Additionally, the resulting functions and options of the left swipe 116 can be performed by a right swipe 114, or vice a versa, based on a user preference, the frequency the user executes a particular swipe direction, or the dexterity of the user.
FIG. 5C illustrates an embodiment of the message interface 112 where the message 102 is in a static position as a result of a swipe. Specifically, FIG. 5C illustrates how multiple options for operations are displayed as a result of a left swipe 116 that was terminated at a point when the right side of the message 102 was between the option threshold 302 and the function threshold 304. It should be noted that a message 102 can refer to an icon or other representation of a message 102 that is not the actual stored message but rather a symbol of the message. A user can be provided with an operation list 508 that the user can choose a single operation from. In some embodiments, the operation list 508 can include a non-configurable option button 502, a first configurable option button 504, and a second configurable option button 506. In some embodiments, more non-configurable and/or configurable options can be provided for the user to select from. Additionally, more or less than three options can be provided to the user to choose from. For example, a left swipe 116 can provide three options while a right swipe 114 can provide one option. The non-configurable option button 502, first configurable option button 504, and second configurable option button 506 can be any option or function discussed herein, or any other suitable operation for managing electronic messages. The operation list 508 can be different for each message account the user has. Therefore, if the user has three message accounts from which the user receives messages, the operation list 508 can be configured for each of the three message accounts. Once the operation list 508 has been transitioned into a static position by a swipe, the operation list 508 can remain static until a user touches the message interface 112 again. The user can also re-touch the message 102 that has been dragged to the left by the left swipe 116 and continue the left swipe 116 in order to perform a function that has been configured for the left swipe 116. However, the right side of the message 102 must first reach or move past the function threshold 304 in order for the function associated with the left swipe 116 to be executed, as illustrated in FIG. 5C. In FIG. 5C, a function status bar 514 is displayed when the right side of the message 102 reaches or moves past the function threshold 304. Thereafter, the function associated with the left swipe 116 can be executed on the message 102 by the message application 208. It should be noted that any of the functions associated with the left swipe 116 can also be performed by the right swipe 114, and vice a versa.
FIG. 6 illustrates a method 600 for operating the message application 208 once the user has swiped the message 102 to a position where the user is provided operation choices, as discussed herein. At step 602, the message application 208 determines that a swipe has caused an end of the message 102 to reside between the option threshold 302 and the function threshold 304. At step 604, the message application 208 determines, in a loop, whether the user has touched the screen or other device button of the mobile device 110. Upon the user touching the screen or other device button of the mobile device 110, the message application 208, at step 604, determines whether the user touched an option button 504 (i.e., a button revealed when the user performs a left swipe 116 or right swipe 114 as discussed herein). If the user has selected an operation button, the message application 208 can proceed to step 608 where the message application 208 executes the operation associated with the operation button (e.g., archiving the message). If the user has not selected on operation button, the message application 208 can proceed to step 610 where the message application 208 determines whether the user touched the message 102 that was previously determined to have been swiped at step 602. If the user touched the message that was previously swiped, the message application 208 can proceed to step 612 where the message 102 is caused to return to an original position on the display, as discussed herein. If the user continues to swipe the message 102 to perform a full swipe, the function associated with the full swipe can be performed on the message. Otherwise, the message application 208 can cause the message 102 to return to the original position on the display if the user did not select an operation button. In this way, touching any portion of the display outside of the operation button(s) can act as a cancellation procedure for the respective swipe. It should be noted that the methods and steps described herein can be modified according to any of the embodiments described herein, and arranged in any suitable manner or order.
FIG. 7 illustrates a method 700 for displaying a status of a swipe. Specifically, FIG. 7 illustrates the method 700 for notifying the user of particular functions and operations that are available as the user swipes a message across the message interface 112. At step 702, the message application 208 determines whether a message 102 is being swiped across the message interface 112. Step 702 is continually performed until the message application 208 determines that a message 102 is being moved across the message interface 112, and thereafter the message application 208 proceeds to step 704. At step 704, the message application 208 determines how far an end of the message 102 has been swiped across the message interface 112. This determination can be made using any suitable algorithm, such as by calculating the length of the swipe. At step 706, the message application 208 determines whether the end of the message 102 has moved past the option threshold 302 and function threshold 304, or whether the length of the swipe is longer than the option threshold 302 and function threshold 304 as discussed herein. If the message 102 has moved past the option threshold 302 and the function threshold 304, the message application 208 can cause a status indicator designated for a function to be displayed at step 708. If the message 102 has not moved past the option threshold 302 and the function threshold 304, the message application 208 can, at step 710, determine whether the end of the message 102 has moved only past the option threshold 302. If the end of the message 102 has moved past or satisfied the option threshold 302, the message application 208 can, at step 712, cause a status indicator designated for options to be displayed. If the end of the message 102 has not moved past or not satisfied the option threshold 302, the message application 208 can, at step 714, display a status indicator designated for a pending swipe status. Each status indicator discussed herein can be an image, text, animation, or any other suitable notification for putting the user on notice of the status of the respective swipe being performed.
FIG. 8 is a block diagram of a computing device 800 that can represent the components of the mobile device 110. It will be appreciated that the components, devices or elements illustrated in and described with respect to FIG. 8 may not be mandatory and thus some may be omitted in certain embodiments. The computing device 800 can include a processor 802 that represents a microprocessor, a coprocessor, circuitry and/or a controller 810 for controlling the overall operation of computing device 800. Although illustrated as a single processor, it can be appreciated that the processor 802 can include a plurality of processors. The plurality of processors can be in operative communication with each other and can be collectively configured to perform one or more functionalities of the computing device 800 as described herein. In some embodiments, the processor 802 can be configured to execute instructions that can be stored at the computing device 800 and/or that can be otherwise accessible to the processor 802. As such, whether configured by hardware or by a combination of hardware and software, the processor 802 can be capable of performing operations and actions in accordance with embodiments described herein.
The computing device 800 can also include user input device 804 that allows a user of the computing device 800 to interact with the computing device 800. For example, user input device 804 can take a variety of forms, such as a button, keypad, dial, touch screen, audio input interface, visual/image capture input interface, input in the form of sensor data, etc. Still further, the computing device 800 can include a display 808 (screen display) that can be controlled by processor 802 to display information to a user. Controller 810 can be used to interface with and control different equipment through equipment control bus 812. The computing device 800 can also include a network/bus interface 814 that couples to data link 816. Data link 816 can allow the computing device 800 to couple to a host computer or to accessory devices. The data link 816 can be provided over a wired connection or a wireless connection. In the case of a wireless connection, network/bus interface 814 can include a wireless transceiver.
The computing device 800 can also include a storage device 818, which can have a single disk or a plurality of disks (e.g., hard drives) and a storage management module that manages one or more partitions (also referred to herein as “logical volumes”) within the storage device 818. In some embodiments, the storage device 820 can include flash memory, semiconductor (solid state) memory or the like. Still further, the computing device 800 can include Read-Only Memory (ROM) 822 and Random Access Memory (RAM) 822 and. The ROM 822 can store programs, code, instructions, utilities or processes to be executed in a non-volatile manner. The RAM 824 can provide volatile data storage, and stores instructions related to components of the storage management module that are configured to carry out the various techniques described herein. The computing device can further include data bus 826. Data bus 826 can facilitate data and signal transfer between at least processor 802, controller 810, network interface 814, storage device 818, ROM 822, and RAM 824.
The various aspects, embodiments, implementations or features of the described embodiments can be used separately or in any combination. Various aspects of the described embodiments can be implemented by software, hardware or a combination of hardware and software. The described embodiments can also be embodied as computer readable code on a computer readable medium for controlling manufacturing operations or as computer readable code on a computer readable medium for controlling a manufacturing line. The computer readable medium is any data storage device that can store data which can thereafter be read by a computer system. Examples of the computer readable medium include read-only memory, random-access memory, CD-ROMs, HDDs, DVDs, magnetic tape, and optical data storage devices. The computer readable medium can also be distributed over network-coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.
The foregoing description, for purposes of explanation, used specific nomenclature to provide a thorough understanding of the described embodiments. However, it will be apparent to one skilled in the art that the specific details are not required in order to practice the described embodiments. Thus, the foregoing descriptions of specific embodiments are presented for purposes of illustration and description. They are not intended to be exhaustive or to limit the described embodiments to the precise forms disclosed. It will be apparent to one of ordinary skill in the art that many modifications and variations are possible in view of the above teachings.

## Claims

1. A method for enabling a user to manage messages within a user interface of a message application, the method comprising:
detecting a swipe gesture on a message icon among a list of message icons, wherein each message icon is associated with at least one corresponding message;
in accordance with a first determination that an end point of the swipe gesture is between a first threshold and a second threshold:
displaying a first affordance and a second affordance within the user interface, wherein;
the first affordance is a user-configurable affordance associated with a first message action selected from at least one message action, and when the first affordance is activated, the first message action is performed on the at least one corresponding message, and
the second affordance is a non-user-configurable affordance that is associated with a second message action to be performed on the at least one corresponding message when the end point of the swipe gesture exceeds the second threshold.

2. The method of claim 1, further comprising:
in accordance with a second determination that the end point of the swipe gesture exceeds the second threshold, performing the second message action on the at least one corresponding message.

3. The method of claim 1, further comprising:
causing, during the swipe gesture, a status image to be displayed adjacent to an end portion of the message icon, before and after the end portion of the message icon moves past the first threshold and the second threshold.

4. The method of claim 1, wherein, when the swipe gesture causes an end portion of the message icon to move past the first threshold and the second threshold, and then between the first threshold and the second threshold, the method further comprises:
causing a function status image to be displayed, and
causing the first affordance and the second affordance to be displayed.

5. The method of claim 1, wherein the first message action involves: marking the at least one corresponding message as unread, moving the at least one corresponding message to a trash folder, marking the at least one corresponding message as important, moving the at least one corresponding message to a different folder, copying the at least one corresponding message to a different folder, and forwarding the at least one corresponding message to a recipient.

6. The method of claim 1, wherein, when the end point of the swipe gesture causes an end portion of the message icon to move toward the first threshold without passing the first threshold, the method further comprises:
determining whether the swipe gesture is being performed in a first direction or a second direction;
when the user is performing the swipe gesture in the first direction:
causing the user interface to display a first swipe status;

when the user is performing the swipe gesture in the second direction:
causing the user interface to display a second swipe status.

7. The method of claim 1, wherein, when the end point of the swipe gesture causes an end portion of the message icon to move toward the first threshold without passing the first threshold, the method further comprises:
determining whether the swipe gesture is being performed in a first direction or a second direction;
designating the first threshold to be on a first side of the second threshold when the user is performing the swipe gesture in the first direction;
otherwise, designating the first threshold to be on a second side of the second threshold when the user is performing the swipe gesture in the second direction.

8. A non-transitory computer readable storage medium configured to store instructions that, when executed by a processor included in a computing device, cause the computing device to enable a user to manage messages within a user interface of a message application, by carrying out steps that include:
detecting a swipe gesture on a message icon among a list of message icons, wherein each message icon is associated with at least one corresponding message;
in accordance with a first determination that an end point of the swipe gesture is between a first threshold and a second threshold:
displaying a first affordance and a second affordance within the user interface, wherein:
the first affordance is a user-configurable affordance associated with a first message action selected from at least one message action, and when the first affordance is activated, the first message action is performed on the at least one corresponding message, and
the second affordance is a non-user-configurable affordance that is associated with a second message action to be performed on the at least one corresponding message when the end point of the swipe gesture exceeds the second threshold.

9. The non-transitory computer readable storage medium of claim 8, wherein the steps further include:
in accordance with a second determination that the end point of the swipe gesture exceeds the second threshold, performing the second message action on the at least one corresponding message.

10. The non-transitory computer readable storage medium of claim 8, wherein the steps further include:
causing, during the swipe gesture, a status image to be displayed adjacent to an end portion of the message icon, before and after the end portion of the message icon moves past the first threshold and the second threshold.

11. The non-transitory computer readable storage medium of claim 8, wherein, when the swipe gesture causes an end portion of the message icon to move past the first threshold and the second threshold, and then between the first threshold and the second threshold, the steps further include:
causing a function status image to be displayed, and
causing the first affordance and the second affordance to be displayed.

12. The non-transitory computer readable storage medium of claim 8, wherein the first message action involves: marking the at least one corresponding message as unread, moving the at least one corresponding message to a trash folder, marking the at least one corresponding message as important, moving the at least one corresponding message to a different folder, copying the at least one corresponding message to a different folder, and forwarding the at least one corresponding message to a recipient.

13. The non-transitory computer readable storage medium of claim 8, wherein, when the end point of the swipe gesture causes an end portion of the message icon to move toward the first threshold without passing the first threshold, the steps further include:
determining whether the swipe gesture is being performed in a first direction or a second direction;
when the user is performing the swipe gesture in the first direction:
causing the user interface to display a first swipe status;

when the user is performing the swipe gesture in the second direction:
causing the user interface to display a second swipe status.

14. The non-transitory computer readable storage medium of claim 8, wherein, when the end point of the swipe gesture causes an end portion of the message icon to move toward the first threshold without passing the first threshold, the steps further include:
determining whether the swipe gesture is being performed in a first direction or a second direction;
designating the first threshold to be on a first side of the second threshold when the user is performing the swipe gesture in the first direction;
otherwise, designating the first threshold to be on a second side of the second threshold when the user is performing the swipe gesture in the second direction.

15. A computing device configured to enable a user to manage messages within a user interface of a message application, the computing device comprising a processor configured to cause the computing device to carry out steps that include:
detecting a swipe gesture on a message icon among a list of message icons, wherein each message icon is associated with at least one corresponding message;
in accordance with a first determination that an end point of the swipe gesture is between first threshold and a second threshold:
displaying a first affordance and a second affordance within the user interface, wherein:
the first affordance is a user-configurable affordance associated with a first message action selected from at least one message action, and when the first affordance is activated, the first message action is performed on the at least one corresponding message, and
the second affordance is a non-user-configurable affordance that is associated with a second message configurable action to be performed on the at least one corresponding message when the end point of the swipe gesture exceeds the second threshold.

16. The computing device of claim 15, wherein the steps further include; in accordance with a second determination that the end point of the swipe gesture exceeds the second threshold, performing the second message action on the at least one corresponding message.

17. The computing device of claim 15, wherein the steps further include: causing, during the swipe gesture, a status image to be displayed adjacent to an end portion of the message icon, before and after the end portion of the message icon moves past the first threshold and the second threshold.

18. The computing device of claim 15, wherein, when the swipe gesture causes an end portion of the message icon to move past the first threshold and the second threshold, and then between the first threshold and the second threshold, the steps further include:
causing a function status image to be displayed, and
causing the first affordance and the second affordance to be displayed.

19. The computing device of claim 15, wherein the first message action involves: marking the at least one corresponding message as unread, moving the at least one corresponding message to a trash folder, marking the at least one corresponding message as important, moving the at least one corresponding message to a different folder, copying the at least one corresponding message to a different folder, and forwarding the at least one corresponding message to a recipient.

20. The computing device of claim 15, wherein, when the end point of the swipe gesture causes an end portion of the message icon to move toward the first threshold without passing the first threshold, the steps further include:
determining whether the swipe gesture is being performed in a first direction or a second direction;
when the user is performing the swipe gesture in the first direction:
causing the user interface to display a first swipe status;

when the user is performing the swipe gesture in the second direction:
causing the user interface to display a second swipe status.

21. The computing device of claim 15, wherein, when the end point of the swipe gesture causes an end portion of the message icon to move toward the first threshold without passing the first threshold, the steps further include:
determining whether the swipe gesture is being performed in a first direction or a second direction;
designating the first threshold to be on a first side of the second threshold when the user is performing the swipe gesture in the first direction;
otherwise, designating the first threshold to be on a second side of the second threshold when the user is performing the swipe gesture in the second direction.