Easy location sharing

Systems and methods for sharing location information during a message conversation are provided. An electronic device detects a location-sharing request from a first participant of a message conversation to share first participant location information with a second participant. The device then enables the second participant to obtain the first participant location information during a predetermined location-sharing time period. In response to detecting interaction by one of the first participant and the second participant with the message conversation during the predetermined location-sharing time period, the device extends the predetermined location-sharing time period.

FIELD

The present disclosure relate generally to user interfaces of electronic devices, and more specifically to techniques for sharing a user's location.

BACKGROUND

Text messaging is a common form of communication. Recently, text messaging has expanded to include additional functionality, including the ability to share location information between participants in a message conversation. Some methods for sharing location information can be, however, difficult and/or inefficient.

BRIEF SUMMARY

In some instances, many steps are required to share location, and these steps generally take the user away from the message transcript. In some instances, participants may want to share locations for a prolonged period of time. In such instances, the user repeats the steps to share location information each time a location update is desired, detracting from the user's messaging experience. Moreover, inefficiency, particularly on battery-powered mobile devices, may waste energy and increase the need for recharging.

Accordingly, there is a need for electronic devices with faster, more efficient methods and interfaces for sharing message participants' location information. Such methods and interfaces optionally complement or replace other methods for sharing location information. Such methods and interfaces reduce the cognitive burden on a user and produce a more efficient human-machine interface. For battery-operated computing devices, such methods and interfaces conserve power and increase the time between battery charges.

In some embodiments, a method for sharing location information during a message conversation includes: at an electronic device comprising a touch-sensitive surface and a display: displaying, on the display, a message region; displaying, in the message region, messages sent between a first participant and a second participant in a message conversation; detecting a location-sharing request from the first participant to share first participant location information with the second participant; in response to detecting the location-sharing request from the first participant: enabling the second participant to obtain the first participant location information during a predetermined location-sharing time period, wherein the predetermined location-sharing time period is scheduled to end at a first time; detecting interaction by one of the first participant and the second participant with the message conversation during the predetermined location-sharing time period; and in response to detecting interaction by one of the first participant and the second participant with the message conversation during the predetermined location-sharing time period: extending the predetermined location-sharing time period to end at a second time that is after the first time.

In some embodiments, a method for sharing location information during a message conversation includes: at an electronic device comprising a touch-sensitive surface and a display: displaying, on the display, a message region; displaying, in the message region, messages sent between a first participant and a second participant in a message conversation; receiving a first location-sharing notification that first participant location information is being shared with the second participant for a predetermined location-sharing time period, wherein the predetermined location-sharing time period is scheduled to end at a first time; sending a message to the first participant; and receiving a second location-sharing notification that first participant location information is being shared with the second participant for an extended location-sharing time period, wherein the extended location-sharing time period is scheduled to end at a second time that is after the first time.

In some embodiments, a method for sharing location information during a message conversation includes: at an electronic device comprising a touch-sensitive surface and a display: displaying, on the display, a message region; displaying, at a first position in the message region, a bottom portion of a message transcript of messages sent between a first participant and a second participant; detecting contact on a location corresponding to the message transcript; detecting movement of the contact across the touch-sensitive surface and toward a top portion of the message region; and in response to detecting movement of the contact across the touch-sensitive surface and toward a top portion of the message region: displaying the bottom portion of the message transcript at a second position in the message region above the first position; and displaying a location-sharing affordance at the first position.

In some embodiments, a method for sharing location information during a message conversation includes: at an electronic device comprising a touch-sensitive surface and a display: displaying, on the display, a message region; displaying, in the message region, a message transcript of messages sent between a first participant and a second participant; displaying, at a first position in the message transcript, a shared-location affordance; while displaying the shared-location affordance at the first position, detecting a request to scroll the message transcript; in response to detecting the request to scroll the message transcript: determining whether the request to scroll the message transcript comprises a request to scroll the shared-location affordance beyond the message region; in accordance with a determination that the request to scroll the message transcript comprises a request to scroll the shared-location affordance beyond the message region: discontinuing display of the shared location in the message transcript; and displaying a location-sharing status bar outside the message region; and in accordance with a determination that the request to scroll the message transcript does not comprise a request to scroll the shared-location affordance beyond the message region: displaying the shared-location affordance at a second location in the message transcript.

In some embodiments, a method for sharing location information during a message conversation includes: at an electronic device comprising a touch-sensitive surface and a display: displaying, on the display, a message region; displaying, in the message region, a message transcript of messages sent between a first participant and a second participant; displaying a shared-location affordance in the message region, wherein the shared-location affordance is displayed below and adjacent to the message transcript, and wherein the shared-location affordance comprises a representation of a location of the first participant.

In some embodiments, a method for sharing location information during a message conversation includes: at an electronic device comprising a touch-sensitive surface and a display: displaying, on the display, a message region for displaying a message transcript of messages sent between a first participant and a second participant in a message conversation; displaying a location-sharing affordance; detecting a selection of the location-sharing affordance, wherein detecting a selection of the location-sharing affordance by the first participant consists of detecting a single contact by the first participant; and in response to detecting a selection of the location-sharing affordance: enabling the second participant to obtain the first participant location information; and displaying a modified location-sharing affordance.

In some embodiments, a non-transitory computer-readable storage medium has stored therein instructions which when executed by an electronic device with a display, causes the device to perform any of the methods described above. In some embodiments, an electronic device includes: a display and means for performing any of the methods described above. In accordance with some embodiments, an information processing apparatus, for use in an electronic device with a display, includes means for performing any of the methods described above.

In some embodiments, a multifunction device includes one or more processors; memory; and one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, the one or more programs including instructions for: displaying a message region; displaying, in the message region, messages sent between a first participant and a second participant in a message conversation; detecting a location-sharing request from the first participant to share first participant location information with the second participant; in response to detecting the location-sharing request from the first participant: enabling the second participant to obtain the first participant location information during a predetermined location-sharing time period, wherein the predetermined location-sharing time period is scheduled to end at a first time; detecting interaction by one of the first participant and the second participant with the message conversation during the predetermined location-sharing time period; and in response to detecting interaction by one of the first participant and the second participant with the message conversation during the predetermined location-sharing time period: extending the predetermined location-sharing time period to end at a second time that is after the first time.

In some embodiments, a multifunction device includes one or more processors; memory; and one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, the one or more programs including instructions for: displaying a message region; displaying, in the message region, messages sent between a first participant and a second participant in a message conversation; receiving a first location-sharing notification that first participant location information is being shared with the second participant for a predetermined location-sharing time period, wherein the predetermined location-sharing time period is scheduled to end at a first time; sending a message to the first participant; and receiving a second location-sharing notification that first participant location information is being shared with the second participant for an extended location-sharing time period, wherein the extended location-sharing time period is scheduled to end at a second time that is after the first time.

In some embodiments, a multifunction device includes one or more processors; memory; and one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, the one or more programs including instructions for: displaying a message region; displaying, in the message region, messages sent between a first participant and a second participant in a message conversation; receiving a first location-sharing notification that first participant location information is being shared with the second participant for a predetermined location-sharing time period, wherein the predetermined location-sharing time period is scheduled to end at a first time; sending a message to the first participant; and receiving a second location-sharing notification that first participant location information is being shared with the second participant for an extended location-sharing time period, wherein the extended location-sharing time period is scheduled to end at a second time that is after the first time.

In some embodiments, a multifunction device includes one or more processors; memory; and one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, the one or more programs including instructions for: displaying a message region; displaying, at a first position in the message region, a bottom portion of a message transcript of messages sent between a first participant and a second participant; detecting contact on a location corresponding to the message transcript; detecting movement of the contact across the touch-sensitive surface and toward a top portion of the message region; and in response to detecting movement of the contact across the touch-sensitive surface and toward a top portion of the message region: displaying the bottom portion of the message transcript at a second position in the message region above the first position; and displaying a location-sharing affordance at the first position.

In some embodiments, a multifunction device includes one or more processors; memory; and one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, the one or more programs including instructions for: displaying a message region; displaying, in the message region, a message transcript of messages sent between a first participant and a second participant; displaying, at a first position in the message transcript, a shared-location affordance; while displaying the shared-location affordance at the first position, detecting a request to scroll the message transcript; in response to detecting the request to scroll the message transcript: determining whether the request to scroll the message transcript comprises a request to scroll the shared-location affordance beyond the message region; in accordance with a determination that the request to scroll the message transcript comprises a request to scroll the shared-location affordance beyond the message region: discontinuing display of the shared location in the message transcript; and displaying a location-sharing status bar outside the message region; and in accordance with a determination that the request to scroll the message transcript does not comprise a request to scroll the shared-location affordance beyond the message region: displaying the shared-location affordance at a second location in the message transcript.

In some embodiments, a multifunction device includes one or more processors; memory; and one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, the one or more programs including instructions for: displaying, on the display, a message region for displaying a message transcript of messages sent between a first participant and a second participant in a message conversation; displaying a location-sharing affordance; detecting a selection of the location-sharing affordance, wherein detecting a selection of the location-sharing affordance by the first participant consists of detecting a single contact by the first participant; and in response to detecting a selection of the location-sharing affordance: enabling the second participant to obtain the first participant location information; and displaying a modified location-sharing affordance.

Thus, electronic devices are provided for easy location sharing in message conversation, thereby increasing the effectiveness, efficiency, and user satisfaction of such devices. The methods and interfaces provided may complement or replace conventional methods and interfaces for location sharing.

DESCRIPTION OF EMBODIMENTS

There is a need for electronic devices with faster, more efficient methods and interfaces for sharing location information of participants in a message conversation. Such methods and interfaces reduce the cognitive burden on a user and produce a more efficient human-machine interface. For battery-operated devices, such methods and interfaces conserve power and increase the time between battery charges.

Below,FIGS. 1A-1B, 2, 3, 4A-4B, 5A-5B, 10, 13, 16, 19, and 21provide a description of exemplary devices for performing the techniques for sharing location information of participants in a message conversation.FIGS. 6A-6H, 8A-8B, 11A-11G, 14A-14D, and 17A-17Cillustrate exemplary user message and map user interfaces for sharing location information of participants in a message conversation.FIGS. 7A-7J, 9, 12A-12H, 15A-15D, 18A-18E, and 20A-20Care flow diagrams illustrating methods of sharing location information of participants in a message conversation.

FIG. 5Aillustrates exemplary personal electronic device500. Device500includes body502. In some embodiments, device500optionally includes some or all of the features described with respect to devices100and300(e.g.,FIGS. 1A-4B). In some embodiments, device500has touch-sensitive display screen504, hereafter touch screen504. Alternatively, or in addition to touch screen504, device500has a display and a touch-sensitive surface. As with devices100and300, in some embodiments, touch screen504(or the touch-sensitive surface) optionally includes one or more intensity sensors for detecting intensity of contacts (e.g., touches) being applied. The one or more intensity sensors of touch screen504(or the touch-sensitive surface) optionally provide output data that represents the intensity of touches. The user interface of device500optionally responds to touches based on their intensity, meaning that touches of different intensities can invoke different user interface operations on device500.

FIG. 5Bdepicts exemplary personal electronic device500. In some embodiments, device500can include some or all of the components described with respect toFIGS. 1A, 1B, and3. Device500has bus512that operatively couples I/O section514with one or more computer processors516and memory518. I/O section514is optionally connected to display504, which can have touch-sensitive component522and, optionally, intensity sensor524(e.g., contact intensity sensor). In addition, I/O section514is optionally connected with communication unit530for receiving application and operating system data, using Wi-Fi, Bluetooth, near field communication (NFC), cellular, and/or other wireless communication techniques. Device500optionally includes input mechanisms506and/or508. Input mechanism506is, optionally, a rotatable input device or a depressible and rotatable input device, for example. Input mechanism508is, optionally, a button, in some examples.

Input mechanism508is, optionally, a microphone, in some examples. Personal electronic device500optionally includes various sensors, such as GPS sensor532, accelerometer534, directional sensor540(e.g., compass), gyroscope536, motion sensor538, and/or a combination thereof, all of which is, optionally, operatively connected to I/O section514.

Memory518of personal electronic device500optionally includes one or more non-transitory computer-readable storage mediums, for storing computer-executable instructions, which, when executed by one or more computer processors516, for example, can cause the computer processors to perform the techniques described below, including processes700,900,1200,1500,1800, and2000(FIGS. 7A-7J, 9, 12A-12H, 15A-15D, 18A-18E, and 20A-20C). Personal electronic device500is not limited to the components and configuration ofFIG. 5B, but can include other or additional components in multiple configurations.

As used here, the term “affordance” refers to a user-interactive graphical user interface object that is, optionally, displayed on the display screen of devices100,300, and/or500(FIGS. 1, 3, and 5). For example, an image (e.g., icon), a button, and text (e.g., hyperlink) each, optionally, constitute an affordance.

Attention is now directed toward embodiments of message user interfaces for sharing location information of participants in a message conversation.

FIG. 6Adepicts an exemplary message user interface that is optionally displayed by device600. In some embodiments, the user interface is displayed on device300or device500. The message user interface includes a message region602for displaying messages606and608sent between a first participant (the user of device600) and a second participant in a message conversation and for displaying a banner604including the name of the second participant and a current time of day. Messages sent between the participants are displayed inside bounded message areas. In some embodiments, a bounded message area is a contiguous region that is visually distinguished from a background of the application canvas. The message user interface also includes a location-sharing affordance610.

FIG. 6Aillustrates the first participant requesting to share first participant location information with the second participant. The first participant selects the location-sharing affordance610to make the location-sharing request, and the second participant receives first participant location information during a predetermined location-sharing time period (e.g., device600transmits the first participant location data to a device associated with the second participant for a predetermined period of time). In the embodiment ofFIG. 6B, first participant location information is shared via a map612inserted in the message transcript of messages606and608sent between the first participant and second participant in the message conversation.

Exemplary user interfaces and processes for sharing location information between message conversation participants are disclosed in U.S. application Ser. No. 14/503,376, filed Sep. 30, 2014 and titled “Message User Interfaces for Capture and Transmittal of Media and Location Content”, the contents of which are hereby incorporated by reference in their entirety.

A scheduled end614of the predetermined location-sharing time period is included below the map. In some embodiments, the predetermined location-sharing time period is displayed elsewhere, such as in banner604for example. In the embodiment ofFIG. 6B, the predetermined location-sharing time period is two hours, scheduling an end at 1:01 p.m. for a location-sharing request detected at 11:01 a.m. In some embodiments, the predetermined location-sharing time period is a different period, is set by the user, or is set by a manufacturer and/or retailer.

A shared-location affordance616is displayed to indicate that first participant location information is currently shared with the second participant. As used herein, a location-sharing affordance can be understood to include a user-interactive graphical user interface object that permits a user to share location information by interacting with the object. As used herein, a shared-location affordance can be understood to include a user-interactive graphical user interface object that permits a user to stop sharing location information by interacting with the object.

In the embodiment ofFIG. 6B, the shared-location affordance616is a shaded caret, to distinguish the unshaded caret of location-sharing affordance610. In some embodiments, another visual attribute is modified to indicate location information is currently shared. In some embodiments, a visual attribute of an information bar is modified to indicate that location information is currently shared.

In some embodiments, a map view (e.g., map612) is provided to indicate location information is currently shared. In the embodiment ofFIG. 6B, the map view is displayed in the message transcript between two messages; in some embodiments, the map view is displayed above the transcript, in the banner for example, or below the transcript above a keyboard. In some embodiments, the map view is displayed behind an image (photo, avatar, etc.) of the participant currently sharing information. In some embodiments, the location of a message participant is updated over time (e.g., as the user moves around) and the device displays an updated map view as the participant's location information changes. In some embodiments, an indication of location sharing includes a location-sharing status, a current address of the first participant, a travel time between the first participant and the second participant, a distance between the first participant and the second participant, and a time when location sharing ends. In some embodiments, an indication of location sharing includes text, such as “Location Sharing Turned On” or “You Can View [first participant's] Location.”

In some embodiments, the text associated with the indication of location sharing is displayed adjacent to a map within a bounded message region. In other embodiments, the text is not contained within a bounded message region. The text is optionally displayed below the most recent message received from the participant sharing the location information and aligned to that message, for example. In some embodiments, the text is displayed such that it is horizontally centered within the transcript and vertically positioned between messages in the conversation.

When one of the first participant and the second participant interact with the message conversation during the predetermined location-sharing time period, the predetermined location-sharing time period is optionally extended to end at a second time that is after the first time.FIG. 6Cillustrates message transcript602after the second participant has sent a new message618after the first participant's request to share location information (illustrated inFIG. 6A). In response to the second participant's interaction with the message conversation, the predetermined location-sharing time period is extended, as depicted by the second end time620below the map. InFIG. 6C, the predetermined location-sharing time period has been extended by 15 minutes (from 1:01 PM to 1:16 PM). In some embodiments, the period is extended by 5 minutes, 10 minutes, 20 minutes, 30 minutes, and so forth.

Advantageously, this allows users to continue sharing location during a single conversation but ends location sharing after the conversation has ended to preserve privacy without requiring a user to explicitly indicate that the conversation has ended. At the same time, in embodiments in which a participant's location is updated periodically, users receive up-to-date location information for one or more participants, which may be preferable to static location information. This also improves the user's experience when the user is not required to remember to stop sharing indefinitely-shared location information when first participant information is no longer necessary for the second participant. The user is also not required to repeatedly share one-off location information when first participant information is necessary for the second participant. This reduces battery usage as users are not required to repeatedly access and select location-sharing via the user interface.

In some embodiments, the predetermined location-sharing time period is extended only when one of the participants adds content to the conversation (e.g., by sending a new message). In some embodiments, the extended time period is shorter than the predetermined location-sharing time period. In the examples displayed inFIGS. 6A-6H, the predetermined location-sharing time period is two hours and each extension is 15 minutes. In some embodiments, different location-sharing time periods and different extensions are used.

In some embodiments, the location-sharing time period is further extended after one of the first and second participant interacts with the message conversation during the already extended location-sharing time period.FIG. 6Dillustrates message transcript602after the first participant has sent a new message622after the location-sharing time period has been extended (illustrated inFIG. 6C) to share location information. In response to the first participant's interaction with the message conversation, the predetermined location-sharing time period is extended, as depicted by the second end time624below the map.

The process of further extending the location-sharing time period is optionally repeated any number of times. This optionally allows users to continue sharing location during a single conversation but ends location sharing after the conversation has ended to preserve privacy without requiring a user to explicitly indicate that the conversation has ended.FIG. 6Eillustrates the first participant adding a message630to the message conversation subsequent to second participant message618(seeFIG. 6C) and after the location-sharing time period has ended. In this embodiment, message618(FIG. 6C) was added at 11:25 AM and the next message (message630sent by the first participant) was added at 1:31 PM, after the location-sharing time period ended at 1:16 PM (seeFIG. 6C, 620). Because a participant interacts with the message conversation after the extended predetermined location-sharing time period has ended, the predetermined location-sharing time period is not extended.

Advantageously, this allows users to continue sharing location during a single conversation but ends location sharing after the conversation has ended to preserve privacy without requiring a user to explicitly indicate that the conversation has ended. This also improves the user's experience when the user is not required to remember to stop sharing indefinitely-shared location information when first participant information is no longer necessary for the second participant. The user is also not required to repeatedly share one-off location information when first participant information is necessary for the second participant. This reduces battery usage as users are not required to repeatedly access and select location-sharing via the user interface.

In some embodiments, device600determines whether or not to extend the location-sharing time period based on whether the interaction occurred after the location-sharing time period has ended.

In the embodiment ofFIG. 6E, the ended location-sharing time period is depicted by shading a map628, displaying text626, and unshaded caret632. In embodiments where location sharing is indicated by a modified visual attribute of a sharing location affordance or an information bar, the device optionally discontinues the modification to indicate location sharing has ended. In some embodiments, an ended location-sharing time period is indicated with one of these attributes, with a combination of two or more of these attributes, or with other attributes.

In some embodiments, device600determines that the predetermined location-sharing time period has ended and, in response to the determination, displays an indication in the message conversation that the location of the first participant is not being shared with the second participant. In some embodiments, the indication includes a greyed out map (such as628) or an empty caret (such as632). In some embodiments, if an indication of a user's location was displayed in a message transcript when the user shared their location, redisplaying the portion of the transcript that includes the indication of the user's location still shows the previously displayed indication but its appearance is modified so as to indicate that the location information in the indication is stale (e.g., because the location-sharing time period had expired without being extended).

In some embodiments, a depiction, on device600, of an ended location-sharing time period is provided at the moment the time period ends. In some embodiments, a depiction, on device600, of an ended location-sharing time period is provided at the moment of the next interaction by one of the first participant and the second participant with the message conversation.

In some embodiments, interacting with the message conversation includes a participant viewing at least a portion of the message conversation and/or a participant adding a message to the message conversation. In some embodiments, a location-sharing time period is extended when an outside communication between the first and second participants is detected. Such outside communications optionally include a phone call or video call or other form of direct communication between the two participants outside of the message conversation.

FIG. 6Fillustrates another option for ending a location-sharing time period. In the embodiment ofFIG. 6F, the first participant selects the shared-location affordance616before the location-sharing time period has expired, which ends location sharing, as shown inFIG. 6G.

In some embodiments, second participant location information is automatically shared when the first participant requests to share information.FIG. 6Hillustrates a message transcript after the first participant requested (see, e.g.,FIG. 6A) to share location information. A map638of the second participant's location is received and displayed. In some embodiments, a request is transmitted for second participant location information (see, e.g.,FIG. 8B).

In some embodiments, a location-sharing instruction is transmitted to an external device, wherein the location-sharing instruction permits the external device to share first participant location information with the second participant. For example, where an application tracks the first participant's location (e.g., Maps, location sharing applications, etc.), a server associated with that application is instructed to provide the first participant's location information. In some embodiments, the first participant location information is transmitted to an external device, such as a personal electronic device of the second participant.

In some embodiments, first participant location information is a location of device600. In some embodiments, the first participant has multiple devices and first participant location information is the device that is determined to be most representative of the first participant's location. In such an embodiment, device600determines whether device600is representative of the first participant's location. If device600determines that it is representative of the first participant's location, a location of the device is transmitted. If device600determines that it is not representative of the first participant's location, a location of the device is not transmitted.

In some embodiments, location-sharing is extended only when a message interaction occurs within a window at the end of current location-sharing time period. For example, only interactions within the last fifteen minutes of a two-hour location-sharing time period extend the location-sharing time period. An interaction within the two-hour location-sharing time period but before the last fifteen minutes does not extend the location-sharing time period.

In some embodiments, a buffer time is provided after the location-sharing time period for extending location sharing. For example, if device600detects interaction with the message conversation after first participant location information sharing has stopped and device600determines that less than a buffer time period has elapsed since the time first participant location information sharing was stopped, device600re-enables the second participant to obtain the first participant location information. In some embodiments, device600re-enables only when the location-sharing time period expired and not when the first participant actively ends location-sharing (see, e.g.,FIG. 6F). In some embodiments, the first participant is notified that the second participant has been re-enabled to obtain the first participant location information.

In some embodiments, a message conversation includes a third participant. Upon receiving a request from the first participant to share location information with the third participant, device600enables both the second and third participants to obtain first participant location information during a predetermined location-sharing time period. In some embodiments, the location-sharing request to share the first participant's location with the third participant is the same as the location-sharing request to share the first participant's location with the second participant (e.g., a single location-sharing request to share location in the message conversation causes the first participant's location to be shared with multiple other participants in the conversation or, optionally, all other participants in the conversation).

FIG. 7Ais a flow diagram illustrating process700for sharing a message participant's location information using an electronic device in accordance with some embodiments. Process700is performed at an electronic device (e.g., device100,300,500) with a display and a touch-sensitive surface. Some operations in process700are optionally combined, the order of some operations is optionally changed, and some operations are optionally omitted.

As described below, process700provides an intuitive way for sharing location information. The method reduces the cognitive burden on a user for sharing location information, thereby creating a more efficient human-machine interface. For battery-operated computing devices, enabling a user to share location information faster and more efficiently conserves power and increases the time between battery charges.

At block702, the device displays, on the display, a message region (e.g., message region602inFIG. 6A) with messages sent (e.g., messages606and608inFIG. 6A) between a first participant and a second participant in a message conversation. At block704, the device detects a location-sharing request from the first participant to share first participant location information with the second participant (e.g., detecting selection of affordance610). In response to detecting the location-sharing request from the first participant, at block706the device enables the second participant to obtain the first participant location information during a predetermined location-sharing time period that is scheduled to end at a first time (e.g., enabling location sharing until scheduled end614below map612inFIG. 6B). At block708, the device detects interaction by one of the first participant and the second participant with the message conversation during the predetermined location-sharing time period (e.g., additional message618inFIG. 6C). In response to detecting interaction by one of the first participant and the second participant with the message conversation during the predetermined location-sharing time period, at block710the device extends the predetermined location-sharing time period to end at a second time that is after the first time (e.g., second end time620is 15 minutes later than first end time614inFIGS. 6C and 6B, respectively).

Advantageously, this allows users to continue sharing location during a single conversation but ends location sharing after the conversation has ended to preserve privacy without requiring a user to explicitly indicate that the conversation has ended. This also improves the user's experience when the user is not required to remember to stop sharing indefinitely-shared location information when first participant information is no longer necessary for the second participant. The user is also not required to repeatedly share one-off location information when first participant information is necessary for the second participant. This reduces battery usage as users are not required to repeatedly access and select location-sharing via the user interface.

FIGS. 7B and 7Care flow diagrams illustrating sub-processes720and726which are optionally performed after block710and during process700(FIG. 7A). In some embodiments, one or more of optional blocks722-724illustrated inFIG. 7Bare performed after block710(FIG. 7A). At block722, the device detects interaction by one of the first participant and the second participant with the message conversation during the extended location-sharing time period (e.g., typing of additional message622inFIG. 6D). In response to detecting interaction by one of the first participant and the second participant with the message conversation during the extended location-sharing time period, the device at block724further extends the predetermined location-sharing time period to end at a third time that is after the second time (e.g., enabling location sharing until scheduled end624inFIG. 6D). The process of further extending the location-sharing time period is, optionally, repeated any number of times. This enables users to continue sharing location during a single conversation but ends location sharing after the conversation has ended to preserve privacy without requiring a user to explicitly indicate that the conversation has ended.

Turning toFIG. 7C, in some embodiments one or more of optional blocks728-730illustrated inFIG. 7Care performed after block710(FIG. 7A). At block728, the device detects interaction by one of the first participant and the second participant with the message conversation after the extended predetermined location-sharing time period (e.g., receiving new message630inFIG. 6E). In response to detecting interaction by one of the first participant and the second participant with the message conversation after the extended predetermined location-sharing time period, the device at block730forgoes further extending the predetermined location-sharing time period (e.g., does not extend the location sharing to a new time such as new time624inFIG. 6D). Because a participant interacts with the message conversation after the extended predetermined location-sharing time period has ended, the predetermined location-sharing time period is not extended. Advantageously, this allows users to continuously share location during a single conversation but ends location sharing after the conversation has ended to preserve privacy without requiring a user to explicitly indicate that the conversation has ended. This also improves the user's experience when the user is not required to remember to stop sharing indefinitely-shared location information when first participant information is no longer necessary for the second participant. The user is also not required to repeatedly share one-off location information when first participant information is necessary for the second participant. This also reduces battery usage, as users are not required to repeatedly access and select location-sharing.

In some embodiments, detecting interaction by one of the first participant and the second participant with the message conversation comprises detecting at least one criteria selected from the group consisting of: the first participant viewing at least a portion of the message conversation (e.g., viewing message region602), the second participant viewing at least a portion of the message conversation, the first participant adding a message to the message conversation (e.g., adding message622), and the second participant adding a message to the message conversation (e.g., adding message618).

FIG. 7Dis a flow diagram illustrating sub-process732which is optionally performed during process700(FIG. 7A). In some embodiments, blocks734-736are performed instead of blocks708-710. In some embodiments, blocks734-736are performed after block710. In some embodiments, blocks734-736are performed before block710. At block734, the device detects a communication between the first and second participant outside of the message conversation during the predetermined location-sharing time period. Such outside communications optionally include a phone call or video call (e.g., a phone or video call, received on device600, from a device of the second participant) or other form of direct communication between the two participants outside of the message conversation. In response to detecting a communication between the first and second participant outside of the message conversation during the predetermined location-sharing time period, the device at block736extends the predetermined location-sharing time period (e.g., extends time624to a new time later than 1:31 pm).

In some embodiments, the device displays an indication (e.g., modifying a visual attribute of a caret616, an information bar614, a map612, or any other indication described herein) in the message conversation that the location of the first participant is being shared with the second participant. In some embodiments, when the location-sharing time period ends (e.g., without being extended), the device ceases to display the indication. In some embodiments, the indication is a map view (e.g., map view614inFIG. 6B). In some embodiments, the map-view is displayed behind an image of the first participant. In some embodiments, the map-view is displayed between two messages (e.g., messages608and618inFIG. 6C) of the message conversation. In some embodiments, the indication is a map view (e.g., map view614inFIG. 6B) and the device updates the map view (e.g., map view620inFIG. 6C) when the first participant location information changes. In some embodiments, the indication includes one or more of a location-sharing status (e.g., text “sharing location until 1:01 pm” in614inFIG. 6B), the first time (e.g., text “1:01 pm” in614inFIG. 6B), the second time (e.g., text “1:16 pm” in620inFIG. 6C), a current address of the first participant, a travel time between the first participant and the second participant, and a distance between the first participant and the second participant.

In some embodiments, the indication is a shared-location affordance (e.g., shared location affordance616inFIG. 6F).FIG. 7Eis a flow diagram illustrating sub-process738which is optionally performed during process700(FIG. 7A) when the device displays a shared-location affordance. At block740, the device detects a selection of the shared-location affordance by the first participant (e.g., selection of caret616inFIG. 6F). In response to detecting the selection of the shared-location affordance by the first participant, the device at block742ends the predetermined location-sharing time period (e.g., as represented by empty caret632inFIG. 6G).

FIG. 7Fis a flow diagram illustrating sub-process744, which is optionally performed during process700(FIG. 7A). At block746, the device determines that the predetermined location-sharing time period has ended (e.g., determines second time620inFIG. 6Chas passed). In accordance with the determination that the predetermined location-sharing time period has ended, the device displays at block748an indication (e.g., grey out map628, empty navigation caret632, and text620inFIG. 6E) in the message conversation that the location of the first participant is not being shared with the second participant. In some embodiments, if an indication of a user's location was displayed in a message transcript when the user shared their location, redisplaying the portion of the transcript that includes the indication of the user's location still shows the previously displayed indication but its appearance is modified so as to indicate that the location information in the indication is stale (e.g., because the location-sharing time period had expired without being extended).

FIG. 7Gis a flow diagram illustrating sub-process750which is optionally performed during block706of process700(FIG. 7A). At block752, the device receives second participant location information. At block754, the device displays (e.g., map638inFIG. 6H) the second participant location information. In this embodiment, the device automatically shares second participant location information with the first participant after the first participant enables sharing of first participant location information. In some embodiments, location sharing is unilateral (e.g., second participant location information is not automatically shared with the first participant after the first participant enables sharing of first participant location information). In some such embodiments, the device transmits a request for second participant location information.

FIG. 7His a flow diagram illustrating sub-process760which is optionally performed during process700(FIG. 7A). At block762, the device determines whether the electronic device is representative of the first participant's location (e.g., device600is determined to be in possession of the first participant). In some embodiments, the device determines whether it is representative of the first participant's location. In accordance with a determination that the electronic device is representative of the first participant's location, the device at block764transmits a location of the electronic device (e.g., transmits the location illustrated in map view612ofFIG. 6B). In accordance with a determination that the electronic device is not representative of the first participant's location, the device at block766forgoes transmitting a location of the electronic device (e.g., does not transmit the location in map view612ofFIG. 6B).

FIG. 7Iis a flow diagram illustrating sub-process770, which is optionally performed after the second time described above in process700(FIG. 7A). At block772, the device ceases enabling the second participant to obtain the first participant location information (e.g., device600does not transmit an updated location). At block774, the device detects interaction by one of the first participant and the second participant with the message conversation (e.g., new message630inFIG. 6E). In response to detecting interaction by one of the first participant and the second participant with the message conversation after the second time, the device at block776determines whether less than a buffer time period has elapsed since the second time (e.g., within 5 minutes of second time620). In accordance with a determination that less than a buffer time period has elapsed since the second time, the device at block778re-enables the second participant to obtain the first participant location information (e.g., enabling location sharing until an end time after second time620). In some embodiments, the first participant is notified that the second participant has been re-enabled to obtain the first participant location information. In accordance with a determination that more than the buffer time period has elapsed since the second time, the device at block780, displays the message conversation without re-enabling the second participant to obtain the first participant location information.

FIG. 7Jis a flow diagram illustrating sub-process790which is optionally performed during process700(FIG. 7A) when the conversation includes a third participant. At block792, the device displays messages sent between the first participant, the second participant, and a third participant in the message conversation. At block794, the device detects a location-sharing request from the first participant to share first participant location information with the third participant. In some embodiments, the location-sharing request to share the first participant's location with the third participant is the same as the location-sharing request to share the first participant's location with the second participant (e.g., a single location-sharing request to share location in the message conversation causes the first participant's location to be shared with multiple other participants in the conversation or, optionally, all other participants in the conversation). In response to detecting the location-sharing request from the first participant to share first participant location information with the third participant, the device at block796enables the second and third participants to obtain the first participant location information during a second predetermined location-sharing time period.

In some embodiments, the extended time period is shorter than the predetermined location-sharing time period. In some embodiments, the predetermined location-sharing time period is two hours and each extension is 15 minutes. In some embodiments, different location-sharing time periods and different extensions are used.

In some embodiments, a location-sharing instruction is received from an external device, wherein the location-sharing instruction permits the external device to share first participant location information with the second participant. For example, where an application tracks the first participant's location (e.g., Maps, location sharing applications, etc.), a server associated with that application is instructed to provide the first participant's location information. In some embodiments, the first participant location information is received from an external device, such as a mobile phone of the first participant. In some embodiments, first participant location information is a location of a device of the first participant.

Note that details of the processes described above with respect to process700(e.g.,FIGS. 7A-7J) are also applicable in an analogous manner to the processes described herein. For example, processes900,1200,1500,1800, and2000optionally include one or more of the characteristics of the various processes described above with reference to process700. For example, extending block710is optionally incorporated in any of processes900,1200,1500,1800, and/or2000. Additionally, the conversations, location sharing affordances, shared location affordances, location-sharing time periods, participants, participant location information, location sharing extensions, interactions with a message conversation, communications outside a message conversation, and indications described above with reference to process700, or sub-processes720,726,732,738,744,750,760,770, and/or790, optionally share some or all of the characteristics with the conversations, location sharing affordances, shared location affordances, location-sharing time periods, participants, participant location information, location sharing extensions, interactions with a message conversation, communications outside a message conversation, and indications described with reference to processes900,1200,1500,1800, and/or2000, or sub-processes1220,1230,1240,1250,1260,1270,1280,1520,1530,1540,1810,1820,1830,1840,2010, and/or2020. For brevity, these details are not repeated in the descriptions of the other processes. The various methods and techniques described above with reference to method700, or sub-processes720,726,732,738,744,750,760,770, and/or790, are optionally implemented as one or more units, such as those described with regard toFIG. 10.

FIG. 8Aillustrates an exemplary message user interface that is optionally displayed by a device of the second participant in the message conversation between the first and second participant described above with respect toFIGS. 6A-6H. The message user interface includes a message region802for displaying messages sent806and808between the first participant and the second participant. The message user interface also includes a banner804including the name of the first participant and a current time of day. Messages sent between the participants are displayed inside bounded message areas. The message user interface also includes a location-sharing affordance810.

When the first participant requests to share location information (FIG. 6A), device800receives a location-sharing notification that first participant location information is being shared for a predetermined location-sharing time period. In the embodiment ofFIG. 8A, device800displays a map812and an information bar814.814includes a location of the first participant and a travel time between the first and second participants. In some embodiments, the information bar includes only one of the location and the travel time. In some embodiments, the information bar alternates between a display of a location of the first participant and a travel time between the first and second participants.

Map812is displayed in the message transcript between two messages; in some embodiments, the map view is displayed above the transcript, in the banner for example, or below the transcript above a keyboard. In some embodiments, the map view is displayed behind an image (photo, avatar, etc.) of the participant currently sharing information. In some embodiments, the location of a message participant is updated over time (e.g., as the user moves around) and the device displays an updated map view as the participant's location information changes. In some embodiments, an indication of location sharing includes a location-sharing status, a current address of the first participant, a travel time between the first participant and the second participant, a distance between the first participant and the second participant, and a time when location sharing ends.

In some embodiments, the scheduled end of the predetermined location-sharing time period could also be displayed on device800.

When one of the first participant and the second participant interact with the message conversation during the predetermined location-sharing time period, the predetermined location-sharing time period is extended to end at a second time that is after the first time. For example, if a message is sent from device800to device600, the predetermined location-sharing time period is extended to end at a second time. Device800receives a second location-sharing notification that first participant location information is being shared for an extended location-sharing time period.

In some embodiments, the predetermined location-sharing time period is extended only when one of the participants adds content to the conversation (e.g., by sending a new message). In some embodiments, the extended time period is shorter than the predetermined location-sharing time period.

In some embodiments, the location-sharing time period is further extended after the second participant interacts with the message conversation during the already extended location-sharing time period. In response, a notification of the second participant's interaction is sent from device800to device600. After sending this notification, device800receives a notification that the extended location-sharing time period is further extended.

The process of further extending the location-sharing time period is optionally repeated any number of times. This optionally allows users to continue sharing location during a single conversation but ends location sharing after the conversation has ended to preserve privacy without requiring a user to explicitly indicate that the conversation has ended. In some embodiments, if the second participant interacts with the message conversation after the extended predetermined location-sharing time period has ended, the predetermined location-sharing time period is not extended. Advantageously, this allows users to continue sharing location during a single conversation but ends location sharing after the conversation has ended to preserve privacy without requiring a user to explicitly indicate that the conversation has ended. This also improves the user's experience when the user is not required to remember to stop sharing indefinitely-shared location information when first participant information is no longer necessary for the second participant. The user is also not required to repeatedly share one-off location information when first participant information is necessary for the second participant. This reduces battery usage as users are not required to repeatedly access and select location-sharing via the user interface.

In some embodiments, an ended location-sharing time period is depicted by shading a map, displaying text, and/or displaying a symbol. In such embodiments, device800determines that the predetermined location-sharing time period has ended and, in response to the determination, displays an indication in the message conversation that the location of the first participant is not being shared with the second participant. In some embodiments, if an indication of a user's location was displayed in a message transcript when the user shared their location, redisplaying the portion of the transcript that includes the indication of the user's location would still show the previously displayed indication but it's appearance would be modified so as to indicate that the location information in the indication is stale (e.g., because the location-sharing time period had expired without being extended).

In some embodiments, a depiction, on device800, of an ended location-sharing time period is provided at the moment the time period ends. In some embodiments, a depiction, on device800, of an ended location-sharing time period is provided at the moment of the next interaction by one of the first participant and the second participant with the message conversation.

FIG. 8Billustrates an exemplary message user interface after device800receives a notification of first location-sharing. In response to receiving the notification, device800displays a request816for second participant location information. In some embodiments, second participant location information is automatically shared when the first participant requests to share information. In such embodiments, when a notification of first location-sharing is received, device800shares second participant location information with the first participant.

In some embodiments, a location-sharing instruction is received from an external device, wherein the location-sharing instruction permits the external device to share first participant location information with the second participant. For example, where an application tracks the first participant's location (e.g., Maps, location sharing applications, etc.), a server associated with that application is instructed to provide the first participant's location information. In some embodiments, the first participant location information is received from an external device, such as a mobile phone of the first participant. In some embodiments, first participant location information is a location of a device of the first participant.

FIG. 9is a flow diagram illustrating process900for sharing a message participant's location information using an electronic device in accordance with some embodiments. Process900is performed at an electronic device (e.g., device100,300,500) with a display and a touch-sensitive surface. Some operations in process900are optionally combined, the order of some operations is optionally changed, and some operations are optionally omitted.

As described below, process900provides an intuitive way for sharing location information. The method reduces the cognitive burden on a user for sharing location information, thereby creating a more efficient human-machine interface. For battery-operated computing devices, enabling a user to share location information faster and more efficiently conserves power and increases the time between battery charges.

At block902, the device displays, on the display, a message region (e.g., message region802inFIG. 8A) with messages sent (e.g., messages806and808inFIG. 8A) between a first participant and a second participant in a message conversation. At block904, the device receives a first location-sharing notification that first participant location information is being shared with the second participant for a predetermined location-sharing time period that is scheduled to end at a first time (e.g., enabling location sharing until scheduled end614below map612inFIG. 6B). At block906, the device sends a message to the first participant (e.g., message618inFIG. 6C). At block908, the device receives a second location-sharing notification that first participant location information is being shared with the second participant for an extended location-sharing time period that is scheduled to end at a second time that is after the first time (e.g., text620illustrating second end time “1:16 PM” inFIG. 6C).

Advantageously, this allows users to continue sharing location during a single conversation but ends location sharing after the conversation has ended to preserve privacy without requiring a user to explicitly indicate that the conversation has ended. This also improves the user's experience when the user is not required to remember to stop sharing indefinitely-shared location information when first participant information is no longer necessary for the second participant. The user is also not required to repeatedly share one-off location information when first participant information is necessary for the second participant. This reduces battery usage as users are not required to repeatedly access and select location-sharing via the user interface.

In some embodiments, process900includes: detecting interaction by the second participant with the message conversation during the extended location-sharing time period and, in response to detecting interaction by the second participant with the message conversation during the extended location-sharing time period, sending a notification to the first participant; and, after sending the notification to the first participant, receiving a notification that extended location-sharing time period is further extended to end at a third time that is after the second time.

In some embodiments, process900includes detecting interaction by the second participant with the message conversation after the extended location-sharing time period and, in response to detecting interaction by the second participant with the message conversation after the extended location-sharing time period, forgoing sending a notification to the first participant.

In some embodiments, process900includes detecting interaction by the second participant with the message conversation comprises detecting at least one criteria selected from the group consisting of: the first participant viewing at least a portion of the message conversation, the second participant viewing at least a portion of the message conversation (e.g., viewing message region802), the first participant adding a message to the message conversation, and the second participant adding a message to the message conversation.

In some embodiments, process900includes displaying an indication (e.g., map view812and text814inFIG. 8A) in the message conversation that the location of the first participant is being shared with the second participant. In some embodiments, the indication comprises a map-view (e.g., map view812inFIG. 8A). In some embodiments, the map-view is displayed behind an image of the first participant. In some embodiments, the map-view is displayed between two messages of the message conversation.

In some embodiments, process900includes receiving updated first participant location information and updating the map view with the updated first participant location information. In some embodiments, the indication comprises one or more of a location-sharing status, the first time, the second time, a current address of the first participant (e.g., address “Palo Alto” in information bar814inFIG. 8A), a travel time between the first participant and the second participant (e.g., travel time “35 MINS” in information bar814inFIG. 8A), and a distance between the first participant and the second participant.

In some embodiments, process900includes determining that the predetermined location-sharing time period has ended and, in accordance with a determination that the predetermined location-sharing time period has ended, displaying an indication in the message conversation that the location of the first participant is not being shared with the second participant.

In some embodiments, the extended predetermined location-sharing time period is shorter than the predetermined location-sharing time period.

In some embodiments, process900includes, further in response to receiving the first location-sharing notification, sharing second participant location information with the first participant.

In some embodiments, process900includes, further in response to receiving the first location-sharing notification, displaying a request (e.g., request816inFIG. 8B) to share second participant location information with the first participant.

In some embodiments, process900includes receiving the first location-sharing notification comprises receiving first participant location information from an external device. In some embodiments, receiving the first location-sharing notification comprises receiving the first participant location information from an electronic device of the first participant.

In some embodiments, first participant location information comprises a location of the electronic device of the first participant.

Note that details of the processes described above with respect to process900(e.g.,FIG. 9) are also applicable in an analogous manner to the processes described herein. For example, processes700,1200,1500,1800, and2000optionally include one or more of the characteristics of the various processes described above with reference to process900. For example, sending block906is optionally incorporated in any of processes700,1200,1500,1800, and/or2000. Additionally, the conversations, location sharing affordances, shared location affordances, location-sharing time periods, participants, participant location information, location sharing extensions, interactions with a message conversation, communications outside a message conversation, and indications described above with reference to process900optionally share some or all of the characteristics with the conversations, location sharing affordances, shared location affordances, location-sharing time periods, participants, participant location information, location sharing extensions, interactions with a message conversation, communications outside a message conversation, and indications described with reference to processes700,1200,1500,1800, and/or2000. For brevity, these details are not repeated in the descriptions of the other processes. The various methods and techniques described above with reference to method900are optionally implemented as one or more units, such as those described with regard toFIG. 10.

In accordance with some embodiments,FIG. 10shows an exemplary functional block diagram of an electronic device1000configured in accordance with the principles of the various described embodiments. In accordance with some embodiments, the functional blocks of electronic device1000are configured to perform the techniques described above. The functional blocks of the device1000are, optionally, implemented by hardware, software, or a combination of hardware and software to carry out the principles of the various described examples. It is understood by persons of skill in the art that the functional blocks described inFIG. 10are, optionally, combined or separated into sub-blocks to implement the principles of the various described examples. Therefore, the description herein optionally supports any possible combination or separation or further definition of the functional blocks described herein.

As shown inFIG. 10, an electronic device1000includes a display unit1002configured to display a graphic user interface, optionally, a touch-sensitive surface unit1004configured to receive contacts, and a processing unit1006coupled to the display unit1002and, optionally, the touch-sensitive surface unit1004. In some embodiments, the processing unit1006includes a detecting unit1008, a determining unit1010, an enabling unit1012, an extending unit1014, an ending unit1016, a receiving unit1018, a transmitting unit1020, an updating unit1022, a sharing unit1024, a sending unit1026, and a display enabling unit1028.

The processing unit1006is configured to: enable display (e.g., with display enabling unit1028), on display unit1002, of a message region; enable display (e.g., with display enabling unit1028), in the message region, of messages sent between a first participant and a second participant in a message conversation; detect (e.g., with detecting unit1008) a location-sharing request from the first participant to share first participant location information with the second participant; in response to detecting the location-sharing request from the first participant: enable (e.g., with enabling unit1012) the second participant to obtain the first participant location information during a predetermined location-sharing time period, wherein the predetermined location-sharing time period is scheduled to end at a first time; detect (e.g., with detecting unit1008) interaction by one of the first participant and the second participant with the message conversation during the predetermined location-sharing time period; and in response to detecting interaction by one of the first participant and the second participant with the message conversation during the predetermined location-sharing time period: extend (e.g., with extending unit1014) the predetermined location-sharing time period to end at a second time that is after the first time.

In some embodiments, the processing unit is further configured to: detect (e.g., with detecting unit1008) interaction by one of the first participant and the second participant with the message conversation during the extended location-sharing time period; and in response to detecting interaction by one of the first participant and the second participant with the message conversation during the extended location-sharing time period: further extend (e.g., with extending unit1014) the predetermined location-sharing time period to end at a third time that is after the second time.

In some embodiments, the processing unit is further configured to: detect (e.g., with detecting unit1008) interaction by one of the first participant and the second participant with the message conversation after the extended predetermined location-sharing time period; and in response to detecting interaction by one of the first participant and the second participant with the message conversation after the extended predetermined location-sharing time period: forgo further extending (e.g., with extending unit1014) the predetermined location-sharing time period.

In some embodiments, an interaction by one of the first participant and the second participant with the message conversation comprises at least one criteria selected from the group consisting of: the first participant viewing at least a portion of the message conversation, the second participant viewing at least a portion of the message conversation, the first participant adding a message to the message conversation, and the second participant adding a message to the message conversation.

In some embodiments, the processing unit is further configured to: detect (e.g., with detecting unit1008) a communication between the first and second participant outside of the message conversation during the predetermined location-sharing time period; and in response to detecting a communication between the first and second participant outside of the message conversation during the predetermined location-sharing time period: extend (e.g., with extending unit1014) the predetermined location-sharing time period.

In some embodiments, the processing unit is further configured to: enable display (e.g., with display enabling unit1028), on the display unit1002, of an indication in the message conversation that the location of the first participant is being shared with the second participant. In some embodiments, the indication comprises a map-view. In some embodiments, the map-view is displayed behind an image of the first participant. In some embodiments, the map-view is displayed between two messages of the message conversation.

In some embodiments, the processing unit is further configured to update (e.g., with updating unit1022) the map view when the first participant location information changes.

In some embodiments, the indication comprises one or more of a location-sharing status, the first time, the second time, a current address of the first participant, a travel time between the first participant and the second participant, and a distance between the first participant and the second participant. In some embodiments, the indication is a shared-location affordance, and the processing unit is further configured to: detect (e.g., with detecting unit1008) a selection of the shared-location affordance by the first participant; and in response to detecting the selection of the shared-location affordance by the first participant: end (e.g., with ending unit1016) the predetermined location-sharing time period.

In some embodiments, the processing unit is further configured to: determine (e.g., with determining unit1010) that the predetermined location-sharing time period has ended; and in accordance with a determination that the predetermined location-sharing time period has ended: enable display (e.g., with display enabling unit1028), on the display unit1002, of an indication in the message conversation that the location of the first participant is not being shared with the second participant.

In some embodiments, extending the predetermined location-sharing time period to end at a second time that is after the first time comprises extending the predetermined location-sharing time period for an amount of time that is shorter than the predetermined location-sharing time period.

In some embodiments, the processing unit is further configured to: further in response to detecting the location-sharing request from the first participant: receive (e.g., with receiving unit1018) second participant location information; and enable display (e.g., with enabling unit1028), on the display unit1002, of the second participant location information.

In some embodiments, the processing unit is further configured to: further in response to detecting the location-sharing request from the first participant: transmit (e.g., with transmitting unit1020) a request for second participant location information.

In some embodiments, enablement of the second participant to obtain the first participant location information during a predetermined location-sharing time period comprises transmission of a location-sharing instruction to an external device, and the location-sharing instruction permits the external device to share first participant location information with the second participant.

In some embodiments, enabling the second participant to obtain the first participant location information during a predetermined location-sharing time period comprises enabling the transmission of the first participant location information to an external device.

In some embodiments, the first participant location information comprises a location of the electronic device.

In some embodiments, the processing unit is further configured to: determine (e.g., with determining unit1010) whether the electronic device is representative of the first participant's location; in accordance with a determination that the electronic device is representative of the first participant's location: transmit (e.g., with transmitting unit1020) a location of the electronic device; and in accordance with a determination that the electronic device is not representative of the first participant's location: forgo transmitting (e.g., with transmitting unit1020) a location of the electronic device.

In some embodiments, the processing unit is further configured to: after the second time: cease to enable (e.g., with enabling unit1012) the second participant to obtain the first participant location information; and detect (e.g., with detecting unit1008) interaction by one of the first participant and the second participant with the message conversation; and in response to detecting interaction by one of the first participant and the second participant with the message conversation after the second time: in accordance with a determination that less than a buffer time period has elapsed since the second time, re-enable (e.g., with enabling unit1012) the second participant to obtain the first participant location information; and in accordance with a determination that more than the buffer time period has elapsed since the second time, enable (e.g., with enabling unit1012) display, on the display unit1002, of the message conversation without re-enabling the second participant to obtain the first participant location information.

In some embodiments, the processing unit is further configured to: enable display (e.g., with display enabling unit1028), in the message region, of messages sent between the first participant, the second participant, and a third participant in the message conversation; detect (e.g., with detecting unit1008) a location-sharing request from the first participant to share first participant location information with the third participant; and in response to detecting the location-sharing request from the first participant to share first participant location information with the third participant: enable (e.g., with enabling unit1012) the second and third participants to obtain the first participant location information during a second predetermined location-sharing time period.

The processing unit1006is configured to: enable display (e.g., with display enabling unit1028), on the display unit1002, of a message region; enable display (e.g., with display enabling unit1028), in the message region, messages sent between a first participant and a second participant in a message conversation; receive (e.g., with receiving unit1018) a first location-sharing notification that first participant location information is being shared with the second participant for a predetermined location-sharing time period, wherein the predetermined location-sharing time period is scheduled to end at a first time; send (e.g., with sending unit1026) a message to the first participant; and receive (e.g., with receiving unit1018) a second location-sharing notification that first participant location information is being shared with the second participant for an extended location-sharing time period, wherein the extended location-sharing time period is scheduled to end at a second time that is after the first time.

In some embodiments, the processing unit is further configured to: detect (e.g., with detecting unit1008) interaction by the second participant with the message conversation during the extended location-sharing time period; and in response to detecting interaction by the second participant with the message conversation during the extended location-sharing time period: send (e.g., with sending unit1026) a notification to the first participant; and after sending the notification to the first participant, receive (e.g., with receiving unit1018) a notification that extended location-sharing time period is further extended to end at a third time that is after the second time.

In some embodiments, the processing unit is further configured to: detect (e.g., with detecting unit1008) interaction by the second participant with the message conversation after the extended location-sharing time period; and in response to detecting interaction by the second participant with the message conversation after the extended location-sharing time period: forgo sending (e.g., with sending unit1026) a notification to the first participant.

In some embodiments, detecting interaction by the second participant with the message conversation comprises detecting at least one criteria selected from the group consisting of: the first participant viewing at least a portion of the message conversation, the second participant viewing at least a portion of the message conversation, the first participant adding a message to the message conversation, and the second participant adding a message to the message conversation.

In some embodiments, the processing unit is further configured to: enable display (e.g., with display enabling unit1028), on the display unit1002, of an indication in the message conversation that the location of the first participant is being shared with the second participant.

In some embodiments, the indication comprises a map-view. In some embodiments, the map-view is displayed behind an image of the first participant. In some embodiments, the map-view is displayed between two messages of the message conversation.

In some embodiments, the processing unit is further configured to: receive (e.g., with receiving unit1018) updated first participant location information; and update (e.g., with updating unit1022) the map view with the updated first participant location information.

In some embodiments, the indication comprises one or more of a location-sharing status, the first time, the second time, a current address of the first participant, a travel time between the first participant and the second participant, and a distance between the first participant and the second participant.

In some embodiments, the processing unit is further configured to: determine (e.g., with detecting unit1010) that the predetermined location-sharing time period has ended; and in accordance with a determination that the predetermined location-sharing time period has ended: enable display (e.g., with display enabling unit1028), on the display unit1002, of an indication in the message conversation that the location of the first participant is not being shared with the second participant.

In some embodiments, the extended predetermined location-sharing time period is shorter than the predetermined location-sharing time period.

In some embodiments, the processing unit is further configured to: further in response to receiving the first location-sharing notification: share (e.g., with sharing unit1024) second participant location information with the first participant.

In some embodiments, the processing unit is further configured to: further in response to receiving the first location-sharing notification: enable display (e.g., with display enabling unit1028), on the display unit1002, of a request to share second participant location information with the first participant.

In some embodiments, receiving the first location-sharing notification comprises receiving first participant location information from an external device.

In some embodiments, receiving the first location-sharing notification comprises receiving the first participant location information from an electronic device of the first participant.

In some embodiments, first participant location information comprises a location of the electronic device of the first participant.

FIG. 11Aillustrates an exemplary message user interface that is optionally displayed by device1100. In some embodiments, the user interface is displayed on device300or device500. The message user interface includes a message region1102for displaying messages1106and1108sent between a first participant (the user of device1100) and a second participant in a message conversation and for displaying a banner1104including the name of the second participant and a current time of day. Messages sent between the participants are displayed inside bounded message areas. A bottom portion of the message transcript is displayed at a first position in the message region1102. The message user interface also includes text message entry affordance1110.

FIG. 11Aillustrates a user dragging up on the message transcript. As a result, device1100detects contact on a location corresponding to the message transcript and detects movement of contact across the touch-sensitive surface of device1100and toward a top portion of the message region1102. In response to detecting movement of the contact across the touch-sensitive surface and toward a top portion of the message region, device1100displays a location-sharing affordance1112at the first position in the message transcript (seeFIG. 11B). The bottom portion of the message transcript is now displayed at a second position above the first position.

Advantageously, this improves the user's experience because the user can quickly access location-sharing. This reduces battery usage as users are not required to make multiple selections on the user interface in order to activate location sharing.

FIG. 11Billustrates location-sharing affordance1112in a message user interface without a keyboard. Location-sharing affordance1112could also be displayed on a message user interface with a keyboard, as shown inFIG. 11D. The display ofFIG. 11Dcould be arrived at by performing a drag gesture (such as the drag gesture described above with respect toFIG. 11A) on the message user interface ofFIG. 6A.

FIG. 11Cillustrates a user selecting text message entry affordance1110. In response, device1100displays a keyboard1114below the message region and displays location-sharing affordance1112at a third position above the first position (FIG. 11D). In some embodiments, location-sharing affordance is no longer displayed when a user selects a text message entry affordance.

FIG. 11Eillustrates message region1102after a new message is received at device1100. In response to receiving the new message, device1100displays the message at the bottom of the message transcript and ceases to display location-sharing affordance1112. In some embodiments, the new message is displayed above the location-sharing affordance in conjunction with displaying an animation of the location-sharing affordance sliding underneath the keyboard. In some embodiments, when a keyboard is not displayed and a new message arrives, the location-sharing affordance1112is no longer displayed. In some such embodiments, device1100displays an animation of the location-sharing affordance sliding underneath the text message entry affordance1110.

FIG. 11Fillustrates a user selecting location-sharing affordance1112. In response to detecting a selection of the location-sharing affordance, device1100enables the second participant to obtain first participant location information during a predetermined location-sharing time period, wherein the predetermined location-sharing time period is scheduled to end at a first time. In the embodiment ofFIG. 11G, first participant location information is shared via a map1116inserted in the message transcript of messages1106and1108sent between the first participant and second participant in the message conversation. An end time1118of the predetermined location-sharing time period is also displayed.

In like manner to other embodiments disclosed herein, in response to detecting interaction by one of the first participant and the second participant with the message conversation during the predetermined location-sharing time period, device1100will extend the predetermined location-sharing time period (see description ofFIGS. 6A-6H, for example).

As illustrated inFIG. 11G, location-sharing affordance1112is replaced by shared-location affordance1120. Shared-location affordance1120allows the first participant to end location sharing before the location-sharing time period has expired.

In some embodiments, shared-location affordance1120is continuously displayed while location information is shared. For example, while displaying shared-location affordance1120, device1100detects an event that will cause a change in appearance of the transcript (e.g., with the receipt of a new message or a scrolling operation that will scroll the message conversation downward). In response to detecting the event, device1100determines whether location-sharing is enabled. If location-sharing is enabled, device1100changes the appearance of the transcript in accordance with the event and maintains the display of shared-location affordance1120. If location-sharing is not enabled, device1100changes the appearance of the transcript in accordance with the event and ceases the display of shared-location affordance1120.

In some embodiments, location-sharing affordance1112is no longer displayed after a user interacts with it (e.g.,FIG. 11F). Interaction with a location-sharing affordance includes, but is not limited to, activation or deactivation of location sharing based on a selection/deselection of the location-sharing affordance.

In some embodiments, device1100determines whether the movement of the contact (FIG. 11A) across the touch-sensitive surface meets predefined criteria. The criteria is, for example, whether a speed, duration or length of the gesture comprises a speed, duration, or length below a predetermined threshold. If device1100determines that the movement meets the predefined criteria, device1100displays the location-sharing affordance for a predetermined time and discontinues the location-sharing affordance after the predetermined time period lapses. The predetermined time period is optionally short, on the order of one second, to allow the user to “peek” at the location-sharing affordance. If device1100determines that the movement does not meet the predefined criteria, device1100displays the location-sharing affordance. In some embodiments, the movement comprises a release of the contact and the predetermined criteria comprises a predetermined velocity of the movement at release.

FIG. 12Ais a flow diagram illustrating process1200for sharing a message participant's location information using an electronic device in accordance with some embodiments. Process1200is performed at an electronic device (e.g., device100,300,500) with a display and a touch-sensitive surface. Some operations in process1200are optionally combined, the order of some operations is optionally changed, and some operations are optionally omitted.

As described below, process1200provides an intuitive way for sharing location information. The method reduces the cognitive burden on a user for sharing location information, thereby creating a more efficient human-machine interface. For battery-operated computing devices, enabling a user to share location information faster and more efficiently conserves power and increases the time between battery charges.

At block1202, the device displays, on the display, a message region (e.g., message region1102inFIG. 11A) and, at a first position in the message region, a bottom portion of a message transcript of messages sent (e.g., messages1106and1108inFIG. 11A) between a first participant and a second participant of the message conversation. At block1204, the device detects contact on a location corresponding to the message transcript (e.g., contact by the finger illustrated inFIG. 11A). At block1206, the device detects movement of the contact across the touch-sensitive surface and toward a top portion of the message region (e.g., movement of the finger in the direction of the arrow inFIG. 11A). In response to detecting movement of the contact across the touch-sensitive surface and toward a top portion of the message region, at block1208the device displays the bottom portion of the message transcript at a second position in the message region above the first position (e.g., message1108is displayed at a higher position in the message transcript1102inFIG. 11Bthen the position of message1108inFIG. 11A). Also in response to detecting movement of the contact across the touch-sensitive surface and toward a top portion of the message region, at block1210the device displays a location-sharing affordance (e.g., location-sharing affordance1112inFIG. 11B) at the first position.

Advantageously, this improves the user's experience because the user can quickly access location-sharing. This reduces battery usage as users are not required to make multiple selections on the user interface in order to activate location sharing.

FIG. 12Bis a flow diagram illustrating sub-process1220which is optionally performed during process1200(FIG. 12A). At block1222, the device displays a keyboard (e.g., keyboard1114inFIG. 11D) below the message region. While displaying the location-sharing affordance at the first position, the device at block1224receives a new message for display in the message region (e.g., receipt of a message1106inFIG. 11E). In response to receiving the new message, the device at block1226displays the new message in the message region (e.g., display of message1106inFIG. 11E). Also in response to receiving the new message, the device at block1228ceases to display the location-sharing affordance (e.g., the device displays location-sharing affordance1112inFIG. 11Dand does not display a location-sharing affordance inFIG. 11E). In some embodiments, the new message is displayed above the location-sharing affordance in conjunction with displaying an animation of the location-sharing affordance sliding underneath the keyboard.

FIG. 12Cis a flow diagram illustrating sub-process1230which is optionally performed during process1200(FIG. 12A). At block1232, the device detects a selection of the location-sharing affordance (e.g., selection of location sharing affordance1112inFIG. 11F). In response to detecting a selection of the location-sharing affordance, the device at block1234enables the second participant to obtain the first participant location information during a predetermined location-sharing time period (e.g., by displaying map view1116inFIG. 11G), wherein the predetermined location-sharing time period is scheduled to end at a first time (e.g., first time “1:01 PM” displayed inFIG. 11G).

FIG. 12Dis a flow diagram illustrating sub-process1240which is optionally performed during process1200(FIG. 12A). At block1242, the device detects interaction by one of the first participant and the second participant with the message conversation during the predetermined location-sharing time period (e.g., addition of a new message to message transcript1102inFIG. 11G). In response to detecting interaction by one of the first participant and the second participant with the message conversation during the predetermined location-sharing time period, the device at block1244extends the predetermined location-sharing time period to end at a second time that is after the first time (e.g., extending the location sharing time period to end at a time later than first time “1:01 PM” displayed inFIG. 11G).

FIG. 12Eis a flow diagram illustrating sub-process1250which is optionally performed during process1200(FIG. 12A). At block1252, the device, while displaying the location-sharing affordance, detects an event that will cause a change in appearance of the transcript (e.g., with the receipt of a new message or a scrolling operation that will scroll the message conversation downward). In response to detecting an event that will cause a change in appearance of the transcript, the device at block1254determines whether the location-sharing is enabled (e.g., a location-sharing time period has not expired). In accordance with a determination that the location-sharing is enabled, the device at block1256changes the appearance of the transcript in accordance with the event and maintains display of a shared location affordance (e.g., shared-location affordance1120inFIG. 11G). In accordance with a determination that the location-sharing is disabled, the device at block1258changes the appearance of the transcript in accordance with the event and ceases to display the location-sharing affordance.

FIG. 12Fis a flow diagram illustrating sub-process1260which is optionally performed during process1200(FIG. 12A). At block1262, the device receives a new message in the message conversation. In response to receiving the new message, the device at block1264displays a representation of the new message at the bottom portion of the transcript (e.g., display of message1106inFIG. 11E). Also in response to receiving the new message, the device at block1266discontinues display of the location-sharing affordance (e.g., the device displays location sharing affordance1112inFIG. 11Dand does not display a location sharing affordance inFIG. 11E).

FIG. 12Gis a flow diagram illustrating sub-process1270which is optionally performed during process1200(FIG. 12A). At block1272, the device detects interaction with the location-sharing affordance (e.g., selection of location-sharing affordance1112inFIG. 11F). Interaction with a location-sharing affordance includes, but is not limited to, activation or deactivation of location sharing based on a selection/deselection of the location-sharing affordance. In response to detecting interaction with the location-sharing affordance, the device at block1274discontinues display of the location-sharing affordance (e.g., by replacing with shared-location affordance1120).

FIG. 12His a flow diagram illustrating sub-process1280which is optionally performed during process1200(FIG. 12A). At block1282, the device determines whether the movement of the contact across the touch-sensitive surface meets predefined criteria. The criteria is, for example, whether a speed, duration or length of the gesture comprises a speed, duration, or length below a predetermined threshold. In some embodiments, the movement comprises a release of the contact and wherein the predetermined criteria comprises a predetermined velocity of the movement at release. In accordance with a determination that the movement meets the predetermined criteria, the device at block1284displays the location-sharing affordance for a predetermined time and discontinues display of the location-sharing affordance after the predetermined time lapses (e.g., the device displays location-sharing affordance1112inFIG. 11Bfor the predetermined time). In accordance with a determination that the movement does not meet the predetermined criteria, the device at block1286displays the location-sharing affordance (e.g., the device displays location-sharing affordance1112inFIG. 11Buntil the user interacts with it).

Note that details of the processes described above with respect to process1200(e.g.,FIGS. 12A-12H) are also applicable in an analogous manner to the processes described herein. For example, processes700,900,1500,1800, and2000optionally include one or more of the characteristics of the various processes described above with reference to process1200. For example, display block1210is optionally incorporated in any of processes700,900,1500,1800, and/or2000. Additionally, the conversations, location sharing affordances, shared location affordances, location-sharing time periods, participants, participant location information, location sharing extensions, contact and movement detection, display of bottom portions of the message transcript, and display of keyboards described above with reference to process1200, or sub-processes1220,1230,1240,1250,1260,1270, and1280, optionally share some or all of the characteristics with the conversations, location sharing affordances, shared location affordances, location-sharing time periods, participants, participant location information, location sharing extensions, contact and movement detection, display of bottom portions of the message transcript, and display of keyboards described with reference to processes700,900,1500,1800, and/or2000, or sub-processes720,726,732,738,744,750,760,770,790,1520,1530,1540,1810,1820,1830,1840,2010, and/or2020. For brevity, these details are not repeated in the descriptions of the other processes. The various methods and techniques described above with reference to method1200, or sub-processes1220,1230,1240,1250,1260,1270, and1280, are optionally implemented as one or more units, such as those described with regard toFIG. 13.

In accordance with some embodiments,FIG. 13shows an exemplary functional block diagram of an electronic device1300configured in accordance with the principles of the various described embodiments. In accordance with some embodiments, the functional blocks of electronic device1300are configured to perform the techniques described above. The functional blocks of the device1300are, optionally, implemented by hardware, software, or a combination of hardware and software to carry out the principles of the various described examples. It is understood by persons of skill in the art that the functional blocks described inFIG. 13are, optionally, combined or separated into sub-blocks to implement the principles of the various described examples. Therefore, the description herein optionally supports any possible combination or separation or further definition of the functional blocks described herein.

As shown inFIG. 13, an electronic device1300includes a display unit1302configured to display a graphic user interface, optionally, a touch-sensitive surface unit1304configured to receive contacts, and a processing unit1306coupled to the display unit1302and, optionally, the touch-sensitive surface unit1304. In some embodiments, the processing unit1306includes a detecting unit1308, a determining unit1310, a receiving unit1312, an enabling unit1314, an extending unit1316, a changing unit1318, and a display enabling unit1320.

The processing unit1306is configured to: enable display (e.g., with display enabling unit1320), on the display unit1302, of a message region; enable display (e.g., with display enabling unit1320), at a first position in the message region, of a bottom portion of a message transcript of messages sent between a first participant and a second participant; detect (e.g., with detecting unit1308) contact on a location corresponding to the message transcript; detect (e.g., with detecting unit1308) movement of the contact across the touch-sensitive surface and toward a top portion of the message region; and in response to detecting movement of the contact across the touch-sensitive surface and toward a top portion of the message region: enable display (e.g., with display enabling unit1320), on the display unit1302, of the bottom portion of the message transcript at a second position in the message region above the first position; and enable display (e.g., with display enabling unit1320), on the display unit1302, of a location-sharing affordance at the first position.

In some embodiments, the processing unit is further configured to: enable display (e.g., with display enabling unit1320), on the display unit1302, of a keyboard below the message region; and while displaying the location-sharing affordance at the first position, receive a new message for display in the message region; and in response to receiving the new message: enable display (e.g., with display enabling unit1320), on the display unit1302, of the new message in the message region; and cease display the location-sharing affordance.

In some embodiments, the processing unit is further configured to: detect (e.g., with detecting unit1308) a selection of the location-sharing affordance; in response to detecting a selection of the location-sharing affordance: enable (e.g., with enabling unit1314) the second participant to obtain the first participant location information during a predetermined location-sharing time period, wherein the predetermined location-sharing time period is scheduled to end at a first time.

In some embodiments, the processing unit is further configured to: detect (e.g., with detecting unit1308) interaction by one of the first participant and the second participant with the message conversation during the predetermined location-sharing time period; and in response to detecting interaction by one of the first participant and the second participant with the message conversation during the predetermined location-sharing time period: extend (e.g., with extending unit1316) the predetermined location-sharing time period to end at a second time that is after the first time.

In some embodiments, the processing unit is further configured to: while displaying the location-sharing affordance, detect (e.g., with detecting unit1308) an event that will cause a change in appearance of the transcript; in response to detecting the event: in accordance with a determination that the location-sharing is enabled: change (e.g., with changing unit1318) the appearance of the transcript in accordance with the event; and maintain display (e.g., with display unit1302) of the location-sharing affordance; and in accordance with a determination that the location-sharing is disabled: change (e.g., with changing unit1318) the appearance of the transcript in accordance with the event; and cease to display the location-sharing affordance.

In some embodiments, the processing unit is further configured to: receive (e.g., with receiving unit1312) a new message in the message conversation; and in response to receiving the new message: enable (e.g., enabling unit1314) display, on the display unit1302, of a representation of the new message at the bottom portion of the transcript; and discontinue display of the location-sharing affordance.

In some embodiments, the processing unit is further configured to: detect (e.g., with detecting unit1308) interaction with the location-sharing affordance; and in response to detecting interaction with the location-sharing affordance: discontinue display (e.g., with display unit1302) of the location-sharing affordance.

In some embodiments, the processing unit is further configured to: determine (e.g., with detecting unit1008) whether the movement of the contact across the touch-sensitive surface meets predefined criteria; in accordance with a determination that the movement meets the predetermined criteria: enable (e.g., enabling unit1314) display, on the display unit1302, of the location-sharing affordance for a predetermined time; and discontinue display (e.g., with display unit1302) of the location-sharing affordance after the predetermined time lapses; and in accordance with a determination that the movement does not meet the predetermined criteria: enable display (e.g., with display enabling unit1320), on the display unit1302, of the location-sharing affordance.

In some embodiments, the movement comprises a release of the contact and wherein the predetermined criteria comprises a predetermined velocity of the movement at release.

FIG. 14Aillustrates an exemplary message user interface that is optionally displayed by device1400. In some embodiments, the user interface is displayed on device300or device500. The message user interface includes a message region1402for displaying messages1406and1408sent between a first participant (the user of device1400) and a second participant in a message conversation and for displaying a banner1404including the name of the second participant and a current time of day. Messages sent between the participants are displayed inside bounded message areas. A bottom portion of the message transcript is displayed at a first position in the message region1402. The message region also includes a shared location affordance, map view1410, indicating that location information is currently shared, at the top of the message transcript.

FIG. 14Billustrates the message region after device1400has detected a request to scroll the message transcript. In some embodiments, a request to scroll results from a user scrolling the transcript or a new message arriving to push messages and map view1410up in the transcript. In response to the request to scroll, device1400determines whether the request to scroll the message transcript is a request to scroll the shared-location affordance1410beyond the message region1402. If the request is a request to scroll the shared-location affordance1410beyond the message region1402, then device1400discontinues displaying the shared-location affordance1410in the message region1402and displays a location-sharing status bar1412outside the message region. In the embodiment ofFIG. 14B, the status bar is a banner above and adjacent to the message region and below banner1404.

Advantageously, this allows an indication of location sharing to remain on the user interface, while continuing a message conversation. Optionally, the user is reminded of location sharing, even as new messages in the message conversation cause the transcript to scroll out of view. Further, the user can receive updates on the location of the other participant or the travel time to the other participant, for example, even as new messages are continuously added to the transcript.

In some embodiments, discontinuing displaying the shared-location affordance1410and displaying the location-sharing status bar1412includes displaying an animated transition of the shared-location affordance1410turning into the location-sharing status bar1412.

FIG. 14Cillustrates a user scrolling down the message transcript of the message user interface with the location-sharing status bar1412outside the message region. In response to detecting the request to scroll the message transcript, device1400determines whether the request to scroll the message transcript comprises a request to display the shared-location affordance1410in the message region1402. If the detected request is a request to scroll the shared-location affordance1410in the message region1402, then device1400discontinues displaying the location-sharing status bar1412outside the message region and displays the shared-location affordance1410in the message region1402(seeFIG. 14D).

In some embodiments, discontinuing displaying the location-sharing status bar1412and displaying the shared-location affordance1410includes displaying an animated transition of the location-sharing status bar1412turning into the shared-location affordance1410.

In some embodiments, a location-sharing status bar includes an indication of a distance between the first participant and the second participant. In some embodiments, a location-sharing status bar includes an indication of a travel time between the first participant and the second participant. In some embodiments, a location-sharing status bar alternates from the indication of a distance between the first participant and the second participant to the indication of the travel time between the first participant and the second participant. In some embodiments, the travel time between the first participant and the second participant is determined by the distance between the first participant and the second participant and a mode of transport. In some embodiments, the location-sharing status bar includes a representation of at least one of a period of time until location sharing will end and a time of day until location sharing will end. In some embodiments, the location-sharing status bar includes one of a current location of the first participant and a map view depicting the current location of the first participant.

In some embodiments, selection of the location-sharing status bar results in launching a map view (e.g., a map displayed in a location sharing application) with a representation of a location of the first participant and the second participant.

In some embodiments, selection of a map view affordance results in display of an enlarged map view. In some embodiments, the map view affordance indicates that multiple message conversation participants are sharing their respective locations (for example, text stating multiple view locations are available). In such embodiments, in response to detecting a section of the map view affordance, device1400displays a map view comprising representations of the multiple message conversation participants.

FIG. 14Eillustrates the message region after device1400has detected a request to scroll the message transcript ofFIG. 14A. In the example ofFIG. 14E, a message1406is added to the conversation. In response to detecting a request to scroll the message transcript such that the map1410is no longer displayed in the transcript1402, the map view is displayed in the banner1404behind the name of the second participant and the current time of day. In the embodiment of theFIG. 14E, the location-sharing status bar comprises the banner1404, which includes the name of the second participant and the current time of day, and the map view.

Advantageously, this allows an indication of location sharing to remain on the user interface, while continuing a message conversation. Optionally, the user is reminded of location sharing, even as new messages in the message conversation cause the transcript to scroll out of view. Further, the user can receive updates on the location of the other participant or the travel time to the other participant, for example, even as new messages are continuously added to the transcript. Further, by including the map view in the banner1404, space in the message transcript1402is not occupied by information related to location sharing. This feature may improve the user's experience by allowing more messages in the message conversation to be displayed in the message transcript1402.

In some embodiments, text of the banner (such as the time and name of the message participant inFIG. 14E) is also displayed. In some embodiments, text is not displayed in the banner when the map view is also displayed. In some embodiments, the location of the participant is displayed in the center of the banner. In some embodiments, the location of the participant is displayed off-center of the banner so that the text and location is optionally displayed without interference (as inFIG. 14E).

FIG. 15Ais a flow diagram illustrating process1500for sharing a message participant's location information using an electronic device in accordance with some embodiments. Process1500is performed at an electronic device (e.g., device100,300,500) with a display and a touch-sensitive surface. Some operations in process1500are optionally combined, the order of some operations is optionally changed, and some operations are optionally omitted.

As described below, process1500provides an intuitive way for sharing location information. The method reduces the cognitive burden on a user for sharing location information, thereby creating a more efficient human-machine interface. For battery-operated computing devices, enabling a user to share location information faster and more efficiently conserves power and increases the time between battery charges.

At block1502, the device displays, on the display, a message region (e.g., message region1402inFIG. 14A) with messages sent (e.g., messages1406and1408inFIG. 14A) between a first participant and a second participant in a message conversation. At block1504, the device displays at a first position in the message transcript, a shared location affordance (e.g., shared location affordance1410inFIG. 14A). While displaying the shared location affordance at the first position, at block1506detects a request to scroll the message transcript (e.g., receiving new message1406inFIG. 14B). In some embodiments, a request to scroll results from a user scrolling a transcript or a new message to push messages and map views up in the transcript. In response to detecting the request to scroll the message transcript, at block1508the device determines whether the request to scroll the message transcript comprises a request to scroll the shared location affordance beyond the message region (e.g., a request to scroll shared location affordance1410outside message region1402inFIG. 14B). In accordance with a determination that the request to scroll the message transcript comprises a request to scroll the shared location affordance beyond the message region, at block1510the device discontinues display of the shared location in the message transcript and displays a location-sharing status bar (e.g., location-sharing status bar1412inFIG. 14B) outside the message region. In some embodiments, discontinuing displaying the shared location affordance and displaying the location-sharing status bar includes displaying an animated transition of the shared location affordance turning into the location-sharing status bar. In accordance with a determination that the request to scroll the message transcript does not comprise a request to scroll the shared location affordance beyond the message region, at block1512the device displays the shared location affordance at a second location in the message transcript (e.g., a shared location affordance is displayed above its previous position in a message transcript).

Advantageously, this allows an indication of location sharing to remain on the user interface, while continuing a message conversation. Optionally, the user is reminded of location sharing, even as new messages in the message conversation cause the transcript to scroll out of view. Further, the user can receive updates on the location of the other participant or the travel time to the other participant, for example, even as new messages are continuously added to the transcript.

FIG. 15Bis a flow diagram illustrating sub-process1520which is optionally performed during process1500(FIG. 15A). While displaying a location-sharing status bar outside the message region, at block1522the device detects a second request to scroll the message transcript (e.g., contact of the finger on the display of device1400inFIG. 14C, followed by movement of the finger in the direction of the arrow inFIG. 14C). In response to detecting the second request to scroll the message transcript, at block1524the device determines whether the second request to scroll the message transcript comprises a request to display the shared location affordance in the message region (e.g., display of shared-location affordance1410inFIG. 14D). In accordance with a determination that the second request to scroll the message transcript comprises a request to display the shared location affordance in the message region, at block1526the device discontinues displaying the location-sharing status bar outside the message region and displays the shared location affordance in the message transcript (e.g., display of shared location affordance1410in message transcript1402inFIG. 14D). In some embodiments, discontinuing displaying the location-sharing status bar and displaying the shared location affordance includes displaying an animated transition of the location-sharing status bar turning into the shared location affordance. In accordance with a determination that the second request to scroll the message transcript does not comprise a request to display the shared location affordance in the message region, at block1528the device forgoes displaying the shared location affordance in the message transcript.

In some embodiments, the location-sharing status bar comprises an indication of a distance between the first participant and the second participant. In some embodiments, the location-sharing status bar comprises an indication of a travel time between the first participant and the second participant (e.g., “20 mins away” in location-sharing status bar1412inFIG. 14B). In some embodiments, the location-sharing status bar alternates from the indication of a distance between the first participant and the second participant to the indication of the travel time between the first participant and the second participant. In some embodiments, the travel time between the first participant and the second participant is determined by the distance between the first participant and the second participant and a mode of transport. In some embodiments, the location-sharing status bar comprises a map view in a banner (e.g., the map view in banner1404inFIG. 14E) that includes the name of the second participant and a current time of day, where the map view is displayed behind the name of the second participant and a current time of day.

FIG. 15Cis a flow diagram illustrating sub-process1530which is optionally performed during process1500(FIG. 15A). In the embodiment ofFIG. 15C, the location-sharing status bar is selectable. At block1532, the device detects a selection of the location-sharing status bar (e.g., detecting contact on device1400at point corresponding to location-sharing status bar1412). In response to detecting a selection of the location-sharing status bar, at block1534the device launches a map view (e.g., a map displayed in a location sharing application), wherein the map view includes a representation of a location of the first participant and a location of the second participant.

In some embodiments, the location-sharing status bar comprises a representation of at least one of a period of time until location sharing will end and a time of day until location sharing will end. In some embodiments, the location-sharing status bar comprises one selected from the group consisting of a current location of the first participant and a map view depicting the current location of the first participant.

FIG. 15Dis a flow diagram illustrating sub-process1540, which is optionally performed during process1500(FIG. 15A). At block1542, the device displays a map-view affordance (e.g., map-view affordance1410inFIG. 14A). At block1544, the device detects a selection of the map view affordance. In response to detecting a selection of the map view affordance, at block1546displays a map view comprising a representation of a location of the first participant. In some embodiments, the map view affordance indicates that multiple message conversation participants are sharing their respective locations (for example, text stating that multiple view locations are available) and further in response to detecting a selection of the map view affordance, the device displaying a map view comprising representations of respective locations of the multiple message conversation participants.

In some embodiments, displaying a location-sharing status bar outside of the message region comprises displaying the location-sharing status bar above and adjacent to the message region.

Note that details of the processes described above with respect to process1500(e.g.,FIGS. 15A-15D) are also applicable in an analogous manner to the processes described herein. For example, processes700,900,1200,1800, and2000optionally include one or more of the characteristics of the various processes described above with reference to process1500. For example, determine block1508is optionally incorporated in any of processes700,900,1200,1800, and/or2000. Additionally, the conversations, location sharing affordances, shared location affordances, location-sharing time periods, participants, participant location information, location sharing extensions, scroll detection, display of shared location affordances, map views, and location-sharing status bars described above with reference to process1500, or sub-processes1520,1530, and1540, optionally share some or all of the characteristics with the conversations, location sharing affordances, shared location affordances, location-sharing time periods, participants, participant location information, location sharing extensions, scroll detection, display of shared location affordances, map views, and location-sharing status bars described with reference to processes700,900,1200,1800, and/or2000, or sub-processes720,726,732,738,744,750,760,770,790,1220,1230,1240,1250,1260,1270,1280,1810,1820,1830,1840,2010, and/or2020. For brevity, these details are not repeated in the descriptions of the other processes. The various methods and techniques described above with reference to method1500, or sub-processes1520,1530, and1540, are optionally implemented as one or more units, such as those described with regard toFIG. 16.

In accordance with some embodiments,FIG. 16shows an exemplary functional block diagram of an electronic device1600configured in accordance with the principles of the various described embodiments. In accordance with some embodiments, the functional blocks of electronic device1600are configured to perform the techniques described above. The functional blocks of the device1600are, optionally, implemented by hardware, software, or a combination of hardware and software to carry out the principles of the various described examples. It is understood by persons of skill in the art that the functional blocks described inFIG. 16are, optionally, combined or separated into sub-blocks to implement the principles of the various described examples. Therefore, the description herein optionally supports any possible combination or separation or further definition of the functional blocks described herein.

As shown inFIG. 16, an electronic device1600includes a display unit1602configured to display a graphic user interface, optionally, a touch-sensitive surface unit1604configured to receive contacts, and a processing unit1606coupled to the display unit1602and, optionally, the touch-sensitive surface unit1604. In some embodiments, the processing unit1606includes a detecting unit1608, a determining unit1610, a launching unit1612, an enabling unit1614, and a display enabling unit1616.

The processing unit1606is configured to: enable display (e.g., with display enabling unit1616), on the display unit1602, of a message region; enable display (e.g., with display enabling unit1616), in the message region, of a message transcript of messages sent between a first participant and a second participant; enable (e.g., with enabling unit1614) display (e.g., with display unit1302), at a first position in the message transcript, of a shared-location affordance; while displaying the shared-location affordance at the first position, detect (e.g., with detecting unit1608) a request to scroll the message transcript; in response to detecting the request to scroll the message transcript: determine (e.g., with determining unit1610) whether the request to scroll the message transcript comprises a request to scroll the shared-location affordance beyond the message region; in accordance with a determination that the request to scroll the message transcript comprises a request to scroll the shared-location affordance beyond the message region: discontinue display (e.g., with display unit1602) of the shared location in the message transcript; and enable display (e.g., with display enabling unit1616), on the display unit1602, of a location-sharing status bar outside the message region; and in accordance with a determination that the request to scroll the message transcript does not comprise a request to scroll the shared-location affordance beyond the message region: enable display (e.g., with display enabling unit1616), on the display unit, of the shared-location affordance at a second location in the message transcript.

In some embodiments, the processing unit is further configured to: while displaying a location-sharing status bar outside the message region, detect (e.g., with detecting unit1608) a second request to scroll the message transcript; in response to detecting the second request to scroll the message transcript: determine (e.g., with determining unit1610) whether the second request to scroll the message transcript comprises a request to display the shared-location affordance in the message region; in accordance with a determination that the second request to scroll the message transcript comprises a request to display the shared-location affordance in the message region: discontinue display (e.g., with display unit1602) of the location-sharing status bar outside the message region; enable display (e.g., with display enabling unit1616), on the display unit, of the shared-location affordance in the message transcript; and in accordance with a determination that the second request to scroll the message transcript does not comprise a request to display the shared-location affordance in the message region: forgo display (e.g., with display unit1602) of the shared-location affordance in the message transcript.

In some embodiments, the location-sharing status bar comprises an indication of a distance between the first participant and the second participant.

In some embodiments, the location-sharing status bar comprises an indication of a travel time between the first participant and the second participant.

In some embodiments, the location-sharing status bar alternates from the indication of a distance between the first participant and the second participant to the indication of the travel time between the first participant and the second participant.

In some embodiments, the travel time between the first participant and the second participant is determined by the distance between the first participant and the second participant and a mode of transport.

In some embodiments, the location-sharing status bar is selectable, and wherein the processing unit is further configured to: detect (e.g., with detecting unit1608) a selection of the location-sharing status bar; and in response to detecting a selection of the location-sharing status bar: launch (e.g., with launching unit1612) a map view, wherein the map view comprises a representation of a location of the first participant and a location of the second participant.

In some embodiments, the location-sharing status bar comprises a representation of at least one of a period of time until location sharing will end and a time of day until location sharing will end.

In some embodiments, the location-sharing status bar comprises one selected from the group consisting of a current location of the first participant and a map view depicting the current location of the first participant.

In some embodiments, the processing unit is further configured to: enable display (e.g., with display enabling unit1616), on the display unit, of a map view affordance; detect (e.g., with detecting unit1608) a selection of the map view affordance; and in response to detecting a selection of the map view affordance: enable display (e.g., with display enabling unit1616), on the display unit, of a map view comprising a representation of a location of the first participant.

In some embodiments, the map view affordance indicates that multiple message conversation participants are sharing their respective locations, and wherein the processing unit is further configured to: further in response to detecting a selection of the map view affordance: enable display (e.g., with display enabling unit1616), on the display unit, of a map view comprising representations of respective locations of the multiple message conversation participants.

In some embodiments, enabling display of a location-sharing status bar outside of the message region comprises enabling display of the location-sharing status bar above and adjacent to the message region.

FIG. 17Aillustrates an exemplary message user interface that is optionally displayed by device1700. In some embodiments, the user interface is displayed on device300or device500. The message user interface includes a message region1702for displaying messages1706and1708sent between a first participant (the user of device1700) and a second participant in a message conversation and for displaying a banner1704including the name of the second participant and a current time of day. Messages sent between the participants are displayed inside bounded message areas. The message region also includes a map view1710with a representation of the first participant's location, indicating that location information is currently shared, below and adjacent the message transcript.

In some embodiments, device1700displays a representation of the first participant's updated location in the shared-location affordance as the first participant's location changes. In some embodiments, displaying the representation of the updated location includes shifting the map while maintaining the representation of the first participant in the same location on the display.

FIG. 17Billustrates a user selecting map view1710. In response to detecting the user's selection, device1700displays an enlarged map view1714(FIG. 17C) with a representation of the first participant at a location that corresponds to a location of the first participant.

In some embodiments, the selection is a predefined gesture, such as a single tap gesture, a double tap gesture, or a press and hold gesture (for example, a contact that is detected for more than a threshold amount of time). In some embodiments, if device1700determines that the characteristic of the gesture do not meet a predefined threshold, device1700forgoes enlarging the map view.

In some embodiments, device1700enlarges the map view with animation, such as a page curl or fade in. In some embodiments, enlarging the map view includes gradually enlarging the map view as a parameter associated with the gesture changes (for example, as a duration or intensity of the contact increases, the animation speed increases).

In some embodiments, a second map view is displayed if both participants are simultaneously sharing their locations (seeFIG. 6H). In some embodiments, shared-location affordance1710continues to be displayed at the bottom of the transcript as new messages are added to the message transcript. In some embodiments, shared-location affordance1710includes a representation of the first participant, such as an avatar or a captured image.

In some embodiments, selection of a location-sharing affordance consists of a single contact. In response to the selection, device1700enables the second participant to obtain the first participant location information and displays a modified location-sharing affordance. (See, e.g.,FIGS. 6A-6B). Advantageously, this single contact improves the user experience by minimizing the number of selections necessary to share location. In some embodiments, device1700enables the second participant to obtain the first participant location information without adding a new message to the message transcript.

In some embodiments, the second participant receives updated first participant location information as the first participant's location changes. In some embodiments, displaying a modified location-sharing affordance comprises replacing the location-sharing affordance with the modified location-sharing affordance. In some embodiments, a message compose field includes the modified location-sharing affordance. For example, the modified location-sharing affordance is displayed within a text entry field that is configured for entering text for draft messages. In some embodiments, tapping in the message compose field at a location that is away from the modified location-sharing affordance causes a cursor to be displayed in the message compose field (and, if a keyboard is not displayed, optionally, causes a soft keyboard to be displayed for entering text into the message compose field at the location of the cursor), while tapping in the message compose field at a location that corresponds to the location-sharing affordance toggles on/off location sharing. In some embodiments, the modified location-sharing affordance is discontinued after detection of a message composition.

FIG. 17Dillustrates another option for displaying a shared location map. InFIG. 17D, shared-location affordance1718is a map view inserted at the bottom right corner of the message transcript1702, similar to the shared-location affordance1710ofFIG. 17A. Shared-location affordance1718has a rounded top corner at the center of the message transcript. The shared location affordance1718is optionally aligned to the same side of the message region as messages from the participant whose location is being shared (as illustrated inFIG. 17D, for example).

In some embodiments, the most recent message1708sent by the first participant is centered in the message transcript1702. The tail of the most recent message1708is pointed toward the rounded corner of the shared-location affordance.

FIG. 17Eillustrates the user interface ofFIG. 17Dafter second participant location information is shared (as depicted by shared-location affordance1722) and a new message1720is added by the second participant. As inFIG. 17D, the last message sent/received1720is centered in the message transcript1702and the other messages are aligned with the side of message transcript1702.

In some embodiments, the displayed map region is not scrolled with the message transcript; it remains stationary in the message region as new messages are displayed. In this manner, participants can continue to view shared location information over the course of a message conversation, as the transcript continues to be scrolled.

FIG. 18Ais a flow diagram illustrating process1800for sharing a message participant's location information using an electronic device in accordance with some embodiments. Process1800is performed at an electronic device (e.g., device100,300,500) with a display and a touch-sensitive surface. Some operations in process1800are optionally combined, the order of some operations is optionally changed, and some operations are optionally omitted.

As described below, process1800provides an intuitive way for sharing location information. The method reduces the cognitive burden on a user for sharing location information, thereby creating a more efficient human-machine interface. For battery-operated computing devices, enabling a user to share location information faster and more efficiently conserves power and increases the time between battery charges.

At block1802, the device displays, on the display, a message region (e.g., message region1702inFIG. 17A) with messages sent (e.g., messages1706and1708inFIG. 17A) between a first participant and a second participant in a message conversation. At block1804, the device displays a shared location affordance (e.g., shared location affordance1710inFIG. 17A), in the message region, below and adjacent to the message transcript, wherein the shared location affordance comprises a representation of a location of the first participant. In some embodiments, the most recent message (e.g., message1708inFIG. 17Dor message1718inFIG. 17E) in the message conversation is centered in the message transcript (e.g., message transcript1702inFIGS. 17D and 17E).

In some embodiments, the shared location affordance comprises a map view (e.g., map view1710inFIG. 17A).

FIG. 18Bis a flow diagram illustrating sub-process1810, which is optionally performed during process1800(FIG. 18A). At block1812, the device detects a predefined gesture on the touch-sensitive surface at a position that corresponds to the shared location affordance (e.g., detecting contact on shared location affordance1710inFIG. 17B). In some embodiments, the selection is a predefined gesture, such as a single tap gesture, a double tap gesture, or a press and hold gesture (for example, a contact that is detected for more than a threshold amount of time). In response to detecting the predefined gesture, at block1814the device enlarges the map view (e.g., enlarged map view1714inFIG. 17C). In some embodiments, enlarging the map view includes animation, such as a page curl or fade in. In some embodiments, enlarging the map view includes gradually enlarging the map view as a parameter associated with the gesture changes (for example, as a duration or intensity of the contact increases, the animation speed increases). In some embodiments, if a device determines that the characteristic of the gesture do not meet a predefined threshold, the device forgoes enlarging the map view.

In some embodiments, the device displays the representation of the first participant on the map view at a position that corresponds to a location of the first participant.

FIG. 18Cis a flow diagram illustrating sub-process1820, which is optionally performed during process1800(FIG. 18A). At block1822, the device displays a second map view in the message transcript (e.g., a second map view displayed in message region1702inFIG. 17A). At block1824, the device displays a representation of the second participant at a position on the second map view that corresponds to a location of the second participant (e.g., map view638inFIG. 6H).

FIG. 18Dis a flow diagram illustrating sub-process1830which is optionally performed during process1800(FIG. 18A). At block1832, the device receives an updated location of the first participant. In response to receiving the updated location of the first participant, at block1834, the device displays a representation of the updated location of the first participant in the shared location affordance associated with the first participant (e.g., by updating map view1710inFIG. 17B). In some embodiments, displaying the representation of the updated location includes shifting the map while maintaining the representation of the first participant in the same location on the display (e.g., by maintaining the solid circle and concentric line, while scrolling the background, in the map view of1710).

FIG. 18Eis a flow diagram illustrating sub-process1810, which is optionally performed during process1800(FIG. 18A). At block1842, the device receives a new message sent between the first and second participant in the message conversation. In response to receiving the new message, at block1844the device displays a representation of the new message at the bottom of the transcript (e.g., new message1720is added to message transcript1702inFIG. 17E) and continues to display the shared location affordance at the same location (e.g., map view1718remains in position at the bottom right of the message transcript1702inFIG. 17A).

In some embodiments, the shared location affordance comprises a representation of the first participant, such as an avatar or a captured image.

Note that details of the processes described above with respect to process1800(e.g.,FIGS. 18A-18E) are also applicable in an analogous manner to the processes described herein. For example, processes700,900,1200,1500, and2000optionally include one or more of the characteristics of the various processes described above with reference to process1800. For example, display block1802is optionally incorporated in any of processes700,900,1200,1500, and/or2000. Additionally, the conversations, location sharing affordances, shared location affordances, location-sharing time periods, participants, participant location information, location sharing extensions, map views, and detection of gestures described above with reference to process1800, or sub-processes1810,1820,1830, and1840, optionally share some or all of the characteristics with the conversations, location sharing affordances, shared location affordances, location-sharing time periods, participants, participant location information, location sharing extensions, map views, and detection of gestures described with reference to processes700,900,1200,1500, and/or2000, or sub-processes720,726,732,738,744,750,760,770,790,1220,1230,1240,1250,1260,1270,1280,1520,1530,1540,2010, and/or2020. For brevity, these details are not repeated in the descriptions of the other processes. The various methods and techniques described above with reference to method1800, or sub-processes1810,1820,1830, and1840, are optionally implemented as one or more units, such as those described with regard toFIG. 19.

In accordance with some embodiments,FIG. 19shows an exemplary functional block diagram of an electronic device1900configured in accordance with the principles of the various described embodiments. In accordance with some embodiments, the functional blocks of electronic device1900are configured to perform the techniques described above. The functional blocks of the device1900are, optionally, implemented by hardware, software, or a combination of hardware and software to carry out the principles of the various described examples. It is understood by persons of skill in the art that the functional blocks described inFIG. 19are, optionally, combined or separated into sub-blocks to implement the principles of the various described examples. Therefore, the description herein optionally supports any possible combination or separation or further definition of the functional blocks described herein.

As shown inFIG. 19, an electronic device1900includes a display unit1902configured to display a graphic user interface, optionally, a touch-sensitive surface unit1904configured to receive contacts, and a processing unit1906coupled to the display unit1902and, optionally, the touch-sensitive surface unit1904. In some embodiments, the processing unit1906includes a detecting unit1908, a determining unit1910, an enlarging unit1912, an enabling unit1914, a receiving unit1916, and a display enabling unit1918.

The processing unit1906is configured to: enable display (e.g., with display enabling unit1918), on the display unit, of a message region; enable display (e.g., with display enabling unit1918), in the message region, of a message transcript of messages sent between a first participant and a second participant; and enable display (e.g., with display unit1902), on the display unit, of a shared-location affordance in the message region, wherein the shared-location affordance is displayed below and adjacent to the message transcript, and wherein the shared-location affordance comprises a representation of a location of the first participant.

In some embodiments, the shared-location affordance comprises a map view.

In some embodiments, the processing unit is further configured to: detect (e.g., with detecting unit1908) a predefined gesture on the touch-sensitive surface at a position that corresponds to the shared-location affordance; in response to detecting the predefined gesture, enlarge (e.g., with enlarging unit1912) the map view.

In some embodiments, enlarging the map view comprises gradually enlarging the map view as a parameter associated with the gesture changes.

In some embodiments, the processing unit is further configured to: enable (e.g., with enabling unit1914) display, on the display unit, of the representation of the first participant on the map view at a position that corresponds to a location of the first participant.

In some embodiments, the processing unit is further configured to: enable (e.g., with enabling unit1914) display, on the display unit, of a second map view in the message transcript; and enable display, on the display unit, of a representation of the second participant at a position on the second map view that corresponds to a location of the second participant.

In some embodiments, the processing unit is further configured to: receive (e.g., with receiving unit1916) an updated location of the first participant; and in response to receiving the updated location of the first participant: enable (e.g., with enabling unit1914) display, on the display unit, of a representation of the updated location of the first participant in the shared-location affordance associated with the first participant.

In some embodiments, the processing unit is further configured to: receive (e.g., with receiving unit1916) a new message sent between the first and second participant in the message conversation; and in response to receiving the new message: enable (e.g., with enabling unit1914) display, on the display unit, of a representation of the new message at the bottom of the transcript; and continue enabling display of the shared-location affordance at the same location.

In some embodiments, the shared-location affordance comprises a representation of the first participant.

FIG. 20Ais a flow diagram illustrating process2000for sharing a message participant's location information using an electronic device in accordance with some embodiments. Process2000is performed at an electronic device (e.g., device100,300,500) with a display and a touch-sensitive surface. Some operations in process2000are optionally combined, the order of some operations is optionally changed, and some operations are optionally omitted.

As described below, process2000provides an intuitive way for sharing location information. The method reduces the cognitive burden on a user for sharing location information, thereby creating a more efficient human-machine interface. For battery-operated computing devices, enabling a user to share location information faster and more efficiently conserves power and increases the time between battery charges.

At block2002, the device displays, on the display, a message region (e.g., message region602inFIG. 6A) with messages sent (e.g., messages606and608inFIG. 6A) between a first participant and a second participant in a message conversation. At block2004, the device displays a location-sharing affordance (e.g., location-sharing affordance610inFIG. 6A). At block2006, the device detects a selection of the location-sharing affordance, wherein detecting a selection of the location-sharing affordance by the first participant consists of detecting a single contact by the first participant. In response to detecting a selection of the location-sharing affordance, at block2008, the device enables the second participant to obtain the first participant location information and displays a modified location-sharing affordance (e.g., modified location-sharing affordance616inFIG. 6B).

Advantageously, this single contact improves the user experience by minimizing the number of selections necessary to share location. In some embodiments, the device enables the second participant to obtain the first participant location information without adding a new message to the message transcript.

In some embodiments, enabling the second participant to obtain the first participant location information is performed without adding a new message to the message transcript.

FIG. 20Bis a flow diagram illustrating sub-process2010, which is optionally performed during process2000(FIG. 20A). At block2012, the device receives an updated location of the first participant. In response to receiving an updated location of the first participant, at block2014the device enables the second participant to obtain the updated first participant location information (e.g., by providing updated map view320inFIG. 6C).

In some embodiments, displaying a modified location-sharing affordance comprises replacing the location-sharing affordance with the modified location-sharing affordance.

In some embodiments, the device displays a message compose field that includes a modified location-sharing affordance. For example, the modified location-sharing affordance is displayed within a text entry field that is configured for entering text for draft messages. In some embodiments, tapping in the message compose field at a location that is away from the modified location-sharing affordance causes a cursor to be displayed in the message compose field (and, if a keyboard is not displayed, optionally, causes a soft keyboard to be displayed for entering text into the message compose field at the location of the cursor), while tapping in the message compose field at a location that corresponds to the location-sharing affordance toggles on/off location sharing. In some embodiments, the modified location-sharing affordance is discontinued after detection of a message composition.

FIG. 20Cis a flow diagram illustrating sub-process2020, which is optionally performed during process2000(FIG. 20A). At block2022, the device detects a message composition (e.g., by selection of the text message entry affordance1110inFIG. 11C). In response to detecting a message composition, at block2024the device discontinues displaying the modified location-sharing affordance (e.g., by not displaying modified location-sharing affordance616inFIG. 6B).

In some embodiments, the modified location-sharing affordance is a toggle.

Note that details of the processes described above with respect to process2000(e.g.,FIGS. 20A-20C) are also applicable in an analogous manner to the processes described herein. For example, processes700,900,1200,1500, and1800optionally include one or more of the characteristics of the various processes described above with reference to process2000. For example, enable block2008is optionally incorporated in any of processes700,900,1200,1500, and/or1800. Additionally, the conversations, location sharing affordances, shared location affordances, location-sharing time periods, participants, participant location information, location sharing extensions, selection detection, and responses to selection detection described above with reference to process2000, or sub-processes2010and2020, optionally share some or all of the characteristics with the conversations, location sharing affordances, shared location affordances, location-sharing time periods, participants, participant location information, location sharing extensions, selection detection, and responses to selection detection described with reference to processes700,900,1200,1500, and/or1800, or sub-processes720,726,732,738,744,750,760,770,790,1220,1230,1240,1250,1260,1270,1280,1520,1530,1540,1810,1820,1830, and/or1840. For brevity, these details are not repeated in the descriptions of the other processes. The various methods and techniques described above with reference to method2000, or sub-processes2010and2020, are optionally implemented as one or more units, such as those described with regard toFIG. 21.

In accordance with some embodiments,FIG. 21shows an exemplary functional block diagram of an electronic device2100configured in accordance with the principles of the various described embodiments. In accordance with some embodiments, the functional blocks of electronic device2100are configured to perform the techniques described above. The functional blocks of the device2100are, optionally, implemented by hardware, software, or a combination of hardware and software to carry out the principles of the various described examples. It is understood by persons of skill in the art that the functional blocks described inFIG. 21are, optionally, combined or separated into sub-blocks to implement the principles of the various described examples. Therefore, the description herein optionally supports any possible combination or separation or further definition of the functional blocks described herein.

As shown inFIG. 21, an electronic device2100includes a display unit2102configured to display a graphic user interface, optionally, a touch-sensitive surface unit2104configured to receive contacts, and a processing unit2106coupled to the display unit2102and, optionally, the touch-sensitive surface unit2104. In some embodiments, the processing unit2106includes a detecting unit2108, a determining unit2110, an enabling unit2112, a receiving unit2114, and a display enabling unit2116.

The processing unit2106is configured to: enable display (e.g., with enabling unit2116), on the display unit2102, of a message region for displaying a message transcript of messages sent between a first participant and a second participant in a message conversation; enable display (e.g., with enabling unit2116), on the display unit2102, of a location-sharing affordance; detect (e.g., with enabling unit2108) a selection of the location-sharing affordance, wherein detecting a selection of the location-sharing affordance by the first participant consists of detecting a single contact by the first participant; and in response to detecting a selection of the location-sharing affordance: enable (e.g., with enabling unit2112) the second participant to obtain the first participant location information; and enable display, on the display unit, of a modified location-sharing affordance.

In some embodiments, enabling the second participant to obtain the first participant location information is performed without adding a new message to the message transcript.

In some embodiments, the processing unit is further configured to: receive (e.g., with receiving unit2114) an updated location of the first participant; and in response to receiving an updated location of the first participant: enable (e.g., with enabling unit2112) the second participant to obtain the updated location of the first participant.

In some embodiments, enabling display of a modified location-sharing affordance comprises enabling replacement of the location-sharing affordance with the modified location-sharing affordance.

In some embodiments, the processing unit is further configured to: enable display (e.g., with enabling unit2116), on the display unit, of a message compose field, wherein the message compose field comprises the modified location-sharing affordance.

In some embodiments, the processing unit is further configured to: detect (e.g., with detecting unit2108) a message composition; and in response to detecting a message composition: discontinue display of the modified location-sharing affordance.

In some embodiments, the modified location-sharing affordance is a toggle.

The operations described above with reference toFIGS. 20A-20Care, optionally, implemented by components depicted inFIG. 1A-1B, 3, 5B, or21. For example, display operation2002, display operation2004, detect operation2006, and enable operation2008is implemented by event sorter170, event recognizer180, and event handler190. Event monitor171in event sorter170detects a contact on touch-sensitive display112, and event dispatcher module174delivers the event information to application136-1. A respective event recognizer180of application136-1compares the event information to respective event definitions186, and determines whether a first contact at a first location on the touch-sensitive surface corresponds to a predefined event or sub event, such as activation of an affordance on a user interface. When a respective predefined event or sub-event is detected, event recognizer180activates an event handler190associated with the detection of the event or sub-event. Event handler190optionally utilizes or calls data updater176or object updater177to update the application internal state192. In some embodiments, event handler190accesses a respective GUI updater178to update what is displayed by the application. Similarly, it would be clear to a person having ordinary skill in the art how other processes can be implemented based on the components depicted inFIG. 1A-1B, 3, 5B, or21.

As described above, one aspect of the present technology is the gathering and use of data available from various sources to improve the delivery to users of invitational content or any other content that may be of interest to them. The present disclosure contemplates that in some instances, this gathered data optionally includes personal information data that uniquely identifies or can be used to contact or locate a specific person. Such personal information data can include demographic data, location-based data, telephone numbers, email addresses, home addresses, or any other identifying information.

The present disclosure recognizes that the use of such personal information data, in the present technology, can be used to the benefit of users. For example, the personal information data can be used to deliver targeted content that is of greater interest to the user. Accordingly, use of such personal information data enables calculated control of the delivered content. Further, other uses for personal information data that benefit the user are also contemplated by the present disclosure.

Despite the foregoing, the present disclosure also contemplates embodiments in which users selectively block the use of, or access to, personal information data. That is, the present disclosure contemplates that hardware and/or software elements can be provided to prevent or block access to such personal information data. For example, in the case of advertisement delivery services, the present technology can be configured to allow users to select to “opt in” or “opt out” of participation in the collection of personal information data during registration for services. In another example, users can select not to provide location information for targeted content delivery services. In yet another example, users can select to not provide precise location information, but permit the transfer of location zone information.