Generate Collectible Items Based on Location Information

By using user location sensor information to generate interactive map interfaces in the electronic messaging system, the problem that existing systems are difficult to provide intuitive user interfaces and interactive functions is solved, and a more intuitive user experience and interaction methods are achieved.

CN118454221BActive Publication Date: 2025-05-30SNAP INC
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202410694609.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2018-03-14
Filing Date
2019-03-14
Publication Date
2025-05-30
Estimated Expiration
2039-03-14

AI Technical Summary

Technical Problem

Existing electronic messaging systems have difficulty providing an intuitive graphical user interface that attracts users’ attention and allows them to view items of media content of interest while interacting with the user’s associated personal network.

Method used

By utilizing the position sensor information of the user computing device, a map interface containing interactive items is generated, and a map, avatar, a status message, and a status message related to the map position are displayed based on the user location.

Benefits of technology

A more intuitive user experience is achieved, allowing users to more intuitively track the location of user avatars and other users’ clusters and individual locations in the electronic messaging system, while providing a way to interact with the personal network associated with the user.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118454221B_ABST
    Figure CN118454221B_ABST
Patent Text Reader

Abstract

A method for generating collectible media content items based on location information begins with a processor receiving location information from a location sensor coupled to a first client computing device. The processor causes a map interface to be displayed based on the location information and a subset of a plurality of collectible items associated with geographical coordinates, the map interface including an avatar of a first user at the location. When it is determined that the first client computing device is within a predetermined distance of a selected collectible item, the processor causes a front camera view to be displayed on the first client computing device, causes a lens corresponding to the selected collectible item to be applied to the front camera view, and causes an image of the selected collectible item displayed on the front camera view to change. The lens includes an image of the selected collectible item overlaid on the front camera view. Other embodiments are described herein.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application is a divisional application of a patent application with an application date of March 14, 2019, an application number of 201980018681.5, and an invention title of "Generating Collectible Items Based on Location Information".

[0002] Priority Claim

[0003] This patent application claims the benefit of priority to U.S. Provisional Patent Application No. 62 / 642,945, filed on March 14, 2018, which is hereby incorporated by reference in its entirety. Background of the Invention

[0004] The popularity of electronic messaging, particularly instant messaging, continues to grow. Users are increasingly sharing media content items such as electronic images and videos with each other, which reflects a global demand for more intuitive communication.

[0005] As more and more systems provide applications and games for users' mobile devices, each system faces the challenge of providing a graphical user interface to attract the user's attention and allow him to view media content items of interest and further interact with the user's personal network associated with the system. Brief Description of the Drawings

[0006] In the drawings (which are not necessarily drawn to scale), the same numbers may describe the same components in different figures. The same numbers with different letter suffixes may represent different instances of similar components. In the figures of the drawings, some embodiments are shown by way of example and not limitation, wherein:

[0007] Figure 1 is a block diagram showing an example messaging system for exchanging data (e.g., messages and associated content) over a network.

[0008] Figure 2 is a block diagram showing further details regarding a messaging system according to an exemplary embodiment.

[0009] Figure 3 is a schematic diagram showing data that may be stored in a database of a messaging server system according to various exemplary embodiments.

[0010] Figure 4 is a flowchart of an exemplary process according to aspects of the present disclosure.

[0011] Figures 5A - 5J is shown in Figure 4 a screenshot of aspects of the method described in

[0012] Figure 6is a block diagram showing a representative software architecture that can be used in conjunction with the various hardware architectures described herein.

[0013] Figure 7 is a block diagram showing components of a machine capable of reading instructions from a machine-readable medium (e.g., a machine-readable storage medium) and performing any one or more of the methods discussed herein. Detailed Description

[0014] The following description includes systems, methods, techniques, instruction sequences, and computer program products that embody illustrative embodiments of the present disclosure. In the following description, for purposes of explanation, numerous specific details are set forth in order to provide an understanding of the various embodiments of the inventive subject matter. However, it will be apparent to those skilled in the art that the embodiments of the inventive subject matter may be practiced without these specific details. In general, well-known instruction instances, protocols, structures, and techniques need not be shown in detail.

[0015] Among other things, embodiments of the present disclosure improve the functionality of electronic messaging and imaging software and systems by attracting users based on location sensor information from a user's computing device. For example, the system generates a map interface that includes interactive items based on the user's location. The map interface can correspond to locations near the user's location. For example, the map interface can include a map based on location information, an avatar of a user participating in the current activity, a status message associated with the user's current activity, or a status message associated with a map location on the map display. Using the system, a user can also generate media content for various topics and share it with other users. For example, media content (e.g., an image or video) can be generated and displayed on the user's computing device and sent to other users via electronic communication such as short message service (SMS) or multimedia service (MMS) text and email.

[0016] Figure 1FIG. 0 is a block diagram illustrating an example of a messaging system 100 for exchanging data (e.g., messages and associated content) over a network. The messaging system 100 includes a plurality of client devices 102, each client device 102 hosting a plurality of applications including a messaging client application 104. Each messaging client application 104 is communicatively coupled via a network 106 (e.g., the Internet) to other instances of the messaging client application 104 and a messaging server system 108. As used herein, the term "client device" may refer to any machine that interfaces with a communication network (e.g., network 106) to obtain resources from one or more server systems or other client devices. The client device may be, but is not limited to, a mobile phone, a desktop computer, a laptop computer, a portable digital assistant (PDA), a smart phone, a tablet computer, a superbook, a netbook, a laptop computer, a multiprocessor system, a microprocessor-based or programmable consumer electronics product, a game console, a set-top box, or any other communication device by which a user may access the network.

[0017] In Figure 1 the illustrated example, each messaging client application 104 is capable of communicating with and exchanging data with another messaging client application 104 and the messaging server system 108 via the network 106. The data exchanged between the messaging client applications 104 and between the messaging client application 104 and the messaging server system 108 includes functions (e.g., commands to invoke functions) and payload data (e.g., text, audio, video, or other multimedia data).

[0018] The network 106 may include or operate in conjunction with the following: 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 portion of the Internet, a portion of the public switched telephone network (PSTN), a plain old telephone service (POTS) network, a cellular telephone network, a wireless network, A network, another type of network, or a combination of two or more such networks. For example, a network or a part of a network may include a wireless or cellular network, and the coupling may be a Code Division Multiple Access (CDMA) connection, a Global System for Mobile Communications (GSM) connection, or other types of cellular or wireless couplings. In this example, the coupling may implement any one 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, GSM Enhanced Data Rates for GSM Evolution (EDGE) technology, 3rd Generation Partnership Project (3GPP) including 3G, Fourth Generation Wireless (4G) network, Universal Mobile Telecommunications System (UMTS), High Speed Packet Access (HSPA), Worldwide Interoperability for Microwave Access (WiMAX), Long Term Evolution (LTE) standard, other standards defined by various standards-setting organizations, other remote protocols, or other data transmission technologies.

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

[0020] The messaging server system 108 supports various services and operations provided to the messaging client application 104. Such operations include sending data to the messaging client application 104, receiving data from the messaging client application 104, and processing data generated by the messaging client application 104. For example, the data may include message content, client device information, geographical location information, media annotations and overlays, message content persistence conditions, social network information, and live event information. Data exchange within the messaging system 100 is invoked and controlled via functions available in the user interface (UI) of the messaging client application 104.

[0021] Now turning to the messaging server system 108, an Application Programming 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 in which data associated with messages processed by the application server 112 is stored.

[0022] Specifically, the Application Programming Interface (API) server 110 is processed. This server receives and sends message data (e.g., commands and message payloads) between the client device 102 and the application server 112. Specifically, the Application Programming Interface (API) server 110 provides a set of interfaces (e.g., routines and protocols) that can be called or queried by the messaging client application 104 to invoke the functions of the application server 112. The Application Programming Interface (API) server 110 exposes various functions supported by the application server 112, including account registration, login functionality, sending messages from a specific messaging client application 104 to another messaging client application 104 via the application server 112, sending electronic media files (e.g., electronic images or videos) from the messaging client application 104 to the messaging server application 114, and settings of media data collections (e.g., stories) that may be accessed by another messaging client application 104, obtaining the friend list of the user of the client device 102, obtaining such collections, obtaining messages and content, adding and deleting friends from the social graph, locating friends within the social graph, and open and application events (e.g., related to the messaging client application 104).

[0023] The application server 112 hosts multiple applications and subsystems, including the messaging server application 114, the image processing system 116, and the social network system 122. The messaging server application 114 implements a variety of message processing techniques and functions, particularly those related to the aggregation and other processing of content (e.g., text and multimedia content, which includes image or video segments) included in messages received from multiple instances of the messaging 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., called stories or galleries). The messaging server application 114 then makes these collections available to the messaging client application 104. Given the hardware requirements for such processing, the messaging server application 114 may also perform other processor - and memory - intensive data processing on the server side.

[0024] The application server 112 also includes an image processing system 116, which is dedicated to performing various image processing operations typically on the electronic images or videos received within the payloads of messages at the messaging server application 114.

[0025] The social networking system 122 supports various social networking functionality services and makes these functions and services available to the messaging server application 114. To this end, the social networking system 122 maintains and accesses an entity graph 304 within the database 120. Examples of functions and services supported by the social networking system 122 include identification of other users who have a relationship with a particular user or are "followed" by a particular user in the messaging system 100, as well as identification of other entities and interests of a particular user.

[0026] The application server 112 is communicatively coupled to one or more database servers 118 that facilitate access to the database 120 in which data associated with messages processed by the messaging server application 114 is stored.

[0027] Some embodiments may include one or more wearable devices, such as a pendant having an integrated camera that is integrated with, communicative with, or coupled to the client device 102. Any desired wearable device may be used in conjunction with embodiments of the present disclosure, such as a watch, glasses, goggles, headphones, wristbands, earbuds, clothing (such as a hat or jacket having integrated electronics), clip-on electronics, or any other wearable device.

[0028] Figure 2 is a block diagram showing further details regarding the messaging system 100 according to an exemplary embodiment. Specifically, the messaging system 100 is shown as including a messaging client application 104 and an application server 112, which in turn includes a plurality of subsystems, namely a short-term timer system 202, a collection management system 204, and an annotation system 206.

[0029] The short-term timer system 202 is responsible for implementing temporary access to content permitted by the messaging client application 104 and the messaging server application 114. To this end, the short-term timer system 202 includes a plurality of timers that selectively display and enable access to messages and associated content via the messaging client application 104 based on a duration and display parameters associated with the message or a collection of messages.

[0030] The collection management system 204 is responsible for managing collections of media (e.g., collections of text, image, video, and audio data). In some examples, a collection of content (e.g., messages, including images, videos, text, and audio) may be organized into an "event gallery" or "event story". Such collections may be available for a specified period of time, such as the duration of the event to which the content pertains. For example, content related to a concert may be provided as a "story" for the duration of that concert. The collection management system 204 may also be responsible for publishing an icon that notifies the user interface of the messaging client application 104 of the presence of a particular collection.

[0031] The collection management system 204 further includes a curation interface 208 that allows a collection manager to manage and curate a specific collection 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., deleting inappropriate content or redundant messages). Additionally, the collection management system 204 employs machine vision (or image recognition technology) and content rules to automatically curate content collections. In some embodiments, users may be compensated for including user-generated content in the collection. In such cases, the curation interface 208 operates to automatically pay such users for the use of their content.

[0032] The annotation system 206 provides various functions that enable users to annotate or otherwise modify or edit media content associated with a message. For example, the annotation system 206 provides functions related to the generation and publication of media overlays for messages processed by the messaging system 100. The annotation system 206 operably provides a media overlay (e.g., a filter) to the messaging client application 104 based on the geographical location of the client device 102. In another example, the annotation system 206 operably provides a media overlay to the messaging client application 104 based on other information such as the social network information of a user of the client device 102. The media overlay may 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. The audio and visual content or visual effects may be applied to a media content item (e.g., an image or video) at the client device 102. For example, the media overlay includes text that may be overlaid on a photo / digital image generated by the client device 102. In another example, the media overlay includes an identification of a location overlay (e.g., Venice Beach), the name of a live event, or the name of a merchant overlay (e.g., Beach Café). In another example, the annotation system 206 uses the geographical location of the client device 102 to identify a media overlay that includes the name of a merchant at the geographical location of the client device 102. The media overlay may include other markers associated with the merchant. The media overlay may be stored in the database 120 and accessed via the database server 118.

[0033] In some exemplary embodiments, as discussed in more detail below, embodiments of the present disclosure may generate, display, assign, and apply media overlays for media content items. For example, an embodiment may utilize a media content item generated by the client device 102 (e.g., an image or video captured using a digital camera coupled to the client device 102) to generate a media overlay that may be applied to other media content items.

[0034] Figure 3FIG. 300 is a schematic diagram showing data 300 stored in database 120 of messaging server system 108 according to some exemplary embodiments. Although the contents of database 120 are shown as including multiple tables, it should be understood that the data can be stored in other types of data structures (e.g., as an object-oriented database).

[0035] Database 120 includes message data stored within message table 314. Entity table 302 stores entity data, including entity graph 304. Entities (whose records are maintained within entity table 302) can include individuals, corporate entities, organizations, objects, locations, events, etc. Whatever the type, any entity for which the messaging server system 108 stores data related thereto can be an identified entity. A unique identifier is provided for each entity, as well as an entity type identifier (not shown).

[0036] Entity graph 304 additionally stores information regarding the relationships and associations between entities. By way of example only, such relationships can be social relationships, relationships based on professional (e.g., working in the same company or organization) interests, or activity-based relationships.

[0037] Database 120 also stores annotation data (e.g., in the form of filters) within annotation table 312. Filters (whose data is stored within annotation table 312) are associated with videos (whose data is stored within video table 310) and / or images (whose data is stored within image table 308) and applied to the video or image. In one example, a filter is an overlay that is displayed as covering an image or video during presentation to a recipient user. Filters can be of various types, including user-selected filters from a filter gallery presented to a sending user by messaging client application 104 while the sending user is composing a message.

[0038] Other types of filters include location-based filters (also known as geo-filters), which can be presented to a sending user based on a geographical location. For example, based on geographical location information determined by the GPS unit of client device 102, messaging client application 104 can present location-based filters specific to a neighborhood or special location within the user interface. Another type of filter is a data filter, which can be selectively presented to a sending user by messaging client application 104 based on other input or information collected by client device 102 during message creation. Examples of data filters include the current temperature at a particular location, the current speed at which the sending user is traveling, the battery life of client device 102, or the current time. Other annotation data that can be stored within image table 308 is so-called “lens” data. A “lens” can be a real-time effect and sound that can be added to an image or video.

[0039] As described above, the video table 310 stores video data which, in one embodiment, is associated with messages (the records of which are maintained in the message table 314). Similarly, the image table 308 stores image data associated with messages (the message data of which is stored in the entity table 302). The entity table 302 can associate various annotations from the annotation table 312 with the various images stored in the image table 308 and the various videos stored in the video table 310.

[0040] The story table 306 stores data about a collection of messages and associated image, video, or audio data which is compiled into a collection (e.g., a story or a 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 already been created and sent / broadcast by that user. To this end, the user interface of the messaging client application 104 can include user-selectable icons to enable the sending user to add specific content to his or her personal story.

[0041] Collections can 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" can constitute a curated stream of user-submitted content from different locations and events. For example, options can be presented to a user (whose client device 102 has location services enabled and who is at a public location event at a particular time) via the user interface of the messaging client application 104 to contribute content to a particular live story. A live story can 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.

[0042] Another type of content collection is called a "location story" which enables a user (whose client device 102 is located at a particular geographical location (e.g., on a college or university campus)) to contribute to a particular collection. In some embodiments, contributing to a location story may require a second degree of authentication that the end user belongs to a particular organization or other entity (e.g., is a student on a university campus).

[0043] The database 120 can also store the locations of the users of the client device 102. In one embodiment, the database 120 stores the history of the exact locations or the history of regions that a user has visited.

[0044] In one embodiment, the database 120 also stores location sharing preferences set for each user. For example, a user's location sharing preference can be set to (i) "All Friends", where all of the user's friends can access his current location; (ii) "Selected Friends", where the user specifically selects which of his friends are allowed to access his current location; or (iii) "Ghost Mode", where no one can see his current location.

[0045] Embodiments of the present invention can generate and present customized media content items for use in electronic messages / communications, such as Short Message Service (SMS) or Multimedia Message Service (MMS) texts and emails. The customized media content items can also be used in combination with the stories, filters, and short messaging features discussed herein.

[0046] The following embodiments of the present invention can be described as a process, which is generally depicted as a flow chart, flow diagram, structural diagram, or block diagram. Although a flow chart may describe operations as a sequential process, many operations can also be performed in parallel or simultaneously. Additionally, the order of the operations can be rearranged. After the operations are completed, the process terminates. The process can correspond to a method, program, etc.

[0047] Figure 4 An exemplary process 400 in accordance with various aspects of the present disclosure is depicted. The steps of method 400 can be performed in whole or in part, can be combined with each other and with some or all of the steps in other methods, and can be performed by any number of different systems, such as the Figure 1 and 7 systems described therein. For example, the messaging server system 108 in Figure 1 or a processor coupled to the messaging server system 108 can perform method 400.

[0048] In one embodiment, method 400 begins at operation 410, where a processor of the system (e.g., the messaging server system 108 in Figure 1 receives location information from a location sensor coupled to a first client computing device associated with a first user. The location information can be included in an electronic communication sent from the user's first client computing device (e.g., the client device 102 in Figure 1 through a network such as the Internet (e.g., the network 106 in Figure 1 ). The location sensor can be, for example, coupled to the first client computing device such as Figure 7The positioning component 738 (discussed below) in the system 700. In some embodiments, the position sensor may include a Global Positioning Sensor (GPS) component integrated in the first client computing device and other types of position sensors. The processor may receive position information periodically and may request information from the user's computing device and / or receive information from the user's device without a request. In one exemplary embodiment, for example, the first client computing device includes software that monitors position sensor information from the first client computing device and sends updates to the system in response to a change in position. In some embodiments, the first client computing device may update the system with the new position only after the position has changed by at least a predetermined distance to allow the user to move around a building or other location without triggering an update.

[0049] In one embodiment, the processor may receive authorization from the first client computing device to utilize the position information and / or display the user's avatar or location in a media content item. This authorization may be obtained by accepting the terms for using the services of an online social network or other services provided by the system, by the user accepting on a case-by-case basis (e.g., via a pop-up window displayed on the user's computing device), or using any other suitable method of obtaining the user's authorization.

[0050] At operation 420, the processor causes a map interface to be displayed by the first client computing device. The map interface may be displayed on the display screen of the first client computing device. The map interface includes a map display based on the position information and the avatar of the first user at a position on the map display based on the position information. The map display includes a map and other backgrounds.

[0051] In some embodiments, the processor updates the image of the map as the position of the user computing device changes. Figure 5A A map interface is depicted that includes the avatar of the user at their current position and the avatars of other users connected to the user in the system. The avatars of the other users are also included in the map interface at map positions corresponding to their current positions in the real world (e.g., geographical coordinates). As Figure 5A shown, when several users are located at the same position, the system may present a cluster of avatars instead of individual avatars. In this way, the system can intuitively track the positions of the user avatars as well as the clusters of other avatars and the positions of other individual avatars.

[0052] A user may share media content items (e.g., via social media, text, or other electronic communication) with individual users corresponding to other avatars as well as with other people. In such cases, a "media content item" may include any type of electronic media in any format. Media content items may include still images, animated images, videos, or other content. For example, media content items may include images in JPG format, images in PNG format, videos in FLV format, videos in AVI format, etc. In some exemplary embodiments, media content items may include content captured using an image capture device or component (e.g., a digital camera) coupled to or communicating with a system that performs the functions of method 400. In Figure 7 the example system 700 depicted may include a digital camera as one of the input components 728. Additionally or alternatively, a media content item may be received from another system or device. In Figure 1 it, for example, a media content item may also include audio as well as a combination of different media formats (e.g., still images and videos). A first user may also share (e.g., via social media, text, or other electronic communication) the display of a map interface with other users in the system. In one embodiment, a user may share the display by selecting a media content element on the display (e.g., selecting an icon or button or image to be shared).

[0053] As used herein, a user's "avatar" is any visual representation of the user. A user's avatar may be based on information derived from an image of the user (e.g., features) as well as avatar features identified from the user's relationships with other users. Alternatively or additionally, a user may select and customize the features of the user avatar via the user's computing device. The avatar features may include, for example, the user's physical characteristics (e.g., muscular, slender, etc.), facial features, clothing and accessories, text displayed in conjunction with the avatar, and images displayed in conjunction with the avatar. Avatar information may be obtained from various sources, such as the local memory of a device (e.g., Figure 1 the messaging server system 108 in ) that performs the steps of method 400 as well as other systems and devices. For example, a processor may obtain avatar information associated with a first user from a database (e.g., database 120) and generate an avatar of the first user based on the avatar information.

[0054] The generated map interface that is displayed at operation 420 also includes a subset of multiple collectible items based on location information. The collectible media content items shown at the map locations on the map display correspond to the geographical coordinates that have been pre-assigned to the collectible media content items. The processor may store (e.g., in database 120) the collectible items in association with the geographical coordinates pre-assigned to the collectible items. In one embodiment, the subset includes collectible items respectively associated with the geographical coordinates included in the map display. For example, in Figure 5A it is shown that the collectible items are treasure hunt eggs scattered throughout the map display (e.g., West Los Angeles). Each egg has been pre-assigned geographical coordinates. The processor may change the geographical coordinates as needed.

[0055] The processor may pre-assign geographical coordinates corresponding to common locations included in an approved list stored in the system's database. For example, the approved list may include parks, shopping centers, grassy common areas, movie theaters, university or college campuses, airport terminals, attractions, museums, zoos, train stations, city halls, stadiums, post offices, monuments, pavilions, coffee shops, stores, restaurants, bars, and other locations of interest. When the processor determines that the pre-assigned geographical coordinates overlap with the geographical coordinates of an undesired or unsafe location (e.g., cemetery, elementary school, body of water, highway, religious institution, medical facility, etc.), the processor may also change the pre-assigned geographical coordinates).

[0056] At operation 430, the processor receives an input from the first client computing device to select a selected collectible item. The selected collectible item is one of the collectible items displayed on the display screen of the first client computing device. In Figure 5A as shown, the collectible item is an egg displayed on the map interface. To collect or acquire the egg, the user must travel to the geographical coordinates (i.e., physical location) of the egg on the map display. For example, if the user travels to Figure 5A PlayaVista shown south of Highway 90, the user can collect the egg at that location.

[0057] At operation 440, the processor determines whether the first client computing device is within a predetermined distance from the geographical coordinates associated with the selected collectible item. The predetermined distance may be set by the system. In one embodiment, the predetermined distance (e.g., collection radius) may be between 150 and 250 meters. When the processor determines that the first client computing device is not within the predetermined distance, the processor may further determine whether the first user is spoofing his location. If so, the processor may generate an alert message to indicate that the first user may not have collected the collectible item at his spoofed location (e.g., "We detected that you are spoofing your location. You can only collect eggs at your true location.")

[0058] At operation 490, when it is determined that the first client computing device is not within a predetermined distance, the processor causes a message to be displayed on the first client computing device that prompts the user to move closer to the geographical coordinates associated with the selected collectible item. Figure 5B An avatar of a user located in Central Park, New York, is shown. Figure 5B The user in selects an egg located at East 49th Street and Lexington Avenue on the map display of his user computing device. In Figure 5B the processor determines that the user located in Central Park is not within a predetermined distance of the egg he selected on the map display. The processor causes the display of a message that prompts the user to move closer to the location of the egg (e.g., "Too far! Get 100 feet closer").

[0059] When it is determined that the user's computing device is within a predetermined distance, at operation 450, the processor causes the front camera view to be displayed on the first client computing device, and at operation 460, causes a lens corresponding to the selected collectible item to be applied to the front camera view of the first client computing device. The lens corresponding to the selected collectible item includes an image of the selected collectible item that is overlaid on the front camera view. The lens may include overlays having static (i.e., non-moving) features as well as dynamic (i.e., moving) features.

[0060] Figure 5G A screenshot showing five different types of collectible items is shown. In Figure 5G the front camera view of the user computing device shows a table in an office space. In Figure 5G the first row of, images corresponding to different types of collectible items are different-colored eggs that are overlaid on the front camera view. Specifically, when viewed on the display screen of the user computing device, the eggs appear to be on the table in the office space.

[0061] To collect or gather an egg, the first user can select the egg on the display screen of the first client computing device (e.g., tap the screen at the location of the egg). At operation 470, the processor receives an input from the first client computing device to select the image of the selected collectible item on the front camera view. At operation 480, the processor causes the image of the selected collectible item displayed on the front camera view to change. The change in the image may indicate to the first user that the selected collectible item has been collected. For example, as shown in the first row of Figure 5G when the first user selects the egg that has dots on its upper half (e.g., the first egg on the left), the egg can turn into Figure 5G the clean rabbit (e.g., the first rabbit on the left) in the second row of Figure 5GWhen each egg in the first row is selected, the egg respectively turns into a patterned rabbit in the next row of Figure 5 below that egg. Figure 5F Examples of different rabbits associated with different collectible eggs are shown.

[0062] At operation 480, when the processor causes the image of the selected collectible item displayed on the front camera view to change, the processor can animate the image of the selected collectible item. Figure 5E Examples of a series of images in the animation of the selected collectible item are shown.

[0063] In one embodiment, the processor can increase a score included on a map interface based on the number of points associated with the selected collectible item. In one embodiment, the collectible items can include different types of collectible items, and each type of collectible item can be associated with a different number of points. As Figure 5A and Figure 5G shown, the collectible items include eggs with different appearances (e.g., different patterns or designs thereon). In one embodiment, different eggs are each associated with a different number of points. For example, the dotted egg is 10 points, while the horizontal stripe egg and the swirl line egg may be only 1 point.

[0064] In one embodiment, the processor determines the type of collectible item associated with the selected collectible item. For example, the processor determines which egg type (e.g., dotted egg, horizontal stripe egg, etc.) is associated with the selected collectible item. Then, the processor determines a filter associated with the type of collectible item and provides access to the filter to the first client computing device. The filter is an overlay of the rear camera view displayed on the first client computing device. As Figure 5D shown, different filters with different overlay images or features can be associated with each type of collectible item. When a user collects or acquires a collectible item, the user may unlock the filter associated with the type of the collected collectible item. For example, if a first user collects an egg with dots on the Figure 5G upper half (e.g., the first egg on the left), the first user is rewarded with a filter including horizontal stripes on the rabbit ears (e.g., Figure 5D the first filter on the left in). After providing access to the first client computing device, the first user can apply the filter in real time to the rear camera view displayed on the first client computing device. The first user can also capture a photo with the filter applied thereon using the rear camera of the first client computing device and share the photo with other users in the system.

[0065] The processor can cause the first client computing device to display a score associated with the first user or the number of collectible items collected by the first user. In this embodiment, the processor can cause the score or the number of collectible items to be displayed on the display screen of the user's computing device in association with the user's avatar, as Figure 5C shown. The processor can also cause the score or the number of collectible items for each user in the system to be displayed on a map display (not shown) in association with their respective avatars.

[0066] In one embodiment, the processor can cause a leaderboard to be displayed on the first client computing device. The leaderboard includes the rankings of multiple users including the first user based on scores obtained by collecting collectible items. As Figure 5I shown, the leaderboard can be a global leaderboard including all users participating in collecting collectible items on the system. In one embodiment, only users in non-illusion mode (i.e., users sharing their location with the public) are presented on the global leaderboard. As Figure 5H shown, the leaderboard can also be a "friends leaderboard", which includes friends of the user participating in collecting collectible items (or anyone associated with the user on the system). In one embodiment, only friends sharing their location with the user are presented on the "friends leaderboard". Although not shown, a localized leaderboard can also be generated, which includes users within the same location (e.g., within a city, neighborhood, or a predetermined radius of the user's location) participating in the collection of collectible items. For each leaderboard, the ranking of the user compared to other users is shown. As Figure 5H and 5I shown, the leaderboard can also include the avatars of the top three users displayed on a podium. In Figure 5J shown, another embodiment of the global leaderboard is shown. The global leaderboard can display, for example, the user's current rank, his percentile rank (e.g., "You are ranked in the top 20% among all egg hunters") and the number of eggs or points required to improve his percentile rank (e.g., "Collect 7 more eggs to rank in the top 15% of egg hunters").

[0067] In some embodiments, the user can access the leaderboard by selecting the score of the first user, as Figure 5B shown, where an egg with a score (e.g., x9) is shown in the upper right corner of the display. The duration of the game (i.e., the duration for which the system generates collectible items for the user to collect) may be limited. In this embodiment, the leaderboard can also include a timer to indicate the remaining time in the game, as Figure 5H shown in the upper right of the displays in 5I and 5J.

[0068] In one embodiment, the user can also share, for example, his score and location on the leaderboard with other users in the system (e.g., by selecting an icon or button or image to share).

[0069] Embodiments of the present disclosure may send and receive electronic communications, including electronic communications containing media content items, media overlays, or other content in any other form, such as SMS texts, MMS texts, emails, and other communications. The media content items contained in such communications may be provided as attachments, displayed inline in the message, displayed within a media overlay, or delivered in any other suitable manner.

[0070] Software architecture

[0071] Figure 6 is a block diagram showing an exemplary software architecture 606, which may be used in conjunction with various hardware architectures described herein. Figure 6 is a non-limiting example of a software architecture, and it can be understood that many other architectures may be implemented to facilitate the functions described herein. The software architecture 606 may execute on hardware such as Figure 7 a machine 700 including a processor 704, a memory 714, and I / O components 718, etc. The hardware layer 652 is shown and may represent, for example, Figure 7 the machine 700. The hardware layer 652 includes a processing unit 654 with associated executable instructions 604. The executable instructions 604 represent the executable instructions of the software architecture 606, including implementations of the methods, components, etc. described herein. The hardware layer 652 also includes a memory or storage module memory / storage device 656, which also has executable instructions 604. The hardware layer 652 may also include other hardware 658.

[0072] As used herein, the term "component" refers to a device, physical entity, or logic having boundaries defined by a function or subroutine call, a branch point, an application programming interface (API), or other technical definitions that provide a specific processing or control function. Components may be combined with other components via their interfaces to perform machine processes. A component may be an encapsulated functional hardware unit designed to be used with other components, and a part of a program that typically performs related functions.

[0073] A component can be a software component (e.g., code embodied on a machine-readable medium) or a hardware component. A "hardware component" is a tangible unit capable of performing certain operations and can be configured or arranged in some physical manner. In various exemplary embodiments, one or more computer systems (e.g., a stand-alone computer system, a client computer system, or a server computer system) or one or more hardware components of a computer system (e.g., a processor or a group of processors) can be configured by software (e.g., an application or a portion of an application) to operate as a hardware component that performs certain operations as described herein. A hardware component can also be implemented mechanically, electronically, or in any suitable combination thereof. For example, a hardware component can include dedicated circuitry or logic permanently configured to perform certain operations.

[0074] A hardware component can be a dedicated processor, such as a field programmable gate array (FPGA) or an application specific integrated circuit (ASIC). A hardware component can also include programmable logic or circuitry that is temporarily configured by software to perform certain operations. For example, a hardware component can include software executed by a general purpose processor or other programmable processor. After being configured by such software, the hardware component becomes a particular machine (or a particular component of a machine) uniquely customized to perform the configured functions and is no longer a general purpose processor. It should be understood that the decision to implement a hardware component mechanically in dedicated and permanently configured circuitry or in temporarily configured circuitry (e.g., configured by software) can be driven by cost and time considerations.

[0075] A processor can be or include any circuit or virtual circuit (a physical circuit simulated by logic executed on an actual processor) that manipulates data values in accordance with control signals (e.g., "commands", "opcodes", "machine code", etc.) and produces corresponding output signals applied to operate a machine. For example, a processor can be 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), or any combination thereof. A processor can further be a multi-core processor having two or more independent processors (sometimes referred to as "cores") that can execute instructions simultaneously.

[0076] Accordingly, the phrase "hardware component" (or "hardware-implemented component") should be understood to include a tangible entity, i.e., an entity that is a physical construction, a permanent configuration (e.g., hardwired), or a temporary configuration (e.g., programmed) that operates or performs some operations described herein in some manner. Considering an embodiment where a hardware component is temporarily configured (e.g., programmed), it is not necessary to configure or instantiate every hardware component in the hardware component at any one moment. For example, in the case where a hardware component includes a general-purpose processor that is configured by software to be a dedicated processor, the general-purpose processor can be configured as a corresponding different dedicated processor (e.g., including different hardware components) at different times. The software accordingly configures a particular one or more processors, e.g., constituting a particular hardware component at one moment and different hardware components at different moments. A hardware component can provide information to and receive information from other hardware components. Thus, the described hardware components can be regarded as communicatively coupled. In the case where multiple hardware components exist simultaneously, communication can be achieved by signal transmission (e.g., via appropriate circuits and buses) between two hardware components or among more than two hardware components. In an embodiment where multiple hardware components are configured or instantiated at different times, communication between the hardware components can be achieved, for example, by storing and retrieving information in a memory structure accessible to the multiple hardware components.

[0077] For example, a hardware component can perform an operation and store the output of the operation in a memory device communicatively coupled thereto. Then, another hardware component can later access the memory device to retrieve and process the stored output. A hardware component can also initiate communication with an input or output device and can operate on a resource (e.g., a collection of information). The various operations of the example methods described herein can be performed at least in part by one or more processors that are temporarily configured (e.g., via software) or permanently configured to perform the relevant operations. Whether temporarily configured or permanently configured, the processor can constitute a processor-implemented component that is used 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 methods described herein can be implemented at least in part by a processor, where a particular one or more processors are examples of hardware. For example, at least some of the operations in the operations of the method can be performed by one or more processors or processor-implemented components.

[0078] In addition, one or more processors may also operate to support the performance of related operations in a "cloud computing" environment or as "software as a service" (SaaS). For example, at least some of the operations in the operation may be performed by a group of computers (as an example of a machine including a processor), and these operations may be accessed via a network (e.g., the Internet) and via one or more appropriate interfaces (e.g., application programming interface (API)). The performance of certain operations in the operation may be distributed among processors, not only residing within a single machine but also deployed on multiple machines. In some exemplary embodiments, the processor or processor-implemented components may be located in a single geographical location (e.g., within a home environment, an office environment, or a server farm). In other exemplary embodiments, the processor or processor-implemented components may be distributed across multiple geographical locations.

[0079] In Figure 6 the exemplary architecture of, the software architecture 606 may be conceptually viewed as a stack of layers, where each layer provides a specific function. For example, the software architecture 606 may include layers such as an operating system 602, libraries 620, applications 616, and a presentation layer 614. In operation, an application 616 or other components within a layer may call an application programming interface (API) API call 608 through the software stack and receive a message 612 in response to the API call 608. The layers shown are representative in nature, and not all software architectures have all layers. For example, some mobile or dedicated operating systems may not provide a framework / middleware 618, while other operating systems may provide such layers. Other software architectures may include additional layers or different layers.

[0080] The operating system 602 may manage hardware resources and provide common services. The operating system 602 may include, for example, a kernel 622, services 624, and drivers 626. The kernel 622 may act as an abstraction layer between the hardware and other software layers. For example, the kernel 622 may be responsible for memory management, processor management (e.g., scheduling), component management, networking, security settings, etc. The services 624 may provide other common services for other software layers. The drivers 626 are responsible for controlling or interfacing with the underlying hardware. For example, the drivers 626 include a display driver, a camera driver, a driver, a flash drive, a serial communication driver (e.g., a universal serial bus (USB) driver), a Wi-Fi driver, an audio driver, a power management driver, and so on, depending on the hardware configuration.

[0081] The library 620 provides a common infrastructure used by the application 616 or other components or layers. The library 620 provides functions that allow other software components to perform tasks in a way that is easier than directly interfacing with the functions of the underlying operating system 602 (such as the kernel 622, services 624, or drivers 626). The library 620 may include a system library 644 (such as the C standard library), which may provide functions such as memory allocation functions, string manipulation functions, mathematical functions, etc. Additionally, the library 620 may include an API library 646, such as a media library (e.g., a library for supporting the rendering and manipulation of various media formats such as MPREG4, H.264, MP3, AAC, AMR, JPG, PNG), a graphics library (e.g., the OpenGL framework that can be used to render 2D and 3D in graphical content on a display), a database library (e.g., SQLite that can provide various relational database functions), a web library (e.g., WebKit that can provide web browsing functions), etc. The library 620 may also include various other libraries 648 to provide many other APIs to the application 616 and other software components / modules.

[0082] The framework / middleware 618 (sometimes also referred to as middleware) provides a higher-level common infrastructure that can be used by the application 616 or other software components / modules. For example, the framework / middleware 618 can provide various graphical user interface (GUI) functions, advanced resource management, advanced location services, etc. The framework / middleware 618 can provide a wide range of other APIs that can be used by the application 616 or other software components / modules, some of which may be specific to a particular operating system 602 or platform.

[0083] The application 616 includes built-in applications 638 or third-party applications 640. Examples of built-in applications 638 may include, but are not limited to, a contacts application, a browser application, a book reader application, a location application, a media application, a messaging application, and / or a game application. The third-party applications 640 may include applications developed using the ANDROID TM or IOS TM software development kit (SDK), and may be mobile software running on a mobile operating system such as IOS TM 、ANDROID TM 、 、Phone or other mobile operating systems. The third-party applications 640 can call API calls 608 provided by the mobile operating system (such as the operating system 602) to facilitate the implementation of the functions described herein.

[0084] Application 616 can use built-in operating system functions (e.g., kernel 622, services 624, or drivers 626), libraries 620, and frameworks / middleware 618 to create a user interface for interacting with the users of the system. Alternatively or additionally, in some systems, the interaction with the user can occur through a presentation layer (such as presentation layer 614). In these systems, the application / component "logic" can be separated from the aspects of the application / component that interact with the user.

[0085] Figure 7 is a block diagram showing components (also referred to herein as "modules") of a machine 700 capable of reading instructions from a machine-readable medium (e.g., a machine-readable storage medium) and performing any one or more of the methods discussed herein. Specifically, Figure 7 shows a graphical representation of a machine 700 in the example form of a computer system within which instructions 710 (e.g., software, program, application, applet, application software, or other executable code) for causing the machine 700 to perform any one or more of the methods discussed herein can be executed. Thus, the instructions 710 can be used to implement the modules or components described herein. The instructions 710 transform the general, unprogrammed machine 700 into a particular machine 700 programmed to perform the described and shown functions in the described manner. In alternative embodiments, the machine 700 operates as a stand-alone device or can be coupled (e.g., networked) to other machines. In a networked deployment, the machine 700 can operate in the capacity of a server machine or a client machine in a server-client network environment, or as a peer machine in a peer-to-peer (or distributed) network environment. The machine 700 can include, but is not limited to, a server computer, a client computer, a personal computer (PC), a tablet computer, a laptop computer, a netbook, a set-top box (STB), a personal digital assistant (PDA), an entertainment media system, a cellular phone, a smartphone, a mobile device, a wearable device (e.g., a smartwatch), a smart home device (e.g., a smart appliance), other smart devices, a network device, a network router, a network switch, a network bridge, or any machine capable of sequentially or otherwise executing the instructions 710 that specify actions to be taken by the machine 700. Further, although only a single machine 700 is shown, the term "machine" can also be regarded as including a collection of machines that individually or jointly execute the instructions 710 to perform any one or more of the methods discussed herein.

[0086] The machine 700 may include a processor 704, a memory / storage 706, and I / O components 718, which may be configured to communicate with each other, for example, via a bus 702. The memory / storage 706 may include a memory 714 (such as a main memory or other memory storage device) and a storage unit 716, both of which may be accessed by the processor 704, such as via the bus 702. The storage unit 716 and the memory 714 store instructions 710 embodying any one or more of the methods or functions described herein. During the execution of the machine 700, the instructions 710 may also reside, completely or partially, within at least one of the memory 714, the storage unit 716, the processor 704 (e.g., within a cache memory of the processor), or any suitable combination thereof. Accordingly, the memory 714, the storage unit 716, and the memory of the processor 704 are examples of machine-readable media.

[0087] As used herein, the terms “machine-readable medium,” “computer-readable medium,” etc. may refer to a component, device, or other tangible medium capable of temporarily or permanently storing instructions and data. Examples of such media may include, but are not limited to, random access memory (RAM), read-only memory (ROM), buffer memory, flash memory, optical media, magnetic media, cache memory, other types of memory (e.g., erasable programmable read-only memory (EEPROM)), or any suitable combination thereof. The term “machine-readable medium” should be regarded as including a single medium or multiple media capable of storing instructions (e.g., a centralized or distributed database, or associated caches and servers). The term “machine-readable medium” may also be regarded as including any medium or combination of media capable of storing instructions (e.g., code) executable by a machine such that the instructions, when executed by one or more processors of the machine, cause the machine to perform any one or more of the methods described herein. Accordingly, “machine-readable medium” may refer to a single storage device or apparatus, as well as a “cloud-based” storage system or storage network including multiple storage devices or apparatuses. The term “machine-readable medium” excludes signals per se.

[0088] The I / O components 718 may include various components to provide a user interface for receiving input, providing output, generating output, sending information, exchanging information, collecting measurements, etc. The specific I / O components 718 included in the user interface of a particular machine 700 will depend on the type of the 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 will be appreciated that the I / O components 718 may include Figure 7Many other components not shown. The grouping of I / O components 718 by function is for simplicity of discussion only and the grouping is in no way restrictive. In various exemplary embodiments, I / O components 718 may include output components 726 and input components 728. Output components 726 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), haptic components (e.g., vibration motors, resistive mechanisms), other signal generators, and the like. Input components 728 may include alphanumeric input components (e.g., keyboards, touchscreens configured to receive alphanumeric input, optoelectronic keyboards, or other alphanumeric input components), point-based input components (e.g., mice, touchpads, trackballs, joysticks, motion sensors, or other pointing instruments), tactile input components (e.g., physical buttons, touchscreens that provide the location or force of a touch or touch gesture, or other tactile input components), audio input components (e.g., microphones), and the like. Input components 728 may also include one or more image capture devices such as digital cameras for generating digital images or videos.

[0089] In further exemplary embodiments, I / O components 718 may include biometric components 730, motion components 734, environmental components 736 of the environment, or location components 738, as well as a variety of other components. One or more of such components (or portions thereof) may collectively be referred to herein as “sensor components” or “sensors” for collecting various data related to machine 700, the environment of machine 700, the user of machine 700, or combinations thereof.

[0090] For example, the biometric component 730 may include components for detecting expressions (e.g., hand expressions, facial expressions, vocal expressions, body postures, or eye tracking), measuring biometric signals (e.g., blood pressure, heart rate, body temperature, sweat, or brain waves), identifying people (e.g., voice recognition, retina recognition, facial recognition, fingerprint recognition, or electroencephalogram-based recognition), etc. The motion component 734 may include an acceleration sensor component (e.g., an accelerometer), a gravity sensor component, a speed sensor component (e.g., a speedometer), a rotation sensor component (e.g., a gyroscope), etc. The environmental component 736 may include, for example, a lighting 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 the concentration of hazardous gases for safety or measuring pollutants in the atmosphere), or other components that may provide an indication, measurement, or signal corresponding to the surrounding physical environment. The positioning component 738 may include a positioning sensor component (e.g., a Global Positioning System (GPS) receiver component), an altitude sensor component (e.g., an altimeter or a barometer that can detect the air pressure from which the altitude can be derived), an orientation sensor component (e.g., a magnetometer), etc. For example, the positioning sensor component may provide location information associated with the system 700, such as the GPS coordinates of the system 700 or information related to the current location of the system 700 (e.g., the name of a restaurant or other company).

[0091] Communication can be implemented using various techniques. The I / O component 718 may include a communication component 740 that is operable to couple the machine 700 to the network 732 or the device 720 via the coupler 722 and the coupler 724, respectively. For example, the communication component 740 may include a network interface component or another suitable device interfacing with the network 732. In another example, the communication component 740 includes a wired communication component, a wireless communication component, a cellular communication component, a Near Field Communication (NFC) component, components (e.g., low-power ), components and other communication components that provide communication via other modes. The device 720 may be any one of another machine or various peripheral devices (e.g., a peripheral device coupled via a Universal Serial Bus (USB)).

[0092] In addition, the communication component 740 can detect an identifier or include components operable to detect an identifier. For example, the communication component 740 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 barcodes such as Universal Product Code (UPC) barcodes, multi-dimensional barcodes such as Quick Response (QR) codes, Aztec codes, Data Matrix, digital graphics, MaxiCode, PDF417, Ultra Code, UCC RSS-2D barcodes, and other optical codes), or an acoustic detection component (e.g., a microphone for identifying an audio signal of a tag). Further, various information can be derived via the communication component 740 that can indicate a specific location, such as a location via Internet Protocol (IP) geolocation, a location via signal triangulation, a location via detecting an NFC beacon signal, and the like.

[0093] Where terms such as "at least one of A, B, or C", "at least one of A, B, and C", "one or more of A, B, or C", or "one or more of A, B, and C" are used, the term is intended to be interpreted to mean that in an embodiment, A can exist alone, B can exist alone, C can exist alone, or any combination of elements A, B, and C can exist in separate embodiments; for example, A and B can exist, A and C, B and C, or A, B, and C.

[0094] Changes and modifications can be made to the disclosed embodiments without departing from the scope of the present disclosure. As expressed in the appended claims, these and other changes or modifications are intended to be included within the scope of the present disclosure.

Claims

1. A method for generating collectible items based on location information, comprising: causing a map interface to be displayed on a display of a client computing device associated with a first user, the map interface including an avatar of the first user at a location on the map interface based on location information associated with the client computing device and a plurality of collectible items associated with geographical coordinates; in response to receiving an input selecting one of the collectible items displayed on the display from the client computing device, causing an image corresponding to the selected collectible item to be applied to a first camera view of the client computing device, wherein the image corresponding to the selected collectible item includes an image of the selected collectible item overlaid on the first camera view, and the first camera view corresponds to a first camera of the client computing device; and in response to receiving an input selecting the image of the selected collectible item on the first camera view from the client computing device, performing an operation, the operation including: determining a type of the collectible item associated with the selected collectible item; determining a filter associated with the type of the collectible item; and providing access to the filter to the client computing device, the filter being an overlay on a second camera view of the client computing device.

2. The method according to claim 1, wherein, the plurality of collectible items includes multiple types of collectible items, and each type of collectible item is associated with a number of points.

3. The method according to claim 2, further comprising: causing a score associated with the first user or the number of collectible items collected by the first user to be displayed by the client computing device.

4. The method according to claim 2, further comprising: causing a leaderboard to be displayed on the client computing device, wherein the leaderboard includes rankings of a plurality of users including the first user based on scores obtained by collecting collectible items.

5. The method according to claim 1, further comprising: determining whether the client computing device is within a predetermined distance from the geographical coordinates associated with the selected collectible item.

6. The method according to claim 5, further comprising: in response to determining that the client computing device is not within the predetermined distance, causing a message to be displayed on the client computing device prompting the first user to move closer to the geographical coordinates associated with the selected collectible item.

7. The method according to claim 1, further comprising: receiving authorization from the client computing device for the first user to use the location information.

8. The method according to claim 1, further comprising: obtaining avatar information of the first user from a database.

9. The method according to claim 5, further comprising: in response to determining that the client computing device is within the predetermined distance, causing the image of the selected collectible item displayed on the first camera view to change, wherein causing the image to change includes animating the image of the selected collectible item.

10. The method according to claim 1, further Comprising: Based on the number of points associated with the selected collectible item, causing the score included on the map interface to increase.

11. A non-transitory computer-readable storage medium having instructions stored thereon that, when executed by a processor, cause the processor to perform operations, the operations Comprising: Causing a map interface to be displayed on a display of a client computing device associated with a first user, the map interface including an avatar of the first user at a location on the map interface based on location information associated with the client computing device and a plurality of collectible items based on location information associated with geographical coordinates; In response to receiving an input selecting one of the collectible items displayed on the display from the client computing device, Causing an image corresponding to the selected collectible item to be applied to a first camera view of the client computing device, wherein the image corresponding to the selected collectible item includes an image of the selected collectible item overlaid on the first camera view, and the first camera view corresponds to a first camera of the client computing device; and In response to receiving an input selecting the image of the selected collectible item on the first camera view from the client computing device, performing operations, the operations including: Determining the type of collectible item associated with the selected collectible item; Determining a filter associated with the type of the collectible item; and Providing access to the filter to the client computing device, the filter being an overlay on a second camera view of the client computing device.

12. The non-transitory computer-readable storage medium according to claim 11, wherein, The plurality of collectible items includes multiple types of collectible items, and each type of collectible item is associated with a number of points.

13. The non-transitory computer-readable storage medium according to claim 12, wherein, The operations further include: Causing the score associated with the first user or the number of collectible items collected by the first user to be displayed by the client computing device.

14. The non-transitory computer-readable storage medium according to claim 12, wherein, The operations further include: Causing a leaderboard to be displayed on the client computing device, wherein the leaderboard includes rankings of multiple users including the first user based on scores obtained by collecting collectible items.

15. The non-transitory computer-readable storage medium according to claim 11, wherein, The operations further include: Determining whether the client computing device is within a predetermined distance from the geographical coordinates associated with the selected collectible item.

16. The non-transitory computer-readable storage medium according to claim 15, wherein, The operations further include: In response to determining that the client computing device is not within the predetermined distance, Causing a message to be displayed on the client computing device prompting the first user to move closer to the geographical coordinates associated with the selected collectible item.

17. The non-transitory computer-readable storage medium according to claim 15, wherein, The operations further include: In response to determining that the client computing device is within the predetermined distance, causing an image of the selected collectible item displayed on the first camera view to change, wherein causing the image of the selected collectible item to change includes animating the image of the selected collectible item.

18. The non-transitory computer-readable storage medium according to claim 11, wherein, the operation further includes: Based on the number of points associated with the selected collectible item, causing a score included on the map interface to increase.

19. A system for generating collectible items based on location information, comprising: a processor; and a memory that stores instructions that, when executed by the processor, cause the processor to perform operations, the operations including: Causing a map interface to be displayed on a display of a client computing device associated with a first user, the map interface including an avatar of the first user at a location on the map interface based on location information associated with the client computing device and a plurality of collectible items based on location information associated with geographic coordinates; In response to receiving an input from the client computing device to select one of the collectible items displayed on the display, Causing an image corresponding to the selected collectible item to be applied to a first camera view of the client computing device, wherein the image corresponding to the selected collectible item includes an image of the selected collectible item overlaid on the first camera view, the first camera view corresponding to a first camera of the client computing device; and In response to receiving an input from the client computing device to select the image of the selected collectible item on the first camera view, performing operations, the operations including: Determining the type of collectible item associated with the selected collectible item; Determining a filter associated with the type of the collectible item; and Providing access to the filter to the client computing device, the filter being an overlay on a second camera view of the client computing device.

20. The system according to claim 19, wherein, the operation further includes: Determining whether the client computing device is within a predetermined distance from the geographic coordinates associated with the selected collectible item; and In response to determining that the client computing device is not within the predetermined distance, causing a message to be displayed on the client computing device prompting the first user to move closer to the geographic coordinates associated with the selected collectible item.

Citation Information

Patent Citations

  • Levering geo-ip information to select default avatar

    CN103339583A

  • Local sensor augmentation of stored content and AR communication

    CN103988220A