Expressive user icons in map-based messaging system interfaces

By combining user icons and status indicators in the map interface of the social media platform, the problem of single user position representation is solved, and richer information transmission and interactivity are achieved.

CN114846504BActive Publication Date: 2025-08-22SNAP INC
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202080090015.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2020-03-31
Filing Date
2020-12-23
Publication Date
2025-08-22
Estimated Expiration
2040-12-23

AI Technical Summary

Technical Problem

The existing social media platforms have a single user location representation method in the map interface, making it difficult to effectively convey complex information such as the user's current status and emotions, resulting in insufficient information transmission.

Method used

By combining user icons and status indicators in the map interface, the user's current state and emotions are conveyed by using the expressive user icons and status indicators, providing an interactive user interface for direct action execution.

Benefits of technology

It significantly increases the density and interactivity of information in the map interface, allowing users to quickly perform related actions, and provides a richer user experience and information transmission.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114846504B_ABST
    Figure CN114846504B_ABST
Patent Text Reader

Abstract

Systems, devices, methods, and instructions for generating and using expressive icons with status indicators for a map-based graphical user interface (GUI) are described. One embodiment involves accessing location information, map data icon information, and status indicator information associated with an account on a social media platform. The device then causes a combined expressive icon generated using the icon information and the status indicator to be generated, and causes a map interface with the combined expressive icon and map data positioned at a location indicated by the location information to be displayed.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Priority claim

[0002] This application claims the benefit of priority to U.S. Provisional Application Serial No. 62 / 954,314, filed on December 27, 2019, and U.S. Patent Application Serial No. 16 / 836,797, filed on March 31, 2020, each of which is incorporated herein by reference in its entirety. Background Art

[0003] Messaging systems for social media platforms typically implement computer-mediated technologies that allow the creation and sharing of content that conveys information, ideas, professional interests, and other forms of expression via virtual communities and networks. Social media platforms use web-based technologies, desktop computers, and mobile technologies (e.g., smartphones and tablet computers) to create highly interactive platforms through which individuals, communities, and organizations can share, co-create, discuss, and modify user-generated content or pre-made content posted online.

[0004] Mobile electronic devices on which end-user social media applications can be executed typically provide a geolocation service for determining the geographic location of the mobile electronic device via an extension indicating the geographic location of an associated user. Where such messaging applications include a map-based graphical user interface, the user's physical location is typically represented on the map by a corresponding user icon uniquely associated with the associated user. BRIEF DESCRIPTION OF THE DRAWINGS

[0005] To easily identify the discussion of any particular element or act, the highest digit or digits in a reference number refer to the figure number in which the element is first introduced.

[0006] Figure 1 is a diagrammatic representation of a networked environment in which the present disclosure may be deployed, according to some example implementations.

[0007] Figure 2 is a diagrammatic representation of a messaging system having both client-side and server-side functionality, according to some examples.

[0008] Figure 3 is a diagrammatic representation of data structures maintained in a database according to some examples.

[0009] Figure 4 is a diagrammatic representation of messages according to some examples.

[0010] Figure 5 is a diagrammatic representation of a social media messaging system according to some examples.

[0011] Figure 6is a schematic diagram of a client device that provides a map-based graphical user interface for a social media messaging application, according to some examples.

[0012] Figures 7A to 7J are screenshots of a map-based graphical user interface for generating and displaying combined expressive icons, according to some examples.

[0013] Figure 8 is a flow diagram of a method for generating a map-based GUI for a messaging application in which users are represented by composed expressive icons, according to some examples.

[0014] Figure 9 is a flowchart of a method of providing a map-based GUI for a social media messaging application, according to some examples.

[0015] Figure 10 is a diagrammatic representation of a machine in the form of a computer system according to some examples within which a set of instructions may be executed, for causing the machine to perform any one or more of the methodologies discussed herein.

[0016] Figure 11 is a block diagram illustrating a software architecture in which examples may be implemented.

[0017] Figure 12 is a diagrammatic representation of a processing environment according to some examples. DETAILED DESCRIPTION

[0018] The present disclosure provides a representation of a user in a geographic map-based graphical user interface (GUI) by combining icons that include both a user icon (e.g., an anthropomorphic avatar) and a status indicator regarding the user's current state. In some embodiments, the user icon can be an expressive icon that represents the user with specific facial expressions (e.g., happy, sad, curious, excited, etc.) or performing specific physical actions (e.g., driving, listening to music, dining, etc.). In this case, the resulting combined expressive icon visually conveys two or more aspects of the user's current emotional state, activity, environment, and state.

[0019] Some embodiments particularly describe a map-based GUI for a social media platform or application to allow a user to access map-based location information using an expressive icon with a status indicator for the user. Figures 7A to 9 Various systems, methods, instructions, and user interface details are described for generating such expressive icons with status indicators and presenting them in a map-based GUI.

[0020] For example, in some embodiments, the social networking system is authorized by the user and user-selectable settings to track the location of the user's device and share this information with other users. A map-based GUI with information about the device's location can be presented to the user on a display of the user's client device. Expressive icons with specific user characteristics are a way to easily present more information than just the user's location via a map. As previously mentioned, an example of such an expressive user icon is an avatar selected and configured by the user to visually represent the user (e.g., an emoticon customized to have the gender, hair color and style, facial features, etc. of a specific user), and which visually expresses a specific emotion, psychological condition, action, or a combination of these. Thus, in some embodiments, the expressive icon can be an avatar of the user celebrating, an angry avatar, an avatar skateboarding, an avatar dining, and the like.

[0021] The present disclosure provides instant visual communication of more information about a user by displaying a status indicator that indicates the user's current status in conjunction with a user icon. Thus, in some embodiments, a status indicator is used in conjunction with an expressive icon to generate a combined expressive icon. In some examples, the status indicator is a text-based indication of the user's current status. Thus, in some example embodiments, the status indicator can convey in textual form: what the user is currently doing; whether the user is available to communicate online; the user's current mood, feeling, or psychological state; and so on. In some embodiments, the text-based status indicator is stylized in a manner that reflects the content of the text. It should be understood that such a combined expressive icon allows for significantly more complex and richer information to be conveyed than with only a user icon or an expressive user icon.

[0022] In some embodiments, the combined expressive user icon is an interactive user interface (UI) element that is selectable to trigger or facilitate a direct action specifically associated with the status indicator. In such embodiments, different status indicators that can be used in combination with the expressive user icon can have different corresponding direct actions that can be accessed by selecting the resulting combined expressive icon. In one embodiment, for example, a sleep state indicator in the combined icon is selectable to automatically initiate communication with a do not disturb element (e.g., to communicate after the expected sleep period ends). In another example, an activity indicator in the combined icon automatically initiates directions to the activity in a map interface, thereby displaying route information to guide the user to the corresponding activity. In such a system that displays an icon for device location, the information conveyed in the map interface can be significantly expanded by the techniques disclosed herein, and user interface actions customized for associated status indicators and activities can be reduced by linking actions available for the state indicated by the combined map icon.

[0023] Thus, the embodiments described herein improve the operation of client devices presenting map-based GUIs by increasing the density of information presented in the GUI. Furthermore, by providing a customization interface that can be activated by interacting with a combined user icon, a streamlined flow of additional functionality and user operations is provided within the map interface, wherein the actions associated with the map icon are customized for the status indicators used for the combined icon. By providing different icons with different associated actions, users can perform actions more quickly and with less input, while allowing the icons to present relevant complex information by combining expressive user representations (e.g., avatars) with status indicator data.

[0024] Such a map-based GUI may include composite icons for many different user accounts, wherein each icon represents the approximate location of the user's friends or devices connected to the account in the social network graph. The corresponding composite expressive icons may be displayed for each user, wherein a customized action interface for each icon is accessible via a status indicator for each composite icon.

[0025] In some embodiments, the expressive user icon and status indicator that together form a combined expressive icon are fully user-selectable, where the user selects a particular expressive icon from a plurality of icon options presented in an icon selection interface, and the user selects a particular status indicator from a plurality of status indicator options presented in a status selection interface.

[0026] Alternatively or additionally, one or both of the expressive icons and status indicators may be automatically selected based on contextual data associated with the relevant client device. For example, based on identification of travel speed and location coincident with a road, an expressive icon may be automatically selected to show an avatar driving a vehicle. Similarly, in one example embodiment, identifying the client device as being located in a restaurant automatically triggers selection of an expressive icon showing an avatar with dining utensils. Alternatively or additionally, in some example embodiments, such contextual data is used to automatically select one or both of a subset of expressive icons displayed in an icon selection interface and a subset of status indicators presented in a status selection interface. For example, identifying the user as being located in a restaurant automatically results in presentation of a plurality of expressive icons specifically related to food or dining in the icon selection interface.

[0027] Figure 11 is a block diagram illustrating an example messaging system 100 for exchanging data (e.g., messages and associated content) over a network. The messaging system 100 includes multiple instances of client devices 102, each hosting multiple applications including a messaging client application 104. Each messaging client application 104 is communicatively coupled to other instances of the messaging client application 104 and a messaging server system 108 via a network 106 (e.g., the Internet).

[0028] The message client application 104 is capable of communicating and exchanging data with another message client application 104 and a message server system 108 via the network 106. The data exchanged between the message client applications 104 and between the message client applications 104 and the message server system 108 includes functions (e.g., commands to activate functions) and payload data (e.g., text, audio, video, or other multimedia data).

[0029] The message server system 108 provides server-side functionality to specific message client applications 104 via the network 106. Although certain functionality of the message system 100 is described herein as being performed by the message client application 104 or by the message server system 108, the location of certain functionality within the message client application 104 or the message server system 108 may be a design choice. For example, it may be technically preferable to initially deploy certain technologies and functionality within the message server system 108 but later migrate the technologies and functionality to the message client application 104 on the client device 102, where the client device 102 has sufficient processing power.

[0030] The message server system 108 supports various services and operations provided to the message client applications 104. Such operations include sending data to the message client applications 104, receiving data from the message client applications 104, and processing data generated by the message client applications 104. By way of example, this data may include message content, client device information, geographic location information, media enhancements and overlays, message content persistence conditions, social network information, and live event information. The exchange of data within the message system 100 is activated and controlled by functionality available through the user interface (UI) of the message client applications 104.

[0031] Turning now specifically to the message server system 108, an application program interface (API) server 110 is coupled to an application server 112 and provides a programming interface to the application server 112. The application server 112 is communicatively coupled to a database server 118, which facilitates access to a database 120 that stores data associated with messages processed by the application server 112. Similarly, a web server 124 is coupled to the application server 112 and provides a web-based interface to the application server 112. To this end, the web server 124 handles incoming network requests via the Hypertext Transfer Protocol (HTTP) and several other related protocols.

[0032] The API server 110 receives and sends message data (e.g., commands and message payloads) between the client device 102 and the application server 112. Specifically, the API server 110 provides a set of interfaces (e.g., routines and protocols) that the messaging client application 104 can call or query to activate functionality of the application server 112. The API server 110 exposes various functionality supported by the application server 112, including account registration, login functionality, sending messages from a particular messaging client application 104 to another messaging client application 104 via the application server 112, sending media files (e.g., images or videos) from a messaging client application 104 to a messaging server application 114 for possible access by another messaging client application 104, setting up collections of media data (e.g., stories), retrieval of a friend list of a user of the client device 102, retrieval of such collections, retrieval of messages and content, adding and removing entities (e.g., friends) from an entity graph (e.g., a social graph), the location of friends within the social graph, and open application events (e.g., involving the messaging client application 104).

[0033] The application server 112 hosts a number of applications and subsystems, including a message server application 114, an image processing system 116, and a social networking system 122. The message server application 114 implements a number of message processing technologies and functions, particularly those related to the aggregation and other processing of content (e.g., text and multimedia content) included in messages received from multiple instances of the message client application 104. As will be described in further detail, text and media content from multiple sources can be aggregated into content collections (e.g., referred to as stories or galleries). These collections are then made available to the message client applications 104 by the message server application 114. Given the hardware requirements for such processing, other processor- and memory-intensive data processing may also be performed on the server side by the message server application 114.

[0034] The application server 112 also includes an image processing system 116 that is dedicated to performing various image processing operations, typically on images or videos within the payload of messages sent from the messaging server 114 or received at the messaging server application 114 .

[0035] The social networking system 122 supports various social networking functions and services and makes these functions and services available to the message server application 114. To this end, the social networking system 122 maintains and accesses the entity graph 304 (e.g., Figure 3 ). Examples of functionality and services supported by the social networking system 122 include identifying other users of the messaging system 100 with whom a particular user has relationships or that a particular user "follows," and also identifying interests and other entities of a particular user.

[0036] The application server 112 is communicatively coupled to a database server 118 , which facilitates access to a database 120 in which data associated with messages processed by the message server application 114 is stored.

[0037] Figure 2 1 is a block diagram illustrating further details about the messaging system 100 according to some examples. Specifically, the messaging system 100 is shown to include a messaging client application 104 and an application server 112, which in turn contain a number of subsystems, namely, a transient timer system 202, a collection management system 204, and a timer system 206.

[0038] The transient timer system 202 is responsible for implementing temporary access to content permitted by the message client application 104 and the message server application 114. To this end, the transient timer system 202 incorporates multiple timers that selectively display messages and associated content and enable access to the messages and associated content via the message client application 104 based on durations and display parameters associated with the message or collection of messages (e.g., a story). Additional details regarding the operation of the transient timer system 202 are provided below.

[0039] The collection management system 204 is responsible for managing collections of media (e.g., collections of text, image, video, and audio data). Collections of content (e.g., messages including images, videos, text, and audio) can be organized into "event galleries" or "event stories." Such collections can be made available for a specified time period, such as the duration of the event to which the content is related. For example, content related to a concert can be made available as a "story" for the duration of the concert. The collection management system 204 can also be responsible for publishing an icon to the user interface of the messaging client application 104 that provides notification of the existence of a particular collection.

[0040] The collection management system 204 also includes a curation interface 208 that allows a collection manager to manage and curate specific collections of content. For example, the curation interface 208 enables an event organizer to curate a collection of content related to a specific event (e.g., removing inappropriate content or redundant messages). In addition, the collection management system 204 employs machine vision (or image recognition technology) and content rules to automatically curate content collections. In some examples, users may be paid compensation for including user-generated content in a collection. In such cases, the curation management system 204 operates to automatically pay such users for use of their content.

[0041] The enhancement system 206 provides various functions that enable users to enhance (e.g., annotate or otherwise modify or edit) media content associated with a message. For example, the enhancement system 206 provides functions related to generating and publishing media overlays for messages processed by the messaging system 100. The enhancement system 206 is operable to supply media overlays or enhancements (e.g., image filters) to the messaging client application 104 based on the geographic location of the client device 102. In another example, the enhancement system 206 is operable to supply media overlays to the messaging client application 104 based on other information (e.g., social network information of the user of the client device 102). Media overlays can include audio and visual content and visual effects. Examples of audio and visual content include pictures, text, logos, animations, and sound effects. Examples of visual effects include color overlays. Audio and visual content or visual effects can be applied to media content items (e.g., photos) at the client device 102. For example, a media overlay can include text that can be overlaid on a photo taken by the client device 102. In another example, the media overlay includes an overlay identifying a location (e.g., Venice Beach), the name of a live event, or a business name (e.g., Beach Cafe). In another example, the enhancement system 206 uses the geographic location of the client device 102 to identify a media overlay including the name of a business at the geographic location of the client device 102. The media overlay may include other tags associated with the business. The media overlay may be stored in the database 120 and accessed through the database server 118.

[0042] In one example, the enhancement system 206 provides a user-based publishing platform that enables a user to select a geographic location on a map and upload content associated with the selected geographic location. The user can also specify the context in which a particular media overlay should be provided to other users. The enhancement system 206 generates a media overlay that includes the uploaded content and associates it with the selected geographic location.

[0043] In another example, the enhancement system 206 provides a merchant-based publishing platform that enables merchants to select specific media coverage associated with a geographic location through a bidding process. For example, the enhancement system 206 associates the media coverage of the highest bidding merchant with the corresponding geographic location for a predefined amount of time.

[0044] Figure 3 is a diagram illustrating a data structure 300 that may be stored in database 120 of message server system 108 according to certain examples. Although the contents of database 120 are shown as including a plurality of tables, it should be understood that data may be stored in other types of data structures (e.g., as an object-oriented database).

[0045] The database 120 includes message data stored in a message table 314. The entity table 302 stores entity data, including an entity graph 304. The entities for which records are stored in the entity table 302 may include individuals, corporate entities, organizations, objects, places, events, etc. Regardless of type, any entity for which the message server system 108 stores data may be an identified entity. Each entity is provided with a unique identifier, as well as an entity type identifier (not shown).

[0046] The entity graph 304 also stores information about relationships and associations between entities. By way of example only, such relationships may be based on social, professional (e.g., working in a common company or organization) interests or based on social, professional activities.

[0047] Database 120 also stores enhancement data, such as overlays or filters, in enhancement table 312. Enhancement data is associated with and applied to videos (for which data is stored in video table 310) and images (for which data is stored in image table 308).

[0048] In one example, a filter is an overlay that is displayed over an image or video during presentation to a recipient user. Filters can be of various types, including filters that a user selects from a set of filters presented to a sender user by the messaging client application 104 while the sender user is composing a message. Other types of filters include geolocation filters (also known as geofilters), which can be presented to a sender user based on a geographic location. For example, a geolocation filter specific to a nearby or special location can be presented within the user interface by the messaging client application 104 based on geographic location information determined by a global positioning system (GPS) unit of the client device 102.

[0049] Another type of filter is a data filter, which can be selectively presented to the sender user by the messaging client application 104 based on other input or information collected during the message creation process by the client device 102. Examples of data filters include the current temperature at a particular location, the current speed at which the sender user is traveling, the battery life of the client device 102, or the current time.

[0050] Other augmented data that can be stored in the image table 308 include augmented reality content items (eg, corresponding to application lenses or augmented reality experiences). Augmented reality content items can be real-time special effects and sounds that can be added to images or videos.

[0051] As described above, augmented data includes augmented reality content items, overlays, image transformations, AR images, and similar items that involve modifications that can be applied to image data (e.g., video or images). This includes real-time modifications that modify the image as it is captured using the device sensors (e.g., one or more cameras) of the client device 102 and then displaying the image with the modifications on the screen of the client device 102. This also includes modifications to stored content (e.g., video clips in a gallery that can be modified).

[0052] As mentioned above, video table 310 stores video data, which, in one example, is associated with messages whose records are maintained within message table 314. Similarly, image table 308 stores image data associated with messages whose message data is stored in entity table 302. Entity table 302 may associate various enhancements from enhancement table 312 with the various images and videos stored in image table 308 and video table 310.

[0053] The story table 306 stores data about a collection of messages and associated images, videos, or audio data, compiled into a collection (e.g., a story or gallery). The creation of a particular collection can be initiated by a particular user (e.g., each user whose record is maintained in the entity table 302). A user can create a "personal story" in the form of a collection of content that has been created and sent / broadcasted by the user. To this end, the user interface of the messaging client application 104 may include an icon that the user can select to enable the sending user to add specific content to his or her personal story.

[0054] A collection may also constitute a "Live Story," which is a collection of content from multiple users that is created manually, automatically, or using a combination of manual and automatic techniques. For example, a "Live Story" may constitute a curated stream of user-submitted content from different locations and events. Users whose client devices have location services enabled and who are at a common location event at a particular time may be presented with an option to contribute content to a particular Live Story, for example, via the user interface of the messaging client application 104. Live Stories may be identified to a user by the messaging client application 104 based on his or her location. The end result is a "Live Story" told from a community perspective.

[0055] Another type of content collection is called a "location story," which enables users whose client devices 102 are located within a particular geographic location (e.g., on a college or university campus) to contribute to a particular collection. In some examples, contributions to location stories may require secondary authentication to verify that the end user belongs to a particular organization or other entity (e.g., is a student on a university campus).

[0056] Figure 4 is a schematic diagram illustrating the structure of a message 400 generated by a message client application 104 for transmission to another message client application 104 or a message server application 114, according to some examples. The content of a particular message 400 is used to populate a message table 314 stored within a database 120 accessible to the message server application 114. Similarly, the content of the message 400 is stored in memory as "in-flight" or "in-transit" data of the client device 102 or application server 112. The message 400 is shown as including the following components:

[0057] Message identifier 402 : a unique identifier that identifies the message 400 .

[0058] Message text payload 404 : text to be generated by the user via the user interface of the client device 102 and included in the message 400 .

[0059] Message image payload 406 : Image data captured by the camera component of the client device 102 or retrieved from the memory component of the client device 102 and included in the message 400 .

[0060] Message video payload 408 : Video data captured by the camera component or retrieved from the memory component of the client device 102 and included in the message 400 .

[0061] Message audio payload 410 : audio data captured by a microphone or retrieved from a memory component of the client device 102 and included in the message 400 .

[0062] Message enhancement 412 : Enhancement data representing an enhancement (eg, a filter, sticker, or other enhancement) to be applied to the message image payload 406 , the message video payload 408 , or the message audio payload 410 of the message 400 .

[0063] Message duration parameter 414: A parameter value indicating the amount of time, in seconds, that the content of the message (eg, message image payload 406, message video payload 408, message audio payload 410) will be presented or made accessible to the user via the messaging client application 104.

[0064] Message geolocation parameter 416: Geolocation data (e.g., latitude and longitude coordinates) associated with the content payload of the message. Multiple message geolocation parameter values ​​416 may be included in the payload, with each of these parameter values ​​being associated with a content item included in the content (e.g., a specific image within message image payload 406 or a specific video within message video payload 408).

[0065] Message story identifier 418: An identifier value that identifies one or more content collections (e.g., "story") associated with a particular content item in the message image payload 406 of the message 400. For example, multiple images within the message image payload 406 may each be associated with multiple content collections using an identifier value.

[0066] Message tags 420: Each message 400 can be tagged with a plurality of tags, each of which indicates the subject matter of the content included in the message payload. For example, if a particular image included in the message image payload 406 depicts an animal (e.g., a lion), a tag value can be included within the message tags 420 indicating the relevant animal. The tag value can be manually generated based on user input, or can be automatically generated using, for example, image recognition.

[0067] Message sender identifier 422: An identifier (eg, a messaging system identifier, an email address, or a device identifier) ​​that indicates the user of the client device 102 on which the message 400 was generated and from which the message 400 was sent.

[0068] Message recipient identifier 424: An identifier (eg, a messaging system identifier, an email address, or a device identifier) ​​that indicates the user of the client device 102 to which the message 400 is addressed.

[0069] The content (e.g., value) of various components of message 400 may be pointers to locations in a table storing content data values. For example, the image value in message image payload 406 may be a pointer to a location (or address of a location) within image table 308. Similarly, the value within message video payload 408 may point to data stored within video table 310, the value stored within message enhancement 412 may point to data stored within enhancement table 312, the value stored within message story identifier 418 may point to data stored in story table 306, and the values ​​stored within message sender identifier 422 and message recipient identifier 424 may point to user records stored within entity table 302.

[0070] Figure 5 An example embodiment of a social media messaging system 500 is shown that is configured to provide a map-based graphical user interface for a social media application, such as the map-based GUI 612 described below. In this example, the social media messaging system 500 is provided by the messaging system 100, wherein in various embodiments, the various described components of the system 500 are provided by the messaging client application 104, the application server 112, or a combination thereof. Thus, in some embodiments, the system 500 and its associated components may be provided by, for example, the messaging server system 108 ( Figure 1 ) is provided on the server side. In this case, the various components of the system 500 can be provided by executing the message server application 114 on the application server 112. In other embodiments, for example, by Figure 1 ) executes the message client application 104 on the client side to provide one or more components of the system 500. In other embodiments, the system 500 is provided cooperatively on the server side and the client side, and the application server 112 and the client device 102 communicating with the application server 112 are configured to provide corresponding system components by executing the message client application 104 on the client device 102 and by executing the message server application 114 on the application server 112.

[0071] The system 500 includes a map engine 508 for generating a map-based GUI, including location-based social media information displayed in the map-based GUI. Thus, the map engine 508 is configured to receive map data and, based on the map data, facilitate generation of a map 618 in a map viewport 621 (e.g., an area of ​​a display used for map presentation) of the client device 102. To this end, the map engine 508 may be configured with a user icon mechanism 540 to surface and cause display of specific icons, as well as to generate, identify, and cause display of user icons (e.g., see FIG. 7 and FIG. 8 ). Figure 8Combination expressive icons described).

[0072] As part of the operation of the mapping engine 508, an icon identifying the location of a device associated with a friend account can be generated and provided to the device for inclusion in a map-based GUI. Such a system can be used to provide complex information about a user's status by combining expressive icons (e.g., a flat, two-dimensional representation or avatar that can include a representation of the user's face and different or expressive facial expressions and / or can show an avatar as a user performing a specific physical action) with status indicators (e.g., conveying a contact's availability, a do-not-disturb indicator, an activity indicator, a notification of upcoming activity, or other complex status information). Having different facial expressions means facial expressions configured to signal specific associated emotions or mental conditions. For example, two different expressive icons combined with the same status indicator (e.g., one expressing sadness and another expressing excitement) can convey more complex or multi-layered information about the user than can be achieved using user icons alone. Thus, the use of expressive icons with status indicators via the user icon mechanism 540 enables the efficient communication of complex information within a map-based GUI. This information can be conveyed for multiple different users within the same compact screen space.

[0073] The map engine 508 can place friend icons on a map based on location information based on user privacy and location sharing preferences. Such icons can provide complex details about users in the map interface, as well as implement customized actions based on a specific combination of expressive icons and status indicators for each user. Additional details about such actions are described below and can include access to the time associated with the location data (e.g., how many minutes have passed since the location data was collected), icon display, details about group interactions with friend accounts, links to other interfaces related to the friend account associated with the friend icon (e.g., chat, content collection, shared gallery photos, etc.), or other such actions.

[0074] The system 500 also includes a content management system (CMS) 524. In this example embodiment, the CMS 524 provides an administrative interface that enables an operator to manage content, for example, by defining various attributes of different locations and / or event stories. In this example embodiment, the CMS 524 may include the content management system (CMS) 524 as previously described. Figure 2The collection management system 204 of the embodiment of the present invention is configured to automatically or semi-automatically compile a corresponding social media gallery or content collection (e.g., story). This may include an interface or an interface including a curation or moderation tool in conjunction with the server-side curation interface 208. In this example embodiment, the CMS 524 also enables an administrator to define a set of expressive icons and a set of status indicators that can be selected by the user to form a customized combined expressive icon.

[0075] The system 500 also includes a user location mechanism 537 that is configured to determine the respective user locations, indicated in this example embodiment by the respective device locations, to determine for each user specific friend users that can be viewed via a map-based GUI, and to provide for displaying associated user icons at corresponding display locations. In some embodiments, the user location mechanism 537 includes a user location data store as part of the server system 108 and a per-user access control list (ACL) that lists the specific friend users that can be viewed by each user. In some embodiments, the per-user ACL specifies a respective viewing level granularity for each viewable user. In such an example embodiment, the user location mechanism 537 is additionally configured to determine and manage the respective user display granularity. This includes calculating an imprecise display location for some users and causing the corresponding user icons to be displayed at the imprecise display location.

[0076] Figure 6 An example embodiment of a map-based graphical user interface (also referred to as a map-based GUI 612) displayed on a client device 102 in the example form of a mobile phone is shown. In this example embodiment, the map-based GUI 612 is generated on a display in the form of a touch screen 606 capable of receiving tactile input. The map-based GUI 612 includes an interactive map 618 that shows a stylized aerial or satellite representation of a specific geographic area. The map 618 is displayed within a map viewport 621, which, in this example embodiment, uses the entire available area of ​​the touch screen 606. In other example embodiments, the map viewport 621 can be an interface panel or window within a larger display. The map-based GUI 612 also includes a plurality of user-selectable graphical user interface elements displayed at specific corresponding geographic locations on the map 618. In this example embodiment, each such geographically anchored GUI element is represented by a corresponding marker or icon overlaid on the map 618. The map-based GUI 612 may also include one or more information overlays presented on the underlying geographic map 618 , including, in this example embodiment, a heat map 625 representing the geographic distribution of underlying social media activity on the social media platform provided by the associated social media application.

[0077] As mentioned, the map-based GUI 612 includes a plurality of different user-selectable icons or UI elements that indicate different geographic-based content or information. In this example embodiment, the map-based GUI 612 includes a plurality of different gallery icons, also referred to in this description as "story icons." Each story icon corresponds to a corresponding location-based social media gallery or collection in its location on the map 618. Figure 6 In an example embodiment, the map-based GUI 612 includes a place icon 631 (with an associated place tag 635) for the place gallery / stories, and a spike icon 633 for the spike gallery / stories, which is dynamically surfaced on the map-based GUI 612 based on one or more metrics of underlying social media activity related to submitting social media content to the social media platform, wherein the geo-tag data indicates the corresponding associated geographic area.

[0078] The map-based GUI includes a graphical representation of the associated locations of the user associated with the client device 102 and other users (e.g., friend devices or devices for associated accounts visible through location data of a social media platform), each represented by a corresponding user icon 640 or friend icon 640 (for users who are members of the in-application social graph associated with the viewing user). The user icons 640 are displayed on the map-based GUI 612 based on the current or last known geographic location of each of the user's friends associated with the client device 102. Note that Figure 6 For describing the broad functionality of a map-based GUI for a messaging system consistent with the present disclosure, but Figure 6 The user icon 640 is a simple facial avatar that does not include a status indicator consistent with the combined user icons as disclosed herein. Figure 6 In the example of , the user is not provided with the option to select a custom expressive avatar from a plurality of different expressive avatar options, as described in accordance with the present disclosure and in the following Figures 7A to 9 The user icon 640 is also not as disclosed herein and as shown in the user interface of the present invention. Figures 7A to 9 A combined user icon is illustrated in the user interface of .

[0079] If a user of the social media platform has never interacted with the map-based GUI 612, they will not share their location. The first time a user interacts with the map-based GUI 612, the user is taken through an onboarding process that allows them to set their personal location sharing preferences. The user can also select different groups of other users as friend accounts for location sharing via the location sharing preferences interface. In some embodiments, the user can specify different display attributes for different corresponding groups or different corresponding individuals, as well as select icons to represent the user in the map of friend accounts. If all friend accounts are selected for location sharing, all new people added to the user's friend list will automatically be able to see their location, consistent with the level of granularity selected by the user in the system settings. When viewing the map-based GUI, the user will therefore be able to see the locations of all of his / her friends who have shared their location with him / her on the map 618. As discussed, in this example embodiment, each user is represented by a corresponding user icon 640.

[0080] The user can access content published from anywhere in the world via the map-based GUI 612. This can be achieved by navigating to different geographic areas displayed within the map viewport 621. In particular, the displayed geographic area can be changed by zooming in or out and by moving the focus area of ​​the map viewport 621. The map-based GUI 612 is provided on the touch screen 606, where zooming in and out can be achieved through tactile gestures in the form of pinching or pinching tactile inputs. Movement of the map 618 within the map viewport 621 to change the displayed geographic area is achieved through a tactile drag gesture at any point on the map 618.

[0081] It should be understood that the map-based GUI 612 is dynamic in that the information displayed therein changes dynamically over time. New information may be triggered or periodically provided to the system and distributed to the client application 104. The underlying social media items based on which the icons 631, 633, 640 appear and the heat map 625 are generated may further continuously change due to the expiration of the availability data associated with the icons.

[0082] Figures 7A to 7J is with reference Figure 6The depicted map-based GUI 612 is similar to the view of the map-based GUI 612, but additionally provides functionality for generating and displaying composite expressive icons to represent various user locations on the interactive map 720 provided by the map-based GUI 612. In some implementations, the viewport in which the map 720 is displayed may be the entire area of ​​a display device of the client device 102. In other implementations, the viewport is an area of ​​the display designated for map presentation, with other areas designated for other purposes.

[0083] Figure 7A 6 shows aspects of an icon selection interface provided by the map-based GUI 612 for selecting an expressive icon to form part of a composite expressive icon representing a user on a map 720. The icon selection interface includes a portion of the map 720, status information 722, and options for query-based filtering of expressive icon options (as well as options for selecting an expressive icon in a manner such as a map 720). Figure 7H In the state selection interface in the embodiment, the search input mechanism 740 for query-based filtering of the state indicator options, and as for Figure 6 The additional map-based GUI information discussed. In this example embodiment, the social media messaging system 500 ( Figure 5 ) to provide an icon selection interface, the social media messaging system 500 includes a map engine 508 having a user icon mechanism 540 to allow a user to select icon information to be displayed as part of a map-based GUI 612 provided by the system 500.

[0084] The icon selection interface displays a plurality of different expressive icons 732, from which the user can select a particular expressive icon 732 to represent the user in the GUI 612. In this example embodiment, the expressive icon 732 is provided by an avatar customized by the user to correspond in appearance to the user. However, different expressive icons 732 have different corresponding facial expressions, body postures, body movements, or combinations thereof. Thus, each of the different expressive icons 732 provides different corresponding visual information about the first user, such as an activity, emotional state, or aspects of the user's current state, context, or activities. In the icon selection interface displayed in the viewport of the first user's device, the first user can select an expressive icon 732, which is then displayed at a location 730 within the map 720. The icon is forwarded to the devices of other users, causing the expressive icon 732 selected by the first user to be displayed in the map-based GUIs of other devices authorized to view the first user's location.

[0085] In addition to the expressive icon 732, the current example embodiment provides for the generation and display of a combined expressive icon that combines the expressive icon 732 with a visual display of status information in the form of a status indicator 734 (e.g., a sticker or animation showing the status information) to convey more complex information via the map interface than is conveyed via the expressive icon 732 alone. Figures 7B to 7F 735 (see FIG. Figure 7I ) for use within the map-based GUI 612. In this example embodiment, each status indicator 734 provides a status indication through stylized text.

[0086] In this example embodiment, when the combined expressive icon 735 generated based on the status indicator is presented in the map-based GUI, the status indicator 734 not only directly conveys information (e.g., through corresponding text), but also is associated with a specific corresponding UI action. For example, the status indicator 734A is associated with a chat action, so that the icon 732 combined with the status indicator 734A generates a combined icon 735, which, when selected as part of the map-based interface, automatically opens a communication interface (e.g., a chat interface) for interacting with the user associated with the combined icon 735. Thus, the status indicator 734 provides a user-selectable user interface element to initiate a specific associated action or interface.

[0087] When the user can combine the forms of the expressive icon 735 (e.g., Figure 7H and Figure 7I In other example status indicators selected in the state selection interface shown in FIG, status indicator 734B and 734E can be associated with automatic " do not disturb " message separately, and the user that indication is associated with resulting combination icon 735 does not respond to message at present, but expection will start to respond on the date or time of selection. Similarly, status indicator 734C, 734D and 734F are associated with the activity at specific location. Can select to comprise the combination icon 735 of such status indicator to directly initiate action in GUI 612 based on map, for example, be provided to the location currently associated with the user or at the direction to expected location at specific time. For example, status indicator 734C can be automatically linked to the electronic invitation to event, and this electronic invitation indicates start and end time, and the direction to event.

[0088] Figure 7HThe state selection interface provided by the map-based GUI 612 is shown for selecting a state indicator 734 to be combined with the selected expressive icon 732 for the user to generate a combined expressive icon 735. In this example embodiment, the map-based GUI provides an automated combined icon selection process in which the state indicator 734 is combined with the selected expressive icon 732 to generate a combined expressive icon 735 for the user. Figure 7A After selecting the expressive icon 732 in the icon selection interface, the Figure 7H The status selection interface is displayed.

[0089] In this example embodiment, the state selection interface shows a map 720 with a selected expressive icon 732 at a location 730 for a user associated with the client device on which the interface is generated. Figure 7H The state selection interface presents multiple state indicator options. The area associated with the multiple candidate state indicators 734 can be scrolled via a sliding input to display additional options of selectable state indicators to be combined with the expressive icon 732. Each state indicator 734 can be a static sticker graphic, or can be an animation. In some embodiments, the state indicator 734 for a particular state can be both a static sticker graphic and an animation, with various additional information to be used depending on the settings of the display device. For example, one display device can disable the state animation associated with the state indicator information, while another display device can enable the animation, so that the same combined expressive icon 735 can be presented in different forms at different client devices depending on the options selected for the particular device.

[0090] Similarly, different zoom levels or information densities in a particular display of map data may present the combined expressive icon 735 in different formats. For example, at one density level, only the face of the associated avatar may be presented, with the full expressive icon 732 (e.g., expressive icon 732) presented as the information density in the map-based GUI decreases, and the full combined expressive icon (e.g., combined expressive icon 735) displayed with both the expressive icon and status stickers or animations when that information does not conflict with other map data information in the map-based GUI 612.

[0091] When a particular indicator of the status indicator 734 is selected, such as Figure 7IAs shown, a combined expressive icon 735 can be used for display in the map 720. In various embodiments, the status information 722 of the device displaying the map 720 can affect both the display and the selection process in various ways. For example, the expressive icons 732 and status indicators 734 presented for selection within various selection interfaces can be sorted or modified based on the status information 722. For example, if the user device is identified as being located in a restaurant, the status information 722 can reflect this, with the expressive icon 732 options for selection being sorted or selected from a superset of expressive icon options to prioritize and present expressive icons related to dining. Similarly, the status indicator options presented for selection can also be sorted or filtered to emphasize or be relevant to the status information 722.

[0092] In addition, as described above, certain status indicators 734 may be associated with different actions. When status information 722 identifies the status as being in a restaurant, one status indicator 734 option may be associated with a do not disturb action, while another status indicator option may be associated with an invitation to join the user at the restaurant before a certain time.

[0093] Figure 7J An example of an interactive map 720 of the GUI 612 is shown, which includes user icons from various different users at different client devices. The map 720 includes both background map information and status information 722 of the user to whom the map 720 is displayed, as well as corresponding user icons of the user's friends within the social media platform provided by the system 500. For example, a combined expressive icon 735 of a user associated with a viewing device is shown in the center of the screen at a location associated with the user's device. Two other combined expressive friend icons 741 and 742 are also shown at locations associated with the devices of various friend users that the user can view.

[0094] Combined expressive friend icon 741 includes expressive icons representing associated friends and status indicator information shown as animation above the expressive icons to generate combined expressive icon 741 at a location within map 720. Friend icon 751 is an expressive icon without a status indicator, i.e., a non-combined expressive icon.

[0095] In this example, selecting any of the friend icons in the map triggers a specific corresponding GUI action associated with that icon. For example, selection of icon 751 triggers the display of (a) information about the associated friend account, (b) a do-not-disturb message due to the user driving, and (c) the expected arrival and destination of the friend associated with user icon 751. Selection of combined expressive icon 741 automatically launches a chat interface with the associated friend, and selection of combined expressive icon 742 indicates that the associated friend is drinking coffee at a specific location until a specific time.

[0096] If a combined expressive icon 735 providing a visual representation of a user account associated with the device displaying interactive map 720 is selected, an option to update the icon or status indicator information automatically appears. In this example embodiment, such selection of the combined expressive icon 735 initiates the combined icon selection process described above. When the user's user representation data is updated accordingly, an operation occurs to locally update the user representation data indicating the combined expressive icon 735 on the user device, and the updated information is also transmitted to the server computer of the server system. The server system can then distribute this information to accounts within the social graph of the initial user that are authorized to own the initial user's location and combined icon.

[0097] In some embodiments, conflicts may occur between images and icons associated with different friend accounts displayed in a map-based GUI. Various embodiments can resolve such conflicts of image overlap in different ways. In one embodiment, image overlap can be allowed. Priority (e.g., top) placement can be determined by proximity to the center of the viewport, friend account ranking based on recent communications or frequency of communications with friend accounts whose images conflict in the map-based GUI, or other such priority mechanisms. In embodiments where a large amount of information is presented as additional automatic pop-up information, such information can be shortened or truncated in the event of a conflict. In some embodiments, icons and images can be gathered or clustered to form a joint image or joint icon.

[0098] Figure 8 A method 800 for using a combined expressive icon according to embodiments described herein is described. In some embodiments, the method 800 is performed by a computing device having one or more processors, in this example embodiment by the messaging system 500 ( Figure 5 In some embodiments, method 800 is embodied in computer-readable instructions stored in a non-transitory storage device, such that when the instructions are executed by one or more processors of a device, the device performs method 800. Other embodiments may be implemented using any acceptable format or instantiation.

[0099] Method 800 begins at operation 802 by accessing, using one or more processors of a computing device, user representation data of a user for which a map-based GUI is to be generated on a client device of the user. The user representation data in this example indicates: (a) location information indicating a geographic location of a particular client device associated with the user; (b) a user icon configured to provide a visual representation of the user (e.g., an expressive icon selected by the user, such as Figure 7H (c) a status indicator configured to provide a visual indication of a current status associated with the user (e.g., Figure 7G The location information may be automatically generated by the client device's positioning circuitry (e.g., GPS circuitry or other positioning system). The icon information and status indicator information may be selected by a user using a map-based GUI as described above. Operation 804 then involves one or more computer processor devices of system 500 accessing map data associated with the geographic location indicated by the location information. The map data may be accessed based on the indicated location and used to generate a map graphic for display in the map-based GUI with the icon information.

[0100] Then, at operation 806, the method causes a map-based GUI to be generated for the social media platform on a first client device (in this example, a client device associated with the user account to which the map-based GUI is to be displayed) (e.g., referring to Figures 7A to 7J At operation 808, the system causes a combined icon to be displayed on the interactive map at a display location based on the indicated geographic location, the combined icon including the user icon and a status indicator (e.g., Figure 7J , the combined expressive icon 735 indicates the user's location in the interactive map 720), thereby visually representing the current status on the interactive map.

[0101] Some embodiments operate where selection of a combined expressive icon causes presentation on a display of first corresponding contextual information for an account associated with the combined expressive icon associated with the account. Some embodiments operate where selection of a combined expressive icon initiates an action associated with a status indicator used to generate the combined expressive icon. In some such embodiments, the action is selected from a map direction action, a chat interface display action, a message interface action, and a do not disturb response action. In other embodiments, the status indicator and action are automatically selected by one or more processors based on the device state.

[0102] Some embodiments involve receiving user input on a touch screen at a first client device, the user input selecting icon information as a two-dimensional representation of a user associated with an account and the first client device, wherein the computing device is the first client device. Thus, this embodiment involves selection of an expressive icon and status indicator information by a user of the device, and display of the combined expressive icon at the device. Other embodiments may involve transmitting this information to other devices (e.g., via a server computer of a messaging system). Some such embodiments further operate by receiving a second user input on a touch screen at the first client device, the second user input selecting status indicator information from a plurality of status indicators that are part of a status selection interface. Other embodiments operate by receiving location information, icon information, and status indicator information from a second client device at a server computer, and transmitting a combined expressive icon and instructions from the server computer to the first client device to cause the combined expressive icon to be displayed in a map interface on the first client device.

[0103] Figure 9 A method 900 for using a combined expressive icon according to embodiments described herein is described. In some embodiments, the method 900 is performed by a computing device having one or more processors. In some embodiments, the method 900 is embodied in computer-readable instructions stored in a non-transitory storage device, such that when the instructions are executed by one or more processors of the device, the device performs the method 900. Other embodiments may be implemented using any acceptable format or instantiation.

[0104] Method 900 begins at operation 902, whereby, at a server computer, corresponding location information, corresponding icon information, and corresponding status indicator information are received from each of a plurality of client devices. Operation 904 then involves identifying, by one or more processors of the server computer, an account relationship that authorizes each of the plurality of client devices to share location with a first client device. Operation 906 involves transmitting, by the server computer, corresponding combined expressive icon information and corresponding location information for each of the plurality of client devices, along with instructions to display the combined expressive icon information at the corresponding location information in a map interface of the first client device.

[0105] Some embodiments operate where the corresponding combined expressive icon information for each of the client devices identifies a corresponding different action associated with an icon for each of the client devices in a map interface of the first client device. Other embodiments operate where the first action for a third client device among the plurality of client devices comprises an automatic do not disturb response action, wherein the second action for a fourth client device among the plurality of client devices comprises an automatic invite action with associated map directions for the map interface. In further embodiments, other types of actions can be initiated directly from the map-based GUI according to the various details described above.

[0106] Furthermore, while the operations of methods 800 and 900 are described above in a particular order, it will be apparent that these methods may be performed together as part of a system and that the operations may be repeated or may involve intervening operations in various different implementations.

[0107] In addition, some embodiments relate to a client device having a display screen, the client device being configured to display a map-based GUI on the screen, the map-based GUI including map data and one or more icons associated with a corresponding account of a messaging system. Each icon is displayed together with the map data at a location associated with the device for the account associated with the corresponding icon. In addition, at least a first icon of the one or more icons includes a combined expressive icon generated based on an expressive icon (e.g., a representation of a person reflecting a user of the account associated with the icon in a particular configuration) and status indicator information (e.g., text, image, or animation information describing a status). In some embodiments, the combined expressive icon can be selected to initiate an action associated with the status indicator information used to generate the combined expressive icon directly on the client device.

[0108] The description herein includes systems, methods, devices, techniques, instruction sequences, and computing machine program products that embody the illustrative embodiments of the present disclosure. In the description provided, for illustrative purposes, many specific details have been set forth to provide an understanding of the various embodiments of the present invention. However, it is apparent to those skilled in the art that the embodiments of the disclosed subject matter can be practiced without these specific details. Typically, known instruction instances, protocols, structures, and techniques are not necessarily shown in detail.

[0109] These systems, system components, methods, applications, etc. described in conjunction with the above embodiments can be implemented in the context of a machine and associated software architecture. The following section describes one or more representative software architectures and machine (e.g., hardware) architectures suitable for use with the disclosed embodiments.

[0110] Software architectures are used in conjunction with hardware architectures to create devices and machines configured for specific purposes. For example, a specific hardware architecture coupled with a specific software architecture will create a mobile device, such as a mobile phone, a tablet device, or the like. Slightly different hardware and software architectures can produce smart devices for the "Internet of Things," while another combination can produce server computers for use within a cloud computing architecture. The software and hardware architectures presented here are example architectures for implementing the present disclosure and are not intended to be exhaustive of possible architectures that can be used to implement the present disclosure.

[0111] The machine 1000 may include a processor 1002, a memory 1004, and input / output (I / O) components 1038 that may be configured to communicate with each other via a bus 1040. In an example, the processor 1002 (e.g., a central processing unit (CPU), a reduced instruction set computing (RISC) processor, a complex instruction set computing (CISC) processor, a graphics processing unit (GPU), a digital signal processor (DSP), an application specific integrated circuit (ASIC), a radio frequency integrated circuit (RFIC), other processors, or any suitable combination thereof) may include, for example, a processor 1006 that executes instructions 1008 and a processor 1010. The term "processor" is intended to include a multi-core processor that may include two or more independent processors (sometimes referred to as "cores") that may execute instructions concurrently. Although Figure 10 Multiple processors 1002 are shown, but the machine 1000 may include a single processor with a single core, a single processor with multiple cores (e.g., a multi-core processor), multiple processors with a single core, multiple processors with multiple cores, or any combination thereof.

[0112] The memory 1004 includes a main memory 1012, a static memory 1014, and a storage unit 1016, all of which are accessible by the processor 1002 via the bus 1040. The main memory 1012, the static memory 1014, and the storage unit 1016 store instructions 1008 for implementing any one or more of the methodologies or functions described herein. The instructions 1008 may also reside, completely or partially, within the main memory 1012, within the static memory 1014, within the machine-readable medium 1018 within the storage unit 1016, within at least one of the processors 1002 (e.g., within a cache memory of the processor), or within any suitable combination thereof during execution thereof by the machine 1000.

[0113] The I / O components 1038 may include various components for receiving input, providing output, generating output, transmitting information, exchanging information, capturing measurements, etc. The specific I / O components 1038 included in a particular machine will depend on the type of machine. For example, a portable machine such as a mobile phone may include a touch input device or other such input mechanism, while a headless server machine may not include such a touch input device. It should be understood that the I / O components 1038 may include Figure 10 Many other components are not shown in the drawings. In various examples, the I / O components 1038 may include user output components 1024 and user input components 1026. The user output components 1024 may include visual components (e.g., displays such as plasma display panels (PDPs), light emitting diode (LED) displays, liquid crystal displays (LCDs), projectors, or cathode ray tubes (CRTs)), acoustic components (e.g., speakers), tactile components (e.g., vibration motors, resistance mechanisms), other signal generators, etc. The user input components 1026 may include alphanumeric input components (e.g., keyboards, touch screens configured to receive alphanumeric input, optical keyboards, or other alphanumeric input components), point-based input components (e.g., mice, touch pads, trackballs, joysticks, motion sensors, or other pointing instruments), tactile input components (e.g., physical buttons, touch screens that provide location and force of touches or touch gestures, or other tactile input components), audio input components (e.g., microphones), etc.

[0114] In another example, the I / O component 1038 may include a biometric component 1028, a motion component 1030, an environmental component 1032, or a positioning component 1034, as well as various other components. For example, the biometric component 1028 includes components for detecting expressions (e.g., hand expressions, facial expressions, voice expressions, body postures, or eye tracking), measuring biosignals (e.g., blood pressure, heart rate, body temperature, sweat, or brain waves), identifying people (e.g., voice recognition, retinal recognition, facial recognition, fingerprint recognition, or electroencephalogram-based recognition), etc. The motion component 1030 includes an acceleration sensor component (e.g., an accelerometer), a gravity sensor component, and a rotation sensor component (e.g., a gyroscope). The environment component 1032 includes, for example, one or more cameras (with still image / photo and video capabilities), an illumination sensor component (e.g., a photometer), a temperature sensor component (e.g., one or more thermometers for detecting ambient temperature), a humidity sensor component, a pressure sensor component (e.g., a barometer), an acoustic sensor component (e.g., one or more microphones for detecting background noise), a proximity sensor component (e.g., an infrared sensor for detecting nearby objects), a gas sensor (e.g., a gas detection sensor for detecting concentrations of hazardous gases or measuring pollutants in the atmosphere for safety purposes), or other components that can provide indications, measurements, or signals corresponding to the surrounding physical environment. The positioning component 1034 includes a position sensor component (e.g., a GPS receiver component), an altitude sensor component (e.g., an altimeter or barometer for detecting air pressure, from which altitude can be derived), an orientation sensor component (e.g., a magnetometer), etc.

[0115] Various technologies can be used to implement communications. The I / O components 1038 also include a communications component 1036 that is operable to couple the machine 1000 to the network 1020 or device 1022 via corresponding couplings or connections. For example, the communications component 1036 may include a network interface component or other suitable device that interfaces with the network 1020. In other examples, the communications component 1036 may include a wired communications component, a wireless communications component, a cellular communications component, a near field communications (NFC) component, a Components (e.g. Low power consumption), Device 1022 may be another machine or any of a variety of peripheral devices (eg, a peripheral device coupled via USB).

[0116] In addition, the communication component 1036 can detect an identifier or include a component operable to detect an identifier. For example, the communication component 1036 can include a radio frequency identification (RFID) tag reader component, an NFC smart tag detection component, an optical reader component (e.g., an optical sensor for detecting one-dimensional bar codes such as Universal Product Code (UPC) bar codes, multi-dimensional bar codes such as Quick Response (QR) codes, Aztec codes, Data Matrix, Dataglyph, MaxiCode, PDF417, UltraCode, UCC RSS-2D bar codes, and other optical codes) or an acoustic detection component (e.g., a microphone for identifying an audio signal of a tag). In addition, various information can be obtained via the communication component 1036, such as a location via Internet Protocol (IP) geolocation, a location via Internet Protocol (IP), ... Location of signal triangulation, location of NFC beacon signals that can indicate a specific location via detection, etc.

[0117] Various memories (e.g., main memory 1012, static memory 1014, and memory of processor 1002) and storage unit 1016 may store one or more sets of instructions and data structures (e.g., software) implemented or used by any one or more of the methods or functions described herein. These instructions (e.g., instructions 1008), when executed by processor 1002, cause various operations to implement the disclosed examples.

[0118] Instructions 1008 may be sent or received over network 1020 via a network interface device (e.g., a network interface component included in communications component 1036) using a transmission medium and using any of several well-known transmission protocols, such as the Hypertext Transfer Protocol (HTTP). Similarly, instructions 1008 may be sent or received to device 1022 via a coupling (e.g., a peer-to-peer coupling) using a transmission medium.

[0119] Figure 11 11 is a block diagram 1100 illustrating a software architecture 1104 that can be installed on any one or more of the devices described herein. The software architecture 1104 is supported by hardware such as a machine 1102 including a processor 1120, memory 1126, and I / O components 1138. In this example, the software architecture 1104 can be conceptualized as a stack of layers, where each layer provides specific functionality. The software architecture 1104 includes various layers such as an operating system 1112, libraries 1110, frameworks 1108, and applications 1106. In operation, the applications 1106 invoke API calls 1150 through the software stack and receive messages 1152 in response to the API calls 1150.

[0120] The operating system 1112 manages hardware resources and provides common services. The operating system 1112 includes, for example, a kernel 1114, services 1116, and drivers 1122. The kernel 1114 acts as an abstraction layer between the hardware layer and other software layers. For example, the kernel 1114 provides functions such as memory management, processor management (e.g., scheduling), component management, networking, and security settings. Services 1116 can provide other common services to other software layers. Drivers 1122 are responsible for controlling or interfacing with the underlying hardware. For example, drivers 1122 may include display drivers, camera drivers, or Low-power drivers, Flash drivers, serial communication drivers (e.g., USB drivers), Drivers, audio drivers, power management drivers, etc.

[0121] The libraries 1110 provide a low-level common infrastructure used by the applications 1106. The libraries 1110 may include system libraries 1118 (e.g., C standard libraries) that provide functions such as memory allocation functions, string manipulation functions, mathematical functions, etc. In addition, the libraries 1110 may include API libraries 1124, such as media libraries (e.g., libraries for supporting presentation and manipulation of various media formats, such as Moving Picture Experts Group-4 (MPEG4), Advanced Video Coding (H.264 or AVC), Moving Picture Experts Group Layer-3 (MP3), Advanced Audio Coding (AAC), Adaptive Multi-Rate (AMR) audio codec, Joint Photographic Experts Group (JPEG or JPG), or Portable Network Graphics (PNG)), graphics libraries (e.g., an OpenGL framework for rendering graphical content on a display in two dimensions (2D) and three dimensions (3D), database libraries (e.g., SQLite providing various relational database functions), web libraries (e.g., WebKit providing web browsing functions), etc. The library 1110 may also include a variety of other libraries 1128 to provide many other APIs to the application 1106 .

[0122] The framework 1108 provides a common high-level infrastructure used by the applications 1106. For example, the framework 1108 provides various graphical user interface (GUI) functions, advanced resource management, and advanced location services. The framework 1108 can provide a wide range of other APIs that can be used by the applications 1106, some of which may be specific to a particular operating system or platform.

[0123] In an example, the applications 1106 may include a home application 1136, a contacts application 1130, a browser application 1132, a book reader application 1134, a location application 1142, a media application 1144, a messaging application 1146, a game application 1148, and a variety of other applications such as third-party applications 1140. An application 1106 is a program that performs the functions defined in the program. Various programming languages ​​can be used to create one or more applications 1106 constructed in various ways, such as an object-oriented programming language (e.g., Objective-C, Java, or C++) or a procedural programming language (e.g., C or assembly language). In a specific example, a third-party application 1140 (e.g., a program created by an entity other than the vendor of a particular platform using ANDROID) may be used. TM or IOS TM Software Development Kit (SDK) can be used to develop applications on platforms such as IOS TM ANDROID TM 、 Mobile software running on the mobile operating system of the phone or other mobile operating systems. In this example, third-party applications 1140 can call API calls 1150 provided by the operating system 1112 to facilitate the functions described herein.

[0124] Now go to Figure 12 , shows a diagrammatic representation of a processing environment 1200 that includes a processor 1202, a processor 1206, and a processor 1208 (eg, a GPU, a CPU, or a combination thereof).

[0125] The processor 1202 is shown coupled to a power source 1204 and includes modules (permanently configured or temporarily instantiated), namely, an X component 1210, a Y component 1212, and a Z component 1214. The X component 1210 is operative to generate the map engine 508 ( Figure 5 ), the Y component 1212 is operative to generate the user icon mechanism 504, and the Z component 1214 is operative to generate the user location mechanism 537. As shown, the processor 1202 is communicatively coupled to both the processor 1206 and the processor 1208.

[0126] Glossary

[0127] "Carrier signal" refers to any intangible medium that can store, encode, or carry instructions for execution by a machine and includes digital or analog communication signals or other intangible media to facilitate communication of such instructions. Instructions may be sent or received over a network using a transmission medium via a network interface device.

[0128] "Client Device" refers to any machine that interfaces with a communications network to obtain resources from one or more server systems or other client devices. A client device may be, but is not limited to, a mobile phone, desktop computer, laptop computer, portable digital assistant (PDA), smartphone, tablet computer, ultrabook, netbook, laptop computer, multiprocessor system, microprocessor-based or programmable consumer electronics, game console, set-top box, or any other communications device that a user may use to access a network.

[0129] "Communications network" means one or more parts of a network, which may be an ad hoc network, an intranet, an extranet, a virtual private network (VPN), a local area network (LAN), a wireless LAN (WLAN), a wide area network (WAN), a wireless WAN (WWAN), a metropolitan area network (MAN), the Internet, a part of the Internet, a part of the Public Switched Telephone Network (PSTN), a Plain Old Telephone Service (POTS) network, a cellular telephone network, a wireless network, The coupling may be a network, another type of network, or a combination of two or more such networks. For example, the network or a portion of the network may include a wireless network or a cellular network, and the coupling may be a code division multiple access (CDMA) connection, a global system for mobile communications (GSM) connection, or other type of cellular or wireless coupling. In this example, the coupling may implement any of various types of data transmission technologies, such as single carrier radio transmission technology (1xRTT), evolution data optimized (EVDO) technology, general packet radio service (GPRS) technology, enhanced data rates for GSM evolution (EDGE) technology, the third generation partnership project (3GPP) including 3G, fourth generation wireless (4G) networks, universal mobile telecommunications system (UMTS), high speed packet access (HSPA), world wide interoperability for microwave access (WiMAX), long term evolution (LTE) standards, other standards defined by various standards setting organizations, other long distance protocols, or other data transmission technologies.

[0130] "Component" refers to a device, physical entity, or logic with the following boundaries: the boundaries are defined by function or subroutine calls, branch points, APIs, or other technologies provided for partitioning or modularizing specific processing or control functions. A component can be combined with other components via its interface to perform machine processing. A component can be a packaged functional hardware unit designed for use with other components and can be part of a program that generally performs a specific function among related functions. A component can constitute a software component (e.g., code embodied on a machine-readable medium) or a hardware component. A "hardware component" is a tangible unit that can perform certain operations and can be configured or arranged in a certain physical manner. In various example embodiments, one or more computer systems (e.g., stand-alone computer systems, client computer systems, or server computer systems) or one or more hardware components of a computer system (e.g., a processor or processor group) can be configured by software (e.g., an application or application portion) to operate as a hardware component to perform certain operations as described herein. Hardware components can also be implemented mechanically, electronically, or in any suitable combination thereof. For example, a hardware component can include a dedicated circuit system or logic that is permanently configured to perform certain operations. The hardware component can be a special-purpose processor, such as a field programmable gate array (FPGA) or an application-specific integrated circuit (ASIC). The hardware component can also include a programmable logic or circuit that is temporarily configured to perform certain operations by software. For example, the hardware component can include software executed by a general-purpose processor or other programmable processor. Once configured by such software, the hardware component becomes a specific machine (or specific component of a machine) that is uniquely customized to perform the configured function, rather than a general-purpose processor. It will be understood that the decision to mechanically implement the hardware component in a circuit that is dedicated and permanently configured or in a circuit that is temporarily configured (for example, configured by software) can be promoted for cost and time considerations. Accordingly, the phrase "hardware component" (or "hardware-implemented component") should be understood to include a tangible entity, that is, an entity that is physically constructed, permanently configured (for example, hardwired) or temporarily configured (for example, programmed) to operate in some way or perform certain operations described herein. Considering that the hardware component is temporarily configured (for example, programmed), it is not necessary to configure or instantiate each hardware component at any time. For example, in the case where a hardware component includes a general-purpose processor that is configured as a special-purpose processor by software, the general-purpose processor can be configured as different special-purpose processors (e.g., including different hardware components) at different times. The software accordingly configures a specific processor or multiple specific processors to, for example, constitute a specific hardware component at one time and constitute different hardware components at different times. A hardware component can provide information to other hardware components and receive information from other hardware components. Accordingly, the described hardware components can be considered to be communicatively coupled.When there are multiple hardware components at the same time, communication can be achieved by the signal transmission between two or more hardware components (for example, by appropriate circuits and buses). In the embodiment in which multiple hardware components are configured or instantiated at different times, the communication between such hardware components can be achieved, for example, by storing information in a memory structure that multiple hardware components can access and retrieving information in the memory structure. For example, a hardware component can perform an operation and store the output of the operation in a memory device to which it is communicatively coupled. Then, other hardware components can access the memory device at a subsequent time to retrieve the stored output and process it. The hardware component can also start communication with an input device or an output device, and can operate on resources (for example, a collection of information). The various operations of the example method described herein can be performed at least in part by a temporary configuration (for example, by software) or one or more processors that are permanently configured to perform related operations. Whether it is a temporary configuration or a permanent configuration, such a processor can constitute a processor-implemented component that operates to perform one or more operations or functions described herein. As used herein, a "processor-implemented component" refers to a hardware component implemented using one or more processors. Similarly, the method described herein can be implemented at least in part by a processor, wherein specific one or more processors are examples of hardware. For example, at least some of the operations of the method can be performed by the components implemented by one or more processors 1002 or processors. In addition, one or more processors can also operate to support the execution of related operations in a "cloud computing" environment or operate as "software as a service" (SaaS). For example, at least some of the operations in the operation can be performed by a computer group (as an example of a machine including a processor), wherein these operations can be accessed via a network (for example, the Internet) and via one or more appropriate interfaces (for example, API). The execution of some operations can be distributed between processors, not only resident in a single machine, but deployed across multiple machines. In some example embodiments, a processor or the components implemented by a processor can be located in a single geographical location (for example, in a home environment, an office environment or a server farm). In other example embodiments, a processor or the components implemented by a processor can be distributed across multiple geographical locations.

[0131] "Computer-readable storage media" refers to both machine storage media and transmission media. Thus, these terms include both storage devices / media and carrier / modulated data signals. The terms "machine-readable medium," "computer-readable medium," and "device-readable medium" mean the same thing and may be used interchangeably in this disclosure.

[0132] An "ephemeral message" is a message that is accessible for a limited duration. An ephemeral message can be text, an image, a video, or the like. The access time for an ephemeral message can be set by the sender of the message. Alternatively, the access time can be a default setting or a setting specified by the recipient. Regardless of the setting technique, a message is transient.

[0133] “Machine storage media” refers to a single or multiple storage devices and media (e.g., centralized or distributed databases, and associated caches and servers) that store executable instructions, routines, and data. Thus, the above terms should be considered to include, but are not limited to, solid-state memory and optical and magnetic media, including memory internal or external to the processor. Specific examples of machine storage media, computer storage media, and device storage media include: non-volatile memory, including, for example, semiconductor memory devices such as erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), FPGAs, and flash memory devices; magnetic disks, such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks. The terms “machine storage media,” “device storage media,” and “computer storage media” mean the same thing and are used interchangeably in this disclosure. The terms “machine storage media,” “computer storage media,” and “device storage media” expressly exclude carrier waves, modulated data signals, and other such media, at least some of which are encompassed by the term “signal media.”

[0134] “Non-transitory computer-readable storage medium” refers to a tangible medium capable of storing, encoding, or carrying instructions for execution by a machine.

[0135] "Signal medium" refers to any intangible medium that is capable of storing, encoding, or carrying instructions for execution by a machine, and includes digital or analog communication signals or other intangible media to facilitate the communication of software or data. The term "signal medium" should be taken to include any form of modulated data signal, carrier wave, etc. The term "modulated data signal" means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. The terms "transmission medium" and "signal medium" mean the same thing and are used interchangeably in this disclosure.

[0136] As can be seen from the foregoing, multiple examples of the disclosed techniques and mechanisms have been described. Some of these examples are repeated in the following non-exhaustive list of numbered examples.

[0137] Example 1: A method comprising:

[0138] Accessing user representation data for users of the social media platform, the user representation data indicating:

[0139] location information indicating a geographic location of a particular client device associated with the user;

[0140] a user icon configured to provide a visual representation of the user; and

[0141] a status indicator configured to provide a visual indication of a current status associated with the user;

[0142] accessing map data associated with the geographic location indicated by the location information;

[0143] causing, in the automated operations based at least in part on the map data and performed using one or more computer processor devices configured for automated operations, generation of a map-based graphical user interface (GUI) for the social media platform, the map-based GUI comprising an interactive map, the interactive map including the indicated geographic location; and

[0144] A combined icon is caused to be displayed on the interactive map, the combined icon visually representing the user at a display location based on the indicated geographic location, the combined icon including the user icon and the status indicator.

[0145] Example 2: A method according to Example 1, wherein the combined icon is a combined expressive icon, in which the user icon is an expressive icon including an anthropomorphic avatar associated with the user, the avatar visually presenting at least one of: different facial expressions; and the performance of a specific body action.

[0146] Example 3: The method according to Example 2 further includes the following prior operations:

[0147] causing presentation of an icon selection interface that displays a plurality of different expressive icons for the avatar associated with the user, the plurality of expressive icons differing in at least one of a corresponding facial expression and a corresponding body movement; and

[0148] User input is received, the user input selecting a particular expressive icon from the plurality of expressive icons, the selected expressive icon being thereafter indicated by the user representation data.

[0149] Example 4: The method according to any one of Examples 1 to 3 further includes the following operations:

[0150] causing presentation of a state selection interface, the state selection interface displaying a plurality of different state indicators, each state indicator being associated with a different respective current state of the user; and

[0151] User input is received, the user input selecting a particular status indicator from the plurality of status indicators, the selected status indicator being thereafter indicated by the user-indicated data.

[0152] Example 5: The method according to Example 4 further includes: providing an automated combination icon selection process, in which the icon selection interface and the status selection interface are automatically displayed one after another, thereby facilitating the user to select the expressive icon and the status indicator in combination.

[0153] Example 6: The method of any one of Examples 2 to 5, wherein the status indicator comprises a text-based indication of the user's current status.

[0154] Example 7: The method according to Examples 2 to 6, wherein the map-based GUI is displayed on the specific client device associated with the user, and the method further comprises: causing one or more combined friend icons associated with the corresponding friends of the user on the social media platform to be displayed at different corresponding display positions in the interactive map, each combined friend icon including both a corresponding expressive icon and a corresponding status indicator.

[0155] Example 8: The method of Example 7, further comprising:

[0156] receiving user input selecting a particular grouped friend icon from the one or more grouped friend icons; and

[0157] In response to the user input, contextual information of a user associated with the selected grouped friend icon is caused to be presented in the map-based GUI.

[0158] Example 9: The method of Example 7, further comprising:

[0159] receiving user input selecting a particular grouped friend icon from the one or more grouped friend icons; and

[0160] In response to the user input, an action associated with the status indicator of the selected grouped friend icon is initiated.

[0161] Example 10: The method of Example 9, wherein the action that can be triggered by selection of the selected group friend icon includes: launching a chat interface in the map-based GUI.

[0162] Example 11: A method according to Example 9, wherein the action that can be triggered by selecting the selected combined friend icon is a map direction action, and the map direction action includes: automatically generating and displaying path information about the display location of the selected combined friend icon in the interactive map.

[0163] Example 12: A system comprising:

[0164] one or more computer processor devices; and

[0165] a memory storing instructions that, when executed by the one or more computer processor devices, configure the system to perform operations comprising:

[0166] Accessing user representation data for users of the social media platform, the user representation data indicating:

[0167] location information indicating a geographic location of a particular client device associated with the user;

[0168] a user icon configured to provide a visual representation of the user; and

[0169] a status indicator configured to provide a visual indication of a current status associated with the user;

[0170] accessing map data associated with the geographic location indicated by the location information;

[0171] causing, in an automated operation based at least in part on the map data, generation of a map-based graphical user interface (GUI) for the social media platform, the map-based GUI comprising an interactive map including the indicated geographic location; and

[0172] A combined icon is caused to be displayed on the interactive map, the combined icon visually representing the user at a display location based on the indicated geographic location, the combined icon including the user icon and the status indicator, thereby visually representing the current status on the interactive map.

[0173] Example 13: A system according to Example 12, wherein the combined icon is a combined expressive icon, in which the user icon is an expressive icon that includes an anthropomorphic avatar associated with the user, and the avatar visually presents at least one of the following: different facial expressions; and the performance of a specific body action.

[0174] Example 14: The system of Example 13, wherein the instructions further configure the system to perform the following prior operations:

[0175] causing presentation of an icon selection interface that displays a plurality of different expressive icons for the avatar associated with the user, the plurality of expressive icons differing in at least one of a corresponding facial expression and a corresponding body movement; and

[0176] User input is received, the user input selecting a particular expressive icon from the plurality of expressive icons, the selected expressive icon being thereafter indicated by the user representation data.

[0177] Example 15: The system of Example 14, wherein the instructions further configure the system to:

[0178] causing presentation of a state selection interface, the state selection interface displaying a plurality of different state indicators, each state indicator being associated with a different respective current state of the user; and

[0179] User input is received, the user input selecting a particular status indicator of the plurality of status indicators, the selected status indicator being thereafter indicated by the user-indicated data.

[0180] Example 16: A system according to any one of Examples 13 to 15, wherein the map-based GUI is displayed on the particular client device associated with the user, and wherein the instructions further configure the system to: cause one or more combined friend icons associated with the user's respective friends on the social media platform to be displayed at different respective display locations in the interactive map, each combined friend icon including both a respective expressive icon and a respective status indicator.

[0181] Example 17: The system of Example 16, wherein the instructions further configure the system to:

[0182] receiving user input selecting a particular grouped friend icon from the one or more grouped friend icons; and

[0183] In response to the user input, contextual information of a user associated with the selected grouped friend icon is caused to be presented in the map-based GUI.

[0184] Example 18: The system of Example 16, wherein the instructions further configure the system to:

[0185] receiving user input selecting a particular grouped friend icon from the one or more grouped friend icons; and

[0186] In response to the user input, an action associated with the status indicator of the selected grouped friend icon is initiated.

[0187] Example 19: The system of Example 18, wherein the action triggerable by selection of the selected group friend icon comprises launching a chat interface in the map-based GUI.

[0188] Example 20: A non-transitory computer-readable storage medium comprising instructions that, when executed by a computer, cause the computer to perform operations comprising:

[0189] Accessing user representation data for users of the social media platform, the user representation data indicating:

[0190] location information indicating a geographic location of a particular client device associated with the user;

[0191] a user icon configured to provide a visual representation of the user; and

[0192] a status indicator configured to provide a visual indication of a current status associated with the user;

[0193] accessing map data associated with the geographic location indicated by the location information;

[0194] causing, in an automated operation based at least in part on the map data, generation of a map-based graphical user interface (GUI) for the social media platform, the map-based GUI comprising an interactive map including the indicated geographic location; and

[0195] A combined icon is caused to be displayed on the interactive map, the combined icon visually representing the user at a display location based on the indicated geographic location, the combined icon including the user icon and the status indicator, thereby visually representing the current status on the interactive map.

Claims

1. A method for using a combination icon, comprising: Accessing user representation data for users of the social media platform, the user representation data indicating: location information indicating a geographic location of a particular client device associated with the user; a user icon configured to provide a visual representation of the user; as well as a status indicator configured to provide a visual indication of a current status associated with the user, the status indicator having an associated direct action, the associated direct action being triggerable by selecting a composite icon of which the status indicator forms a part, wherein the status indicator is selected from a plurality of different status indicators having different associated direct actions; accessing map data associated with the geographic location indicated by the location information; causing, in the automated operations based at least in part on the map data and performed using one or more computer processor devices configured for automated operations, generation of a map-based graphical user interface (GUI) for the social media platform, the map-based GUI comprising an interactive map, the interactive map comprising the indicated geographic location; and causing display of the combined icon on the interactive map, the combined icon visually representing the user at a display location based on the indicated geographic location, the combined icon including the user icon and the status indicator; and In response to user selection of the combination icon, the direct action associated with the status indicator is automatically initiated.

2. The method according to claim 1, wherein The combined icon is a combined expressive icon in which the user icon is an expressive icon including an anthropomorphic avatar associated with the user, the avatar visually presenting at least one of: different facial expressions; and The performance of specific body movements.

3. The method according to claim 2, further comprising the following prior operations: causing presentation of an icon selection interface that displays, for the avatar associated with the user, a different plurality of expressive icons, the different plurality of expressive icons differing in at least one of a corresponding facial expression and a corresponding body movement; and User input is received, the user input selecting a particular expressive icon from the plurality of expressive icons, the selected expressive icon being thereafter indicated by the user representation data.

4. The method according to claim 3, further comprising the following operations: causing presentation of a state selection interface, the state selection interface displaying a different plurality of state indicators, each state indicator being associated with a different respective current state of the user, and each state indicator having a respective associated direct action; and User input is received, the user input selecting a particular status indicator of the plurality of status indicators, the selected status indicator being thereafter indicated by the user-indicated data.

5. The method according to claim 4, further comprising: An automated combined icon selection process is provided, in which the icon selection interface and the status selection interface are automatically displayed one after another, thereby facilitating the user to select the expressive icon and the status indicator in combination.

6. The method according to claim 2, wherein: The status indicator includes a text-based indication of the user's current status.

7. The method according to claim 2, wherein: The map-based GUI is displayed on the specific client device associated with the user, and the method also includes: causing a plurality of combined friend icons associated with the corresponding friends of the user on the social media platform to be displayed at different corresponding display positions in the interactive map, each combined friend icon including both a corresponding expressive icon and a corresponding status indicator, wherein the corresponding direct actions associated with the corresponding status indicators of the plurality of combined friend icons include two or more different direct actions.

8. The method according to claim 7, further comprising: receiving a user input, the user input selecting a specific group friend icon from the plurality of group friend icons; as well as In response to the user input, the corresponding direct action associated with the status indicator of the selected grouped friend icon is automatically initiated.

9. The method according to claim 8, wherein Direct actions that can be triggered by selection of the selected group friend icon include launching a chat interface in the map-based GUI.

10. The method according to claim 8, wherein The direct action that can be triggered by selecting the selected group friend icon is a map direction action, which includes automatically generating and displaying path information about the display location of the selected group friend icon in the interactive map.

11. A system using a combination icon, comprising: one or more computer processor devices; as well as a memory storing instructions that, when executed by the one or more computer processor devices, configure the system to perform operations comprising: Accessing user representation data for users of the social media platform, the user representation data indicating: location information indicating a geographic location of a particular client device associated with the user; a user icon configured to provide a visual representation of the user; and a status indicator configured to provide a visual indication of a current status associated with the user, the status indicator having an associated direct action, the associated direct action being triggerable by selecting a composite icon of which the status indicator forms a part, wherein the status indicator is selected from a plurality of different status indicators having different associated direct actions; accessing map data associated with the geographic location indicated by the location information; causing, in an automated operation based at least in part on the map data, generation of a map-based graphical user interface (GUI) for the social media platform, the map-based GUI comprising an interactive map including the indicated geographic location; causing display of a combined icon on the interactive map, the combined icon visually representing the user at a display location based on the indicated geographic location, the combined icon including the user icon and the status indicator, thereby visually representing the current status on the interactive map; and In response to user selection of the combination icon, the direct action associated with the status indicator is automatically initiated.

12. The system according to claim 11, wherein The combined icon is a combined expressive icon in which the user icon is an expressive icon including an anthropomorphic avatar associated with the user, the avatar visually presenting at least one of: different facial expressions; and The performance of specific body movements.

13. The system according to claim 12, wherein: The instructions further configure the system to perform the following prior operations: causing presentation of an icon selection interface that displays a different plurality of expressive icons for the avatar associated with the user, the plurality of expressive icons differing in at least one of a corresponding facial expression and a corresponding body movement; as well as User input is received, the user input selecting a particular expressive icon from the plurality of expressive icons, the selected expressive icon being thereafter indicated by the user representation data.

14. The system according to claim 13, wherein: The instructions further configure the system to: causing presentation of a state selection interface, the state selection interface displaying a different plurality of state indicators, each state indicator being associated with a different respective current state of the user, and each state indicator having a respective associated direct action; as well as User input is received, the user input selecting a particular status indicator from the plurality of status indicators, the selected status indicator being thereafter indicated by the user-indicated data.

15. The system according to claim 12, wherein: The map-based GUI is displayed on the specific client device associated with the user, and wherein the instructions further configure the system to: cause a plurality of combined friend icons associated with the user's respective friends on the social media platform to be displayed at different respective display locations in the interactive map, each combined friend icon including both a respective expressive icon and a respective status indicator, wherein the respective direct actions associated with the respective status indicators of the plurality of combined friend icons include two or more different direct actions.

16. The system according to claim 15, wherein: The instructions further configure the system to: receiving user input selecting a particular grouped friend icon from the plurality of grouped friend icons; and In response to the user input, the corresponding direct action associated with the status indicator of the selected grouped friend icon is automatically initiated.

17. The system according to claim 16, wherein: Direct actions that can be triggered by selection of the selected group friend icon include launching a chat interface in the map-based GUI.

18. A non-transitory computer-readable storage medium comprising instructions that, when executed by a computer, cause the computer to perform operations comprising: Accessing user representation data for users of the social media platform, the user representation data indicating: location information indicating a geographic location of a particular client device associated with the user; a user icon configured to provide a visual representation of the user; as well as a status indicator configured to provide a visual indication of a current status associated with the user, the status indicator having an associated direct action, the associated direct action being triggerable by selecting a composite icon of which the status indicator forms a part, wherein the status indicator is selected from a plurality of different status indicators having different associated direct actions; accessing map data associated with the geographic location indicated by the location information; causing, in an automated operation based at least in part on the map data, generation of a map-based graphical user interface (GUI) for the social media platform, the map-based GUI comprising an interactive map including the indicated geographic location; causing display of a combined icon on the interactive map, the combined icon visually representing the user at a display location based on the indicated geographic location, the combined icon including the user icon and the status indicator, thereby visually representing the current status on the interactive map; and In response to user selection of the combination icon, the direct action associated with the status indicator is automatically initiated.

Citation Information

Patent Citations

  • Computer program and information communication device

    JP2014146357A

  • Generating collectible items based on location information

    US20190282903A1