CN114462079A - System and method for multiple photo feed stories - Google Patents

System and method for multiple photo feed stories Download PDF

Info

Publication number
CN114462079A
CN114462079A CN202210051008.5A CN202210051008A CN114462079A CN 114462079 A CN114462079 A CN 114462079A CN 202210051008 A CN202210051008 A CN 202210051008A CN 114462079 A CN114462079 A CN 114462079A
Authority
CN
China
Prior art keywords
user
social networking
items
digital media
communication
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210051008.5A
Other languages
Chinese (zh)
Inventor
迪尔克·斯托普
戴克 约恩·范
何琳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Meta Platforms Inc
Original Assignee
Meta Platforms Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US13/591,512 external-priority patent/US9378393B2/en
Application filed by Meta Platforms Inc filed Critical Meta Platforms Inc
Publication of CN114462079A publication Critical patent/CN114462079A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0486Drag-and-drop
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/048Indexing scheme relating to G06F3/048
    • G06F2203/04806Zoom, i.e. interaction techniques or interactors for controlling the zooming operation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Economics (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • Human Resources & Organizations (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Human Computer Interaction (AREA)
  • Information Transfer Between Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Telephonic Communication Services (AREA)

Abstract

The application relates to a system and method for multiple photo feed stories. In one embodiment, a method comprises: receiving an indication of one or more items of digital media; receiving a communication regarding one or more items of digital media; associating the one or more items of digital media with the communication based on the indication; and setting a privacy level for the communication and the one or more items of digital media on the social networking system based on the privacy settings of the user on the social networking system.

Description

System and method for multiple photo feed stories
The present application is a divisional application filed on 2013, 8/20, application No. 201380055053.7 entitled "system and method for multi-photo feed story".
Cross Reference to Related Applications
This application is a continuation of U.S. application No. 13/565, 594 filed on 8/2/2012, the disclosure of which is incorporated herein by reference in its entirety.
Technical Field
The present invention relates to the field of social networking. More specifically, the present invention provides a technique for selecting a plurality of images in a user interface of a social networking system.
Background
Internet social networking has become an important phenomenon. Social networks typically allow internet users to create accounts and user profiles free of charge and interact with other users of the social network. A social network user may gain access to another user's profile by requesting to add him or her as a friend. Once agreed, "friends" typically give two users access to each other's personal details and content published on their pages. Friends ' posts may be displayed as news stories in each other's newsfeed, and friends may typically comment on each other's news stories. Social network users typically attempt to bring together a group of friends or followers with whom they interact. Often, most of the information about a user's profile is accessible only to the user's friends.
Social networks provide users with increasingly complex functionality. Early social networks provided little more than a simple interface for users to communicate and post messages. Now, on many social networks, users can share many different types of content and interact with each other's content in various ways. The content shared on the social network may include digital media such as images. Users may focus an album that includes photos and other content and share their album with their friends. Because of their collaborative nature, social networks have now become a popular means for many people to share photos and other media content.
Furthermore, as technology has developed, social networks have introduced tools for accessing social networking systems from an increasing variety of technology platforms. Initially, the user interface of the social networking system was designed with a desktop web browser in mind, since most users only accessed the internet from a desktop computer. However, the exponential growth of mobile computing has resulted in the access to the internet from a variety of different devices and platforms. Because each technology platform has different technical capabilities and limitations, an interface to the social network that is customized for the specific platform is required.
Disclosure of Invention
To allow for ease of navigation in a photo browsing interface of a social networking system, embodiments of the present invention include systems, methods, and computer-readable media that facilitate selection of a plurality of photos in an interface of a social networking system. The indication of the first image originates from within at least one of a single image view and a camera view. Based on the indication, the first image is added to the communication.
In an embodiment, the first image may originate from a camera. The first image may originate within a social networking application or within a dedicated camera application. The single image view may be a gallery view.
In an embodiment, communications may be provided to a social networking system. The communication may include text associated with the first image. In another embodiment, a de-indication to share the first image may be received. The first image may be removed from the communication. An indication to share the second image may be received. The second image may be added to the communication.
In an embodiment, receiving the indication to share the first image may be based on a user selection of a checkmark option. Receiving an indication to share the first image may be based on a user selection of a share shutter option. Receiving the indication to share the first image may be based on a voice instruction. Receiving the indication to share the first image may be based on an interaction with an input mechanism. The input mechanism may be a touch screen or a pointing device.
In an embodiment, a reference indication specifying a number of images to share may be displayed. The number of displays may be increased when additional images are designated for sharing.
In another embodiment, the communication and the privacy level of the designated image are based on a privacy setting selected by the user. Within the social networking system, the privacy level of the communication and the designated image are the same. The user may select privacy settings to allow only himself to access the communication and specify the image. Or the user may select privacy settings to allow friends on his social networking system to access the communication and specify the image.
In an alternative embodiment, the communication and the designated image may include tag data identifying one or more persons on the social networking system. The privacy level of the communication and the designated image is adjusted according to the one or more persons identified in the tag data. Based on the privacy settings selected by the user, the tagged person may access the communication and specify the image. Or alternatively, a friend of the tagged person may also access the communication and specify the image.
Many other features and embodiments of the present invention will be apparent from the accompanying drawings and from the detailed description that follows.
The present invention provides the following:
1) a computer-implemented method, comprising:
receiving an indication of one or more items of digital media;
receiving a communication regarding the one or more items of digital media;
associating the one or more items of digital media with the communication based on the indication; and is
Setting a privacy level for the communication and the one or more items of digital media on a social networking system based on a privacy setting of a user on the social networking system.
2) The computer-implemented method of 1), wherein the privacy level only allows the user on the social networking system to access the communication and the one or more items of digital media.
3) The computer-implemented method of 1), wherein the privacy level allows only the user and friends of the user on the social networking system to access the communication and the one or more digital media.
4) The computer-implemented method of 1), further comprising: receiving tag data regarding the communication or the one or more items of digital media, wherein the tag data identifies one or more people on the social networking system.
5) The computer-implemented method of 4), further comprising: adjusting the privacy level of the communication and the one or more items of digital media based on the one or more persons identified in the tag data.
6) The computer-implemented method of 5), wherein adjusting the privacy level comprises further allowing the one or more people identified in the tag data to access the communication and the one or more items of digital media.
7) The computer-implemented method of 6), wherein adjusting the privacy level comprises further allowing friends of the one or more persons identified in the tag data to access the communication and the one or more items of digital media.
8) The computer-implemented method of 5), wherein adjusting the privacy level comprises restricting access to the communication and the one or more items of digital media when the tag data identifying one or more persons on the social networking system is removed.
9) The computer-implemented method of 1), wherein the digital media comprises a digital image.
10) The computer-implemented method of 1), wherein the communication comprises textual content.
11) A computer readable storage medium containing computer program code for:
receiving an indication of one or more items of digital media;
receiving a communication regarding the one or more items of digital media;
associating the one or more items of digital media with the communication based on the indication; and is
Setting a privacy level for the communication and the one or more items of digital media on a social networking system based on a privacy setting of a user on the social networking system.
12) The computer-readable storage medium of 11), wherein the privacy level allows only the user on the social networking system to access the communication and the one or more items of digital media.
13) The computer-readable storage medium of 11), wherein the privacy tier allows only the user and friends of the user on the social networking system to access the communication and the one or more digital media.
14) The computer-readable storage medium of 11), further comprising, receiving tag data regarding the communication or the one or more items of digital media, wherein the tag data identifies one or more people on the social networking system.
15) The computer-readable storage medium of 14), further comprising adjusting the privacy level of the communication and the one or more items of digital media based on the one or more persons identified in the tag data.
16) The computer-readable storage medium of 15), wherein adjusting the privacy level comprises further allowing the one or more people identified in the tag data to access the communication and the one or more items of digital media.
17) The computer-readable storage medium of 16), wherein adjusting the privacy level comprises further allowing friends of the one or more persons identified in the tag data to access the communication and the one or more items of digital media.
18) The computer-readable storage medium of 15), wherein adjusting the privacy level comprises restricting access to the communication and the one or more items of digital media when the tag data identifying one or more persons on the social networking system is removed.
19) The computer-readable storage medium of 11), wherein the digital media comprises digital images.
20) The computer-readable storage medium of 11), wherein the communication includes textual content.
Drawings
FIG. 1 illustrates a network diagram of a system for selecting a plurality of images in a user interface of a social networking system, according to an embodiment of the present invention.
FIG. 2A illustrates a user of a social networking system copying a photograph taken with his digital camera onto his computer, according to an embodiment of the present invention.
FIG. 2B illustrates a user accessing a user interface to upload a photograph to a social networking system, according to an embodiment of the present invention.
FIG. 2C illustrates a photograph uploaded to a social networking system and displayed in a user interface, according to an embodiment of the invention.
FIG. 2D illustrates a user applying extensive editing to a photograph, resulting in a modified photograph, in accordance with an embodiment of the present invention.
FIG. 3A illustrates a camera view in an interface of a camera application on a mobile device according to an embodiment of the present invention.
FIG. 3B illustrates a gallery view in the interface of a camera application on a mobile device according to an embodiment of the present invention.
FIG. 3C illustrates a message compose view in an interface of a social networking application on a mobile device, according to an embodiment of the present invention.
FIG. 4A illustrates a home screen view in an interface of a social network application on a mobile device according to an embodiment of the present invention.
FIG. 4B illustrates a camera view in an interface of a social networking application on a mobile device, according to an embodiment of the present invention.
FIG. 4C illustrates a message compose view in an interface of a social networking application on a mobile device, according to an embodiment of the present invention.
FIG. 5A illustrates a gallery view in an interface of a social networking application on a mobile device, according to an embodiment of the present invention.
FIG. 5B illustrates a thumbnail view in an interface of a social networking application on a mobile device, according to an embodiment of the present invention.
FIG. 5C illustrates a message compose view in an interface of a social networking application on a mobile device, according to an embodiment of the present invention.
Fig. 6 illustrates a process of selecting a plurality of images according to an embodiment of the present invention.
FIG. 7A illustrates a camera view in an interface of a social networking application on a mobile device, according to an embodiment of the present invention.
FIG. 7B illustrates a gallery view in an interface of a social networking application on a mobile device, according to an embodiment of the present invention.
FIG. 7C illustrates a thumbnail view in an interface of a social networking application on a mobile device, according to an embodiment of the present invention.
FIG. 7D illustrates a miniaturization effect in a gallery view in an interface of a social networking application on a mobile device, according to an embodiment of the present invention.
FIG. 8 illustrates a process of displaying an animation to represent a user designation to share an image.
FIG. 9 illustrates an example of a computer system that can be used to implement one or more embodiments described herein.
FIG. 10A illustrates a gallery view in which a person on a social networking system is tagged in an image, according to an embodiment of the disclosed subject matter.
FIG. 10B illustrates a thumbnail view specifying multiple images according to an embodiment of the disclosed subject matter.
FIG. 10C illustrates a message compose view of a communication associated with multiple images on a social networking system where multiple people are tagged, according to an embodiment of the disclosed subject matter.
FIG. 10D illustrates a privacy settings view selected by a user for communication and related image privacy levels according to an embodiment of the disclosed subject matter.
The drawings describing various embodiments of the invention are for illustration only, wherein like reference numerals are used to identify like elements. One skilled in the art will readily recognize from the following discussion that alternative embodiments of the structures and methods illustrated in the accompanying drawings may be employed without departing from the principles described in the present disclosure.
Detailed Description
Social networking System-general introduction
FIG. 1 is a network diagram of a system 100 for selecting a plurality of images in a mobile user interface of a social networking system, according to an embodiment of the present invention. The system 100 includes one or more user devices 110, one or more external systems 120, a social networking system 130, and a network 150. For illustrative purposes, the embodiment of the system 100 shown in fig. 1 includes a single external system 120 and a single user device 110. However, in other embodiments, the system 100 may include multiple user devices 110 and/or multiple external systems 120. In some embodiments, the social networking system 130 is operated by a social networking provider, while the external system 120 is independent of the social networking system 130 in that the external system 120 may be operated by a different entity. However, in various embodiments, the social networking system 130 and the external system 120 operate together to provide social networking services to users (or members) of the social networking system 130. In this sense, the social networking system 130 provides a platform or framework that other systems, such as the external system 120, may use to provide social networking services and functionality to internet users.
User device 110 includes one or more computing devices capable of receiving input from a user and capable of sending and receiving data via network 150. In one embodiment, for example, user device 110 is a conventional computer system executing a Microsoft Windows-compatible Operating System (OS), Apple OS X, and/or Linux distribution program. In another implementation, the user device 110 may be a computer-enabled device such as a smartphone, tablet, Personal Digital Assistant (PDA), mobile phone, or the like. User equipment 110 is configured to communicate over network 150. The user device 110 may execute an application, such as a browser application, that allows a user of the user device 110 to interact with the social networking system 130. In another embodiment, the user device 110 interacts with the social networking system 130 through an Application Programming Interface (API) provided by the native operating system of the user device 110, such as iOS 4 and ANDROID. The user device 110 is configured to communicate with the external system 120 and the social networking system 130 via the network 150 using a wired and/or wireless communication system, and the network 140 may include any combination of local and/or wide area networks.
In one embodiment, the network 150 uses standard communication technologies and protocols. Thus, the network 150 may include links using technologies such as Ethernet 802.11, Worldwide Interoperability for Microwave Access (WiMAX), 3G, 4G, CDMA, GSM, LTE, Digital Subscriber Line (DSL), and the like. Likewise, network protocols used in network 150 may include multiprotocol label switching (MPLS), transmission control protocol/internet protocol (TCP/IP), User Datagram Protocol (UDP), hypertext transfer protocol (HTTP), Simple Mail Transfer Protocol (SMTP), File Transfer Protocol (FTP), and so forth. Data exchanged over network 150 can be represented using techniques and/or formats including hypertext markup language (HTML) and extensible markup language (XML). In addition, all or some of the links can be encrypted using common encryption techniques such as Secure Sockets Layer (SSL), Transport Layer Security (TLS), and internet protocol security (IPsec).
In one embodiment, the user device 110 may display content from the external system 120 and/or the social networking system 130 by processing the markup language document 114 received from the external system 120 and from the social networking system 130 using the browser application 112. The markup language document 114 identifies content and one or more instructions describing the format or prompt of the content. By executing the instructions included in the markup language document 114, the browser application 112 displays the identified content using the format or prompts described by the markup language document 114. For example, the markup language document 114 includes instructions for generating and displaying a web page having a plurality of frames including text and/or image data retrieved from the external system 120 and the social networking system 130. In various embodiments, the markup language document 114 includes a data file that includes extensible markup language (XML) data, extensible hypertext markup language (XHTML) data, or other markup language data. In addition, the markup language document 114 can include JavaScript Object Notification (JSON) data, JSON with padding (JSONP), and JavaScript data to facilitate data exchange between the external system 120 and the user device 110. The browser application 112 on the user device 110 may decode the markup language document 114 using a JavaScript compiler.
The markup language document 114 can also include, or be linked to, for example, FLASHTMOr UnityTMApplication program, SilverlightTMApplications of application frameworks and the likeA program or application framework.
In one embodiment, the user device 110 also includes one or more cookies 116 containing data indicating whether the user of the user device 110 is logged into the social networking system 130, which may enable customization of data communicated from the social networking system 130 to the user device 110. In one embodiment, user device 110 also includes an image processing module 118, a camera 124, and a storage module 126.
The external system 120 includes one or more web servers including one or more web pages 122 transmitted to the user device 110 using the network 150. The external system 120 is independent of the social networking system 130. For example, the external system 120 is associated with a first domain, while the social networking system 130 is associated with a separate social networking domain. The web pages 122a, 122b included in the external system 120 include markup language documents 114 that identify content and include instructions identifying the specified format or prompt for the content.
The social networking system 130 includes one or more computing devices for a social network, the social networking system 130 including a plurality of users and providing users of the social network with the ability to communicate and interact with other users of the social network. In some cases, the social network may be represented by a graph, i.e., a data structure containing edges and nodes. Other data structures may also be used to represent a social network including, but not limited to, a database, an object, a category, a parent element (meta element), a file, or any other data structure.
Users may join the social networking system 130 and then add to the connections of any number of other users of the social networking system 130 to which they wish to connect. As used in this disclosure, the term "friend" refers to any other user of the social networking system 130 with whom the user forms a connection, association, or relationship through the social networking system 130. For example, in an embodiment, if a user in the social networking system 130 is represented as a node in a social graph, the term "friend" may refer to an edge formed between and directly connecting two user nodes.
Based on common characteristics of the users (e.g., users who are alumni of the same educational institution), the users may explicitly add or the social networking system 130 may automatically create connections. For example, the first user specifically selects a particular other user to be a friend. The connections in the social networking system 130 are typically, but not necessarily, bi-directional, and thus the terms "user" and "friend" depend on the frame of reference. Connections between users of the social networking system 130 are typically bilateral ("bi-directional"), or "mutual," but connections may likewise be unilateral, or "unidirectional. For example, if Bob and Joe are two users of the social networking system 130 and are connected to each other, then Bob and Joe are connections to each other. If, on the other hand, Bob wishes to connect to Joe to view the data conveyed by Joe to the social networking system 130, but Joe does not wish to form an interconnection, so a one-sided connection may be established. The connection between users may be a direct connection; however, some embodiments of the social networking system 130 allow for indirect connections through one or more levels of connection or degrees of separation.
In addition to creating and saving connections between users and allowing interaction between users, the social networking system 130 provides users with the ability to act on various types of items supported by the social networking system 130. These items may include groups or networks (i.e., social networks of people, entities, and concepts) to which the users of the social networking system 130 belong, events or calendar entries in which are of interest to the users, transactions that allow the users to purchase or sell items by the social networking system 130 or services offered by the social networking system 130 through the social networking system 130 using computer-aided applications, and interactions with advertisements that the users perform on the social networking system 130 or perform away from the social networking system 130. These are just a few examples of items that a user may act on the social networking system 130, and many other embodiments are possible. The user may interact with anything that can be represented in the social networking system 130 or in the external system 120, independent of the social networking system 130, coupled to the social networking system 130 via the network 150.
The social networking system 130 may also be capable of linking various entities. For example, the social networking system 130 enables users to interact with each other and with external systems 120 or other entities through APIs, web services, or other communication channels. The social networking system 130 generates and maintains a "social graph" that includes a plurality of nodes interconnected by a plurality of edges. Each node in the social graph may represent an entity that may act on and/or be acted upon by another node. The social graph may include various types of nodes. Examples of types of nodes include users, non-personal entities, content items, web pages, groups, activities, messages, concepts, and any other thing that may be represented by an object in the social networking system 130. An edge between two nodes in a social graph represents some connection, or association, between the two nodes that may be generated by a node relationship or an action performed by one of the nodes on the other node. In some cases, edges between nodes may be weighted. The weight of an edge may represent an attribute associated with the edge, such as the strength of a connection or association between nodes. Different types of edges are provided with different weights. For example, edges created when one user "likes" another user may be given one weight, while edges created when a user becomes a friend of another user may be given a different weight.
For example, when a first user identifies a second user as a friend, an edge is generated in the social graph that connects a node representing the first user with a second node representing the second user. As the various nodes are connected or interacting with each other, the social networking system 130 modifies the edges connecting the various nodes to reflect the relationships and interactions.
The social networking system 130 also includes user-generated content that enhances the interaction between the user and the social networking system 130. User-generated content may include anything a user may add, upload, send, or "post" to the social networking system 130. For example, the user transmits a post from the user device 110 to the social networking system 130. Posts may include data such as status updates or other textual data, location information, images such as photographs, videos, links, music, or other similar data and/or media. Content may also be added to the social networking system 130 by a third party. The content "item" is represented as an object in the social networking system 130. In this way, users of the social networking system 130 are encouraged to publish text and content items of various types of media to communicate with each other through various communication channels. Such communication increases the frequency of user interaction with each other and with the social networking system 130.
The social networking system 130 includes a web server 132, an API request server 134, a user profile store 136, a connection store 138, an action recorder 140, an activity log 142, an authorization server 144, and an image processing module 146. In embodiments of the invention, the social networking system 130 may include additional, fewer, or different components for various applications. Other components such as network interfaces, security mechanisms, load balancers, failover servers, management and network operations consoles, and the like, are not shown in order not to obscure the details of the system.
The user account memory 136 holds information about the user account, including biographies, demographics, and other types of descriptive information, such as work experience, educational background, hobbies or preferences, location, etc., published by the user or inferred by the social networking system 130. This information is stored in the user account memory 136 so that each user can be uniquely identified. The social networking system 130 also stores data describing one or more connections between different users in the connection store 138. The connection information may represent users with similar or co-working experience, group membership, hobbies, or educational background. In addition, the social networking system 130 includes user-defined connections between different users to allow the users to specify their relationships with other users. For example, user-defined connections allow a user to generate relationships with other users, such as friends, colleagues, buddies, etc., that are parallel to the user's real-life relationships. Users may select from a predetermined type of connection and define their own connection type as desired. Connections to other nodes in the social networking system 130, such as impersonal entities, storage (buckets), cluster centers, images, interests, pages, external systems, concepts, and the like, may also be stored in the connection store 138.
The social networking system 130 maintains data about objects with which a user may interact. To save this data, the user account store 136 and the connection store 138 store instances of the corresponding type of objects saved by the social networking system 130. Each object type has an information field suitable for storing appropriate information into the type object. For example, the user account storage 136 includes a data structure having fields suitable for describing the user's account and information related to the user's account. When a new object of a particular type is created, the social networking system 130 initializes a new data structure of the corresponding type, assigns a unique object identifier to the new data structure, and begins adding data to the object as needed. This may occur, for example, when a user becomes a user of the social networking system 130, when the social networking system 130 generates a new instance of a user profile in the user account storage 136, assigns a unique identifier to a user account, and begins to populate fields of the user account with information provided by the user.
Connection store 138 includes data structures suitable for describing a user's connection to other users, connections to external systems 120, or connections to other entities. The connection store 138 may also associate connection types with user connections, and the connection store 138 may be used in conjunction with user privacy settings to regulate access to information about the user. In an embodiment of the present invention, the user account storage 136 and connection 138 may be implemented as a federated database.
The data stored in the connection store 138, the user account store 136, and the activity log 142 enables the social networking system 130 to generate a social graph that identifies various objects and edges connecting nodes using the nodes to identify relationships between different objects. For example, if a first user creates a connection with a second user in the social networking system 130, the user accounts of the first user and the second user from the user account storage 136 may be used as nodes in the social graph. The connection between the first user and the second user stored by the connection storage 138 is an edge between nodes associated with the first user and the second user. Continuing with this example, the second user may then send a message to the first user within the social networking system 130. The action that may be stored to send the message is another edge between two nodes representing the first user and the second user in the social graph spectrum. Further, the message itself may be identified and included in the social graph as another node connected to the nodes representing the first user and the second user.
In another example, the first user may tag a second user in an image maintained by the social networking system 130 (or, alternatively, in an image maintained by another system than the social networking system 130). The images themselves may be represented as nodes in the social networking system 130. The tagging action may create an edge between the first user and the second user and an edge between each user and an image, which is also a node in the social graph. In yet another example, if the user confirms to attend an event, the user and the event are nodes obtained from the user account storage 136, where attend to the event is an edge between the nodes retrievable from the activity log 142. By generating and maintaining a social graph, the social networking system 130 includes data that describes a variety of different types of objects and interactions and connections between these objects, thereby providing social-related information that is rich in resources.
The web server 132 links the social networking system 130 to one or more user devices 110 and/or one or more external systems 120 via a network 150. Web server 132 may be used as a web page, as well as other web-related content, such as Java, JavaScript, Flash, XML, and the like. The web server 132 may include a mail server or other messaging functionality for receiving and routing messages between the social networking system 130 and one or more user devices 110. The message may be an instant message, a queue message (e.g., email), a text and SMS message, or any other suitable message format.
The API request server 134 allows one or more external systems 120 and user devices 110 to access information from the social networking system 130 by calling one or more API functions. The API request server 134 may also allow the external system 120 to send information to the social networking system 130 by calling an API. In one embodiment, the external system 120 sends the API request to the social networking system 130 over the network 150, and the API request server 134 receives the API request. The API request server 134 processes the API request by calling the API associated with the API request to generate an appropriate response, which the API request server 134 communicates to the external system 120 over the network 150. For example, the API request server 134 collects data associated with a user, such as a user connection that has logged into the external system 120, in response to the API request and transmits the collected data to the external system 120. In another embodiment, the user device 110 communicates with the social networking system 130 through an API in the same manner as the external system 120.
The action recorder 140 can receive communications from the web server 132 regarding user actions on the social networking system 130 and/or outside of the social networking system 130. The action logger 140 populates the activity log 142 with information about user actions, thereby enabling the social networking system 130 to discover various actions taken by its users within the social networking system 130 or outside of the social networking system 130. Any action taken by a particular user on another node in the social networking system 130 may be associated with the account of the respective user by information maintained in the activity log 142 or in a similar database or other data repository. For example, examples of identified and stored actions taken by a user within the social networking system 130 may include adding a connection to another user, sending a message to another user, reading a message from another user, viewing content associated with another user, attending an event posted by another user, posting an image, attempting to post an image, or other actions interacting with another user or another object. When a user takes an action within the social networking system 130, the action is recorded in the activity log 142. In one embodiment, the social networking system 130 maintains the activity log 142 as a database of entries. When an action is taken within the social networking system 130, an entry regarding the action is added to the activity log 142. The activity log 142 may be referred to as an action log.
Further, user actions may be associated with concepts and actions occurring within entities outside of the social networking system 130, such as the external system 120 that is independent of the social networking system 130. For example, the action recorder 140 may receive data from the web server 132 describing the user's interaction with the external system 120. In this example, the external system 120 reports the user's interactions according to structured actions and objects in the social graph.
Other examples of behaviors that the user interacts with the external system 120 include the user indicating an interest in the external system 120 or another entity, the user posting a comment to the social networking system 130 discussing the external system 120 or a web page 122a within the external system 120, the user posting a Uniform Resource Locator (URL) or other identifier associated with the external system 120 to the social networking system 130, the user attending an event associated with the external system 120, or any other behavior performed by the user in relation to the external system 120. Thus, the activity log 142 may include actions that describe interactions between users of the social networking system 130 and external systems 120 that are independent of the social networking system 130.
The authorization server 144 enforces one or more privacy settings for the users of the social networking system 130. The privacy settings of the user determine how to share certain information associated with the user. The privacy settings include specifications for particular information associated with the user and specifications for entities with which the information can be shared. Examples of entities with which information can be shared may include other users, applications, external systems 120, or any entity that can potentially access the information. Information that a user can share includes user account information like profile photos, phone numbers associated with the user, user connections, actions taken by the user such as adding a connection, changing user profile information, and the like.
The privacy settings specifications may be provided at different levels of granularity. For example, privacy settings may determine specific information shared with other users; the privacy settings determine the specific settings for the work phone number or related information, such as personal information including a profile photo, home phone number, and identity. Alternatively, the privacy settings may be applied to all information associated with the user. The specification of the set of entities that may access particular information may also be specified at different levels of granularity. For example, the sets of entities with which information can be shared may include all friends of the user, all friends of the friends, all applications, or all external systems 120. One embodiment allows the specification of the set of entities to include a list of entities. For example, the user may provide a list of external systems 120 that are allowed to access certain information. Another embodiment allows the specification to include a set of entities and no exceptions are allowed to access the information. For example, a user may allow all external systems 120 to access the user's work information, but specify that no access to the list of external systems 120 is allowed for the work information. Some embodiments refer to the list of exceptions that are not allowed to access certain information as a "blacklist". External systems 120 designated by the user as belonging to the blacklist are prevented from accessing information specified in the privacy settings. Various combinations of the granularity of the specification of the information, and the granularity of the specification of the entity sharing the information are possible. For example, all personal information may be shared with friends, while all work information may be shared with friends of friends.
Authorization server 144 includes logic to determine whether a user's friends, external systems 120, and/or other applications and entities can access certain information associated with the user. The external system 120 requires authorization from the authorization server 144 to access the user's more private and sensitive information, such as the work phone number. Authorization server 144 determines whether to allow another user, external system 120, application, or another entity to access communications associated with the user, including information about actions taken by the user, based on the user's privacy settings.
The image processing module 146 of the social networking system 130 and the image processing module 118 of the user device 110 provide image management capabilities. In an embodiment, the image processing module 118 receives images acquired by a camera 124 within the user device 110 or images provided to the user device 110 from another source. The image may be saved to a storage module 126 within user device 110. User input applied to the user device 110 may cause the image saved in the storage module 126 to be designated as shared, to add a message, and to be provided to the social networking system 130. The function of specifying shared images is described in more detail below.
Multiple photo selection
Users may upload and share digital images using the collaboration features and functionality of the social networking system 130. A user of the social networking system 130 may upload pictures of the material that represent prominent features on her material as well as friends and other users identifying her material. The user may also upload a cover image of a title across the top that may be displayed as the user's material. In addition to the material picture and cover image, the user may upload images to share with other users, such as a photograph of an event, a craft picture, a professional photography folder, a photograph of nature, or any other type of digital image.
2A-2D illustrate an online photo sharing functionality of a social networking system 130, according to an embodiment of the present invention. In fig. 2A, the user Brady Carr has copied a picture 202 taken with his digital camera 203 to his computer 201 a. In FIG. 2B, Brady Carr accesses user interface 204 to upload photograph 202 to social-networking system 130. The bradycarr selects an upload option 205 within the user interface 204, which upload option 205 prompts him to browse the location of the photograph on the local memory of his computer 201. He finds the photo 202 and selects the 'OK' option 206. In FIG. 2C, the photograph 202 has been uploaded to the social networking system 130 and displayed within the user interface 204. The user interface 204 in fig. 2C includes a photo editing panel 207 with an options toolbar 208. In FIG. 2D, Brady Carr has applied extensive editing to photograph 202, resulting in a modified photograph 209. These edits include a 90 degree rotation indicated by a 'rotate' button 210, a crop indicated by a 'crop' button 211, and a blur indicated by a 'blur' button 212. Bradycarr can finalize and submit these edits by selecting the 'save' option.
With the advent of mobile devices including built-in cameras and connected to wireless data networks, photo sharing has become an increasingly prominent feature of social networking systems. In fig. 2A-2D, Brady Carr has taken a photograph by using a digital camera 203, transferred a photograph 202 from the digital camera 203 to a computer 201 using a wired connection, and uploaded the photograph 202 from the computer 201 to the social networking system 130 to share the photograph 202. Camera-enabled mobile devices, however, have made the process of sharing photos easier. The operator of the social networking system 130 may provide a social networking application for the mobile device that allows the user to easily upload photos directly from his mobile device. Furthermore, because people can carry mobile devices like smartphones around them more often than carrying a dedicated camera, they can have more opportunities to take pictures and share them.
The camera of the mobile device may be used to obtain images from within a dedicated camera application or from within a social networking application on the mobile device. The images acquired by the camera may be stored in a local storage module, such as storage module 126, within the mobile device for subsequent use. Images captured by the camera, or other images stored in a local storage module within the mobile device, may be uploaded to the social networking system 130 using a social networking application. According to one embodiment of the invention, the camera application may be initialized independently of the social networking application, and the option to upload images to the social networking system 130 using the social networking application may be selected from within the camera application. According to another embodiment, the camera may be accessed from within the social networking application. Images acquired using a camera or otherwise stored in the mobile device may be viewed in a single image view, with one image displayed in an interface of the mobile device. The single image view refers to a gallery view. Alternatively, images acquired using a camera or otherwise stored on the mobile device may be viewed within multiple images, wherein the multiple images are simultaneously displayed in a compact form in an interface of the mobile device. The multiple image views refer to thumbnail views.
FIG. 3A shows a camera view 311 within an interface 300 of a camera application on a mobile device 301 according to an embodiment of the present invention. In the example shown, the user is using the camera of the mobile device 301 to acquire an image 310 of the tree within the camera view 311. When the shutter button 302 is pressed, the image 310 is captured and saved to a local storage module within the mobile device 301, such as the storage module 126. The user may select the gallery option 303 in the interface 300 to view the image 310 or other images stored on the mobile device 301 in a single image view. Alternatively, a single image view may be automatically initialized upon acquisition of an image, with the image 310 displayed within the single image view. According to one embodiment, the single image view may be a gallery view.
FIG. 3B illustrates a gallery view 312 within the interface 300 of a camera application on a mobile device 301 according to an embodiment of the present invention. In the example shown, the user is viewing an image 310 within a gallery view 312. The user selects option 304 to share the image such that a menu 305 of sharing options appears. Among the sharing options is an option 306 to share images through a social network. The user may select this option and initialize the social networking application, providing the image 310 to the social networking system 130.
FIG. 3C illustrates a message compose view 314 within the interface 313 of a social networking application on the mobile device 301, according to an embodiment of the present invention. In the example shown, the user composes a message that includes image 310 and text 307 within message composition view 314. Text 307, "see this tree! ", may accompany the image 310 as a title or comment. The user can add more images to the message by selecting the add option 309. The user may select the 'post' option 308 and cause the image to be uploaded to the social networking system 130.
According to another embodiment of the invention, the camera may be accessible from within the social networking application such that images captured by the camera that are uploaded to the social networking system 130 may be more easily selected. FIG. 4A illustrates a home screen view 402 within an interface 400 of a social networking application on a mobile device 401, according to an embodiment of the present invention. In the illustrated example, the user has initiated the social networking application, displaying a newsfeed within the home screen view 402. From within options menu 403, the user selects option 404 to enter the function of capturing images using the camera of mobile device 401. Options 404 may allow the user to use the camera from within the interface 400 of the social networking application.
FIG. 4B illustrates a camera view 414 within the interface 400 of a social networking application on a mobile device 401, according to an embodiment of the present invention. In the example shown, the user acquires an image 405 of the aircraft takeoff within the camera view 414. When either the standard shutter button 406 or the share shutter button 407 is pressed, the image 405 is captured and saved to a local storage module, such as storage module 126, within the mobile device 401. If the user selects the share shutter button 407, the image 405 is automatically designated as shared and automatically added to the message or information without the need to receive any additional input commands or instructions from the user to prepare a shared image with the message. A single selection prepares a shared image related to the message. The camera view 414 remains within the interface 400 to allow the user to acquire more images. The number of captured images that have been added to the message so far is displayed within the logo 408 along with the message compose icon 409. In the example shown, two images have been added to the message so far. When the user is finished acquiring the shared image, the user may select the message compose icon 409 and access a message containing all of the images he acquired using the share shutter button 407.
FIG. 4C illustrates a message compose view 415 within the interface 400 of a social networking application on the mobile device 401, according to an embodiment of the present invention. In the example shown, a user composes a message that includes three images 418 and text 410 within the message composition view 415. Text 410, "see the plane! ", may accompany the three images 418 as a title or comment. The user may add more images to the message by selecting add option 412. The user may select the 'post' option 411 and cause three images 418 to be uploaded to the social networking system 130.
According to one embodiment of the invention, the user may select gallery option 413 within interface 400 to view images stored on mobile device 401 within a single image view. The single image view may be a gallery view. FIG. 5A illustrates a gallery view 502 within an interface 500 of a social networking application on a mobile device 501 according to an embodiment of the present invention. In the example shown, the gallery view 502 displays an image 503 of a sunset. Image 503 may be captured using a camera of mobile device 501 or otherwise stored within mobile device 501. The user may select the checkmark option 504 to specify the shared image 503 and add it to the message. The user may continue to browse images in the gallery view 503 by, for example, sweeping his finger across the screen of the mobile device 501, and designate additional shared images by selecting the check mark options 504 and adding them to the message. According to one embodiment, the user may apply edits to the currently displayed image by selecting an edit option 507 that may activate a photo editing interface similar to the photo editing panel 207 (shown in FIG. 2C).
The number of acquired images that have been added to the message so far is displayed within the flag 505 along with the message composition icon 506. In the example shown, up to now four images have been added to the message. Images are removed from the message, i.e., "de-designate" the shared images, and the user can browse through the designated images within the gallery view 502 and de-select the check mark option 504. The user may delete the image by selecting delete option 520.
According to one embodiment of the invention, the user may select a thumbnail option 508 within the interface 500 to view images stored on the device within multiple image views. The plurality of image views may be thumbnail views. FIG. 5B illustrates a thumbnail view 509 within the interface 500 of a social networking application on the mobile device 501 according to an embodiment of the present invention. The gallery view 509 displays images 510, 511, 512, 513, 514. Each image 510, 512, 513 has a check mark option to designate the shared image and add it to the message. The checkmark option appears to be checked for shared images that have been designated and to be unchecked for images that have not been designated. In the example shown, images 510, 511, 512, and 513 have been designated for sharing, and image 514 has not been designated for sharing. According to an embodiment, if the number of images exceeds the available space within the thumbnail view 509, additional images may be viewed on the next page (not shown) that the user may access by, for example, sweeping his finger across the screen of the mobile device 501. The number of images that have been added to the message so far is displayed within the flag 505 along with the message composition icon 506. In the example shown, up to now four images have been added to the message. The user may return to the gallery view 502 by selecting the return option 515.
When the user is finished specifying the shared image, the user may select the message compose icon 506 within the gallery view 502 or within the thumbnail view 509 and access the message containing the image he has specified to share. If the user selects the message compose icon 506 from within the gallery view 502 without specifying any shared images, it may suggest that the currently displayed image is specified as shared and automatically added to the message. If the user selects the message composition icon 506 from within the thumbnail view 509 without specifying any shared images, it may be implied that the first image in the upper left of the thumbnail view 509 is designated as shared and automatically added to the message.
FIG. 5C illustrates a message compose view 521 within the interface 500 of a social networking application on a mobile device 501, according to an embodiment of the present invention. In the example shown, a user is composing a message that includes four images 518 and text 516 within a message composition view 521. Text 516, "beautiful picture! "may accompany the four images 518 as a title or comment. The user may add more images to the message by selecting the add option 519. The user may select the 'post' option 517 and cause three images 518 to be uploaded to the social networking system 130.
FIG. 6 illustrates a process 600 for selecting a plurality of images according to an embodiment of the invention. At block 601, user device 110 receives an image. The images may be obtained from within a dedicated camera application or social networking application or using a camera built into user device 110. Alternatively, the image has been received by user device 110 from another source. The image may be stored in a storage module 126 within the user device 110. At block 602, the user device 110 receives an indication of a shared image. The indication may originate from within the camera view based on, for example, a user selection to share a shutter option. Alternatively, the indication may be based on, for example, a user selection of a checkmark option originating within a single image view, such as a gallery view. At block 603, user device 110 automatically adds the image to the communication without receiving any further input or instructions from the user of user device 110. The single selection allows the image to be associated with the communication. At block 604, the user device 110 provides communications to the social networking system 130. The process 600 may be performed in whole or in part by the image processing module 118, the storage module 126, or other modules of the user device 110.
According to one embodiment of the present invention, a user may receive a visual indication when specifying a shared image. Although the number of images specified to be shared may be displayed within the logo icon along with the message composition option, the user may not notice the increase in the number within the logo when specifying the shared images. Because many mobile devices accept user input through a touch screen, it can sometimes be difficult to determine whether the touch screen has detected a selection. This may be the case if the user's finger is accidentally in contact with the touchscreen and the touchscreen detects a selection that the user does not want, or if the user wants a selection but the touchscreen does not detect a selection because the user's finger is not in contact close enough with the touchscreen. It is therefore desirable to provide the user confirmation of the image he has selected in the form of an animation.
FIG. 7A illustrates a camera view 702 within an interface 700 of a social networking application on a mobile device 701 according to an embodiment of the present invention. For ease of illustration, arrow 704 is shown going from the center of the camera view 702 of the focused frame display to the message compose option 705. Arrow 704 shows that a visual animation including movement from the center of the camera view 702 to the message composition option 705 is displayed when the user acquires the image 717 by selecting the share shutter button 716 and specifies to share the image 717. The number within the flag 706 accompanying the message compose option 705 increases to reflect the addition of the image 717 to the message.
FIG. 7B illustrates a gallery view 714 within the interface 700 of a social networking application on the mobile device 701 according to an embodiment of the present invention. For ease of illustration, arrow 708 is shown as going from the center of gallery view 714 to message composition option 709. Arrow 708 shows that when the user specifies sharing the image 718 by selecting the checkmark option 707, a visual animation is displayed that includes movement from the center of the gallery view 714 to the message composition option 709. The number within the flag 710 accompanying the message compose option 709 increases to reflect the addition of the image 718 to the message.
FIG. 7C illustrates a thumbnail view 715 within the interface 700 of the social networking application on the mobile device 701 according to an embodiment of the present invention. For ease of illustration, arrow 711 is shown as proceeding from image 710 to message composition option 712. Arrow 711 shows a visual animation including movement from image 710 to message composition option 712 being displayed when the user specifies sharing image 710 by selecting a checkmark option within image 710. The number in flag 713 accompanying message compose option 712 increases to reflect the addition of image 710 to the message.
The animations shown by the arrows in FIGS. 7A, 7B, and 7C may appear in many forms. According to an embodiment, the animation may include a miniaturisation effect in which a copy of the image designated for sharing is displayed and appears to diminish as it progresses from a first position on the screen to a second position on the screen. FIG. 7D illustrates a miniaturisation effect in a gallery view 722 within the interface 720 of a social networking application on a mobile device 721, according to an embodiment of the present invention. In the illustrated example, the user designates the shared image 723 by selecting the checkmark option 724. When the user selects the checkmark option 724, a copy 725 of the image 723 is displayed. The copy 725 is initially centered on the gallery view 722, but is tapered, or miniaturized, and proceeds toward a message composition icon 726. As the animation is completed, the copy 725 has shrunk to the point of disappearing, creating a visual effect indicating that the image 723 has been designated to share and add to the message. Further, the number in the flag 727 accompanying the message compose icon 726 increases from zero to one. After the animation is over, the image 723 may be displayed in its original form, as shown.
FIG. 8 illustrates a process 800 for displaying an animation to represent an image that a user has designated to share. At block 801, user device 110 receives an image. The images may be obtained from within a dedicated camera application or social networking application or using a camera built into user device 110. Alternatively, the image has been received by user device 110 from another source. The image may be stored in a storage module 126 within the user device 110. At block 802, the user device 110 receives an indication of a shared image from within a view. The indication may originate from within the camera view through, for example, a user selection of a share shutter option. Alternatively, the indication may originate from within a single image view, such as a gallery view, by, for example, user selection of a checkmark option. Alternatively, the indication may originate from within multiple image views, such as thumbnail views, by, for example, user selection of shared images. At block 803, the user device displays an animation indicating that the image has been designated to be shared. The animation may include a miniaturisation effect, or any other visible element. The miniaturisation effect may comprise displaying a copy of the image and tapering down as it travels from a first location within the view to a second location within the view, or miniaturising the copy. The first location may be an icon representing an option for specifying a shared image. The second location may be an icon representing a message composition option. At block 804, the user device 110 provides the image to the social networking system 130. Process 800 may be performed in whole or in part by image processing module 118, storage module 126, or any other module of user device 110.
Although the foregoing examples have been described with reference to a mobile device, the embodiments described herein may be implemented on any type of user device 110. On a device having a touch screen, such as a mobile device or a tablet device, the option selected by the user may be received by the user touching a location on the touch screen corresponding to an icon representing the option that the user wants to select. On devices having an input mechanism, such as a pointing device, a user-selected option may be received by a mechanism for the user to manipulate a moving pointer or other visible element to a position corresponding to an icon representing the option the user wants to select, and press a button. A pointing device refers to a mouse, a trackball device, or any mechanism that manipulates a pointer on a screen. Furthermore, the selected option may be triggered by any other form of user input to the user device, such as a voice command.
FIG. 10A illustrates a gallery view 1002 within the interface 1000 of a social networking application on a mobile device 1001, according to an embodiment of the present invention. In the example shown, gallery view 1002 displays an image 1010 of a person surfing the ocean. In another embodiment, the gallery view may display any form of digital media, including images, videos, charts, or files. The user may select the checkmark option 1004 to specify the shared image 1010 and add it to the message. The user may continue to browse images in the gallery view 1002 by, for example, sweeping his finger across the screen of the mobile device 1001 and designate additional shared images by selecting the check mark options 1004 and adding them to the message.
The number of captured images that have been added to the message so far is displayed within the mark 1005 along with the message composition icon 1006. In the example shown, up to this point four images have been added to the message. To remove an image from the message, the user may browse through the designated images within the gallery view 1002 and deselect the check mark option 1004. The user may also tag the image with the person using a 'tag' button 1020. In image 1010, the user has tagged the image with friend A, who is another user on the social networking system. The user may use the tagging button 1020 to tag additional users in the image 1010. The user may likewise continue to browse images in gallery view 1002 and tag additional images with additional users using a tagging button 1020. Further, the user may remove tag data already present in the image 1010 using a tagging button.
According to one embodiment of the invention, a user may select a thumbnail view option 1008 within interface 1000 to view images stored on the device within multiple image views. FIG. 10B shows a thumbnail view 1009 within the interface 1000 of the social networking application on the mobile device 1001, according to an embodiment of the present invention. The thumbnail view 1009 displays images 1010, 1011, 1012, 1013, 1014. Each image has a check mark option to designate the shared image and will be added to the message. The checkmark options for messages appear to be checked for shared images that have been designated and appear unchecked for images that have not been designated for sharing. In the example shown, images 1010, 1011, 1012, and 1013 have been designated for sharing, and image 1014 has not been designated for sharing. The number of images that have been added to the message so far is displayed within the mark 1005 along with the message composition icon 1006. In the example shown, up to now four images have been added to the message. The user may return to gallery view 1002 by selecting return option 1015.
When the user is finished specifying the shared image, the user may select the message compose icon 1006 within the gallery view 1002 or within the thumbnail view 1009 and compose a message containing the image he has specified to share. FIG. 10C illustrates a message compose view 1021 within an interface 1000 of a social networking application on a mobile device 1001, according to an embodiment of the present invention. In the example shown, the user is composing a message that includes four images 1018 and text 1016 within the message composition view 1021. Text 1016, "beautiful pictures! ", associated with the four images 1018. The message includes a tagged display area 1023 that lists all people tagged in the message itself or in any associated images. In an exemplary embodiment, images 1010, 1011, 1012, and 1013 each have a tagged unique person in the image. For example, FIG. 10A shows friend A being tagged in image 1010 (likewise, friend B is tagged in image 1011, friend C is tagged in image 1012, and friend D is tagged in image 1013). Thus, the tagging display area 1023 shows four tagged persons: friend A, friend B, friend C, and friend D. In addition, the user may use the 'tag' button to tag additional people in the message itself. The user can add more images to the message by selecting the add button 1019. The user may select the 'post' button 1017 and cause the message 1016 and the four images 1018 to be uploaded for sharing on the social-networking system. The user may also select the privacy settings icon 1022 to determine the privacy level of the message and the image associated with the message when shared on the social networking system.
In one embodiment, the privacy level of the message and the privacy levels of all media associated with the message will always be the same. Thus, if a person on the social networking system is able to access a message, he will be able to access all of the media associated with the message as well. Likewise, if a person on the social networking system has access to any associated media, he will likewise have access to the message and the rest of the associated media. Fig. 10D illustrates the privacy settings view 1026 when the user selects the privacy settings icon 1022. The privacy class 1025 may include: i, friend, public, and custom. The privacy settings view 1025 shows that the privacy level is currently initially currently set to the "me" setting. The privacy level selected by the user will determine who can access the message and associated media. The privacy level will also be adjusted based on the tagged person in the message and associated media, as illustrated by the following two examples.
In one example, the user creates a message 1016 with four associated images 1018. The user does not tag anyone in the message 1016 or the associated image 1018. If the user selects the "me" privacy setting, then the message 1016 and associated image 1018 will be shared only with the user. If the user selects the "friends" privacy setting, then the message 1016 and associated image 1018 will be shared with the user's friends. If the user selects the "public" privacy setting, then the message 1016 and associated image 1018 will be shared with anyone on the social networking system. Finally, the user may select a "custom" privacy setting for message 1016 and associated image 1018.
In a second example, the user creates a message 1016 with four associated images 1018. The user tags one person in each image so that four different persons are tagged in the four images 1018. The privacy level of the message and associated media will be adjusted according to the tagged person in the message and associated media. If the user sets the privacy level of the message to the "I'm" setting, then he and four tagged persons will be able to access the message 1016 and associated image 1018. If the user sets the privacy level of the message to the "friends" setting, then the message 1016 and associated image 1018 will be shared with the user's friends and with friends of all four tagged persons. In a "friends" setting, the message and associated image will be accessible to both the user's friends and friends of all four tagged persons on the social networking system.
Referring again to FIG. 10C, the message 1016 has four associated images 1018 and four tagged users in the tagged display area 1023. If the user selects the "I'm" setting of the privacy level of the message 1016, the message 1016 and image 1018 will be shared only with the user and the tagged persons in the message 1016 and image 1018 (i.e., user, friend A, friend B, friend C, and friend D). If the user selects the "friends" setting of the privacy level of the message 1016, the message 1016 and the image 1018 will be shared with friends of both the user and the tagged person. Thus, in an exemplary embodiment, if the user selects the "friends" privacy setting, then the message 1016 and image 1018 will be shared with five networks of friends (i.e., the friend networks of user, friend a, friend B, friend C, and friend D).
In another embodiment of the invention, the tags in the message 1016 and the associated image 1018 are completely dynamic with respect to each other. So if the user deletes the person's tag in the message 1016, then that person's tag is deleted in both the message 1016 itself and all associated images 1018. Likewise, if the user deletes the tag of a person in one of the associated images 1018, then that person's tag is deleted in both the message 1016 itself and all other associated images 1018. For example, the user creates a message with the same person's tag in two associated images. If the user deletes one tag for that person, then the tags for the same person in both images are automatically deleted. In other words, if one of the people's tags is removed in the message 1016 or the associated image 1018, then all tags of the same person are removed from the message 1016 and the associated image 1018.
In an alternative embodiment, if the user changes the privacy level of the message, the privacy level of the image associated with the message also changes dynamically. Likewise, if the user changes the privacy level of any associated image, the privacy levels of the message and all other associated images will also change. In one example, the user has selected the "me" privacy setting for message 1016 and associated image 1018. If the person's tag is removed from one of the message 1016 or the image 1018, then the message 1016 and the image 1018 will automatically be adjusted to restrict the person who removed the tag. In a second example, the user has selected a "friend" privacy setting for message 1016 and associated image 1018. If the person's tag is removed from one of the message 1016 or the image 1018, then the message 1016 and the image 1018 will automatically be adjusted to limit the friends of the person who removed the tag. Thus, the privacy level of the message and associated image will always remain the same even when changes are made to the message or any associated image.
Hardware implementation
The processes and features described above may be implemented by a variety of machine and computer system architectures and in a variety of network and computing environments. FIG. 9 illustrates an example of a computer system 900 that can be used to implement one or more embodiments described herein. The computer system 900 includes a series of instructions that cause the computer system 900 to perform the processes and features discussed herein. Computer system 900 may be connected to other machines (e.g., a network). In a networked deployment, the computer system 900 may operate in the capacity of a server machine or a client machine in a client-server network environment, or as a peer machine in a peer-to-peer (or distributed) network environment. In embodiments of the invention, the computer system 900 may be the social networking system 130, the user device 110, and the external system 120, or components thereof. In an embodiment of the invention, the computer system 900 may be one of many servers that make up all or part of the social networking system 130.
Computer system 900 includes a processor 902, a cache 904, and one or more executable modules and drives, stored on computer-readable media, for the processes and features described herein. In addition, computer system 900 includes a high performance input/output (I/O) bus 906 and a standard I/O bus 908. Host bridge 910 couples processor 902 to high performance I/O bus 906, while I/O bus bridge 912 couples the two buses 906 and 908 to each other. A system memory 914 and one or more network interfaces 916 are coupled to high performance I/O bus 906. Computer system 900 may further include video memory and a display device (not shown) coupled to the video memory. Mass storage 918 and I/O ports 920 are coupled to standard I/O bus 908. Computer system 900 may optionally include a keyboard and pointing device, display device, or other input-output device (not shown) coupled to standard I/O bus 908. Collectively, these elements are intended to represent a wide variety of computer hardware systems, including, but not limited to, computer systems based on x 86-compatible processors manufactured by intel corporation of santa clara, california, and x 86-compatible processors manufactured by advanced micro device corporation (AMD), sonyvale, california, as well as any other suitable processor.
The operating system manages and controls the operation of computer system 900, including the input of data to and output of data from software applications (not shown). The operating system provides an interface between the system and software applications executing on the hardware components of the system. Any suitable operating system may be used, such as the LINUX operating system, Apple Macintosh operating system, UNIX operating system, Linux operating system, and Linux operating system,
Figure BDA0003474338160000281
An operating system, a BSD operating system, etc. Other embodiments are possible.
Elements of computer system 900 are described in more detail below. In particular, network interface 916 provides communication between computer system 900 and any of a wide range of networks, such as an ethernet (e.g., IEEE802.3) network, a backplane (backplane), and the like. Mass memory 918 provides permanent storage for the data and programming instructions that perform the above-identified processes and features for various computing system implementations identified above, while system memory 914 (e.g., DRAM) provides temporary storage for the data and programming instructions when executed by processor 902. I/O ports 920 may be one or more serial and/or parallel communication ports that provide communication between additional peripheral devices, which may be coupled to computer system 900.
Computer system 900 may include various system architectures and the various components of computer system 900 may be rearranged. For example, the cache 904 may be on-chip with the processor 902. Alternatively, the cache 904 and the processor 902 may be packaged together as a "processor module," with the processor 902 referred to as a "processor core. Moreover, an embodiment of the invention may not require nor include all of the above components. For example, a peripheral device coupled to standard I/O bus 908 may be coupled to high performance I/O bus 906. Furthermore, in some embodiments, there may be only a single bus to which the components of computer system 900 are coupled. Further, computer system 900 may include additional components, such as additional processors, storage devices, or memories.
In general, the processes and features described herein may be implemented as part of an operating system or a specific application, as a component, a program, an object, a module, or a series of instructions referred to as a "program. For example, one or more programs may be used to perform particular processes described herein. The programs generally include one or more instructions in the various memories and storage devices in the computer system 900, which when read and executed by one or more processors, cause the computer system 900 to operate to perform the processes and features described herein. The processes and features described herein may be implemented in software, firmware, hardware (e.g., application specific integrated circuits), or any combination thereof.
In one embodiment, the processes and features described herein are implemented as a series of executable modules executed by computer system 900 individually or collectively in a distributed computing environment. The above modules may be implemented by hardware, executable modules stored on a computer readable medium (or machine readable medium), or a combination of both. For example, a module may comprise a plurality or series of instructions that are executed by a processor in a hardware system, such as processor 902. Initially, a series of instructions may be stored on a storage device, such as mass storage 918. However, the series of instructions may be stored on any suitable computer readable storage medium. Further, the series of instructions need not be stored locally, and may originate at a remote storage device, such as a server on a network, via network interface 916. The instructions are copied from storage, such as mass storage 918, into system memory 914 and then accessed and executed by processor 902.
Examples of computer readable media include, but are not limited to, recordable type media such as volatile and non-volatile memory devices; a solid state memory; floppy and other removable disks; optical disks (e.g., compact disk read only memory (CD ROMS), Digital Versatile Disks (DVDs)); other similar non-transitory (or temporary), tangible (or non-tangible) storage media; or any type of medium suitable for storing, encoding, or carrying a sequence of instructions for execution by computer system 900 to perform any one or more of the processes and features described herein.
For purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the description. It will be apparent, however, to one skilled in the art that embodiments of the present disclosure may be practiced without these specific details. In some instances, modules, structures, processes, features, and devices are shown in block diagram form in order to avoid obscuring the description. In other instances, functional block diagrams and flow charts are shown to represent data and logic flows. The components of the block diagrams and flowchart illustrations (e.g., modules, blocks, structures, devices, features, etc.) may be variously combined, divided, removed, reordered, and replaced in manners other than those explicitly described and depicted herein.
Reference in this specification to "one embodiment," "an embodiment," "another embodiment," "a series of embodiments," or the like means that a particular feature, design, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present disclosure. For example, the appearances of the phrases "in one embodiment" or "in an embodiment" in various places in the specification are not necessarily all referring to the same embodiment, nor are they intended to be separate or mutually exclusive of other embodiments of the alternative embodiments. Furthermore, various features described may be combined and included differently in some embodiments, and may be omitted differently in other embodiments, whether or not there is any indication that reference is made to "embodiments" or the like. Similarly, various features are described which may be preferences or requirements for some embodiments but not for others.
The language used herein has been principally selected for readability and instructional purposes, and may not have been selected to delineate or circumscribe the inventive subject matter. It is therefore intended that the scope of the invention be limited not by this detailed description, but rather by any claims of the application based on its discussion. Accordingly, the disclosed embodiments of the invention are intended to be illustrative, but not limiting, of the scope of the invention, which is set forth in the following claims.

Claims (20)

1. A computer-implemented method, comprising:
receiving an indication of one or more items of digital media;
receiving a communication regarding the one or more items of digital media;
associating the one or more items of digital media with the communication based on the indication; and
setting privacy levels of the communication and the one or more items of digital media on a social networking system based on privacy settings of a user on the social networking system, wherein the privacy levels of the one or more items of digital media associated with the communication or the privacy levels of the communication associated with the one or more items of digital media dynamically change as the privacy levels of the communication or the privacy levels of the one or more items of digital media change.
2. The computer-implemented method of claim 1, wherein the privacy level only allows the user on the social networking system to access the communication and the one or more items of digital media.
3. The computer-implemented method of claim 1, wherein the privacy level allows the user and friends of the user on the social networking system to access the communication and the one or more items of digital media.
4. The computer-implemented method of claim 1, further comprising: receiving tag data regarding the communication or the one or more items of digital media, wherein the tag data identifies one or more individuals on the social networking system.
5. The computer-implemented method of claim 4, further comprising: adjusting the privacy level of the communication and the one or more items of digital media based on the one or more individuals identified in the tag data.
6. The computer-implemented method of claim 5, wherein adjusting the privacy level comprises: the one or more individuals identified in the tag data are also allowed access to the communication and the one or more items of digital media.
7. The computer-implemented method of claim 6, wherein adjusting the privacy level comprises: the one or more personal friends identified in the tag data are also allowed access to the communication and the one or more items of digital media.
8. The computer-implemented method of claim 5, wherein adjusting the privacy level comprises: restricting access to the communication and the one or more items of digital media when the tag data identifying one or more individuals on the social networking system has been removed.
9. The computer-implemented method of claim 1, wherein the digital media comprises a digital image.
10. The computer-implemented method of claim 1, wherein the reference indicating the number of the one or more items of digital media increases when additional items of digital media are added.
11. A non-transitory computer-readable storage medium comprising computer program code for:
receiving an indication of one or more items of digital media;
receiving a communication regarding the one or more items of digital media;
associating the one or more items of digital media with the communication based on the indication; and
setting privacy levels of the communication and the one or more items of digital media on a social networking system based on privacy settings of a user on the social networking system, wherein the privacy levels of the one or more items of digital media associated with the communication or the privacy levels of the communication associated with the one or more items of digital media dynamically change as the privacy levels of the communication or the privacy levels of the one or more items of digital media change.
12. The non-transitory computer-readable storage medium of claim 11, wherein the privacy level only allows the user on the social networking system to access the communication and the one or more items of digital media.
13. The non-transitory computer-readable storage medium of claim 11, wherein the privacy tier allows the user and friends of the user on the social networking system to access the communication and the one or more items of digital media.
14. The non-transitory computer-readable storage medium of claim 11, further comprising: receiving tag data regarding the communication or the one or more items of digital media, wherein the tag data identifies one or more individuals on the social networking system.
15. The non-transitory computer-readable storage medium of claim 14, further comprising: adjusting the privacy level of the communication and the one or more items of digital media based on the one or more individuals identified in the tag data.
16. The non-transitory computer-readable storage medium of claim 15, wherein adjusting the privacy level comprises: the one or more individuals identified in the tag data are also allowed access to the communication and the one or more items of digital media.
17. The non-transitory computer-readable storage medium of claim 16, wherein adjusting the privacy level comprises: the one or more personal friends identified in the tag data are also allowed access to the communication and the one or more items of digital media.
18. The non-transitory computer-readable storage medium of claim 15, wherein adjusting the privacy level comprises: restricting access to the communication and the one or more items of digital media when the tag data identifying one or more individuals on the social networking system has been removed.
19. The non-transitory computer-readable storage medium of claim 11, wherein the digital media comprises a digital image.
20. The non-transitory computer-readable storage medium of claim 11, further comprising computer code for: displaying an animation indicating that the one or more items of digital media have been designated for sharing.
CN202210051008.5A 2012-08-22 2013-08-20 System and method for multiple photo feed stories Pending CN114462079A (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US13/591,512 US9378393B2 (en) 2012-08-02 2012-08-22 Systems and methods for multiple photo fee stories
US13/591,512 2012-08-22
CN201380055053.7A CN104737196B (en) 2012-08-22 2013-08-20 System and method for multi-photo feed stories
PCT/US2013/055649 WO2014031562A1 (en) 2012-08-22 2013-08-20 Systems and methods for multiple photo feed stories

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201380055053.7A Division CN104737196B (en) 2012-08-22 2013-08-20 System and method for multi-photo feed stories

Publications (1)

Publication Number Publication Date
CN114462079A true CN114462079A (en) 2022-05-10

Family

ID=50150334

Family Applications (3)

Application Number Title Priority Date Filing Date
CN202210051008.5A Pending CN114462079A (en) 2012-08-22 2013-08-20 System and method for multiple photo feed stories
CN201380055053.7A Active CN104737196B (en) 2012-08-22 2013-08-20 System and method for multi-photo feed stories
CN202210051016.XA Pending CN114462080A (en) 2012-08-22 2013-08-20 System and method for multiple photo feed stories

Family Applications After (2)

Application Number Title Priority Date Filing Date
CN201380055053.7A Active CN104737196B (en) 2012-08-22 2013-08-20 System and method for multi-photo feed stories
CN202210051016.XA Pending CN114462080A (en) 2012-08-22 2013-08-20 System and method for multiple photo feed stories

Country Status (10)

Country Link
EP (1) EP2888714A4 (en)
JP (2) JP6170155B2 (en)
KR (2) KR101774914B1 (en)
CN (3) CN114462079A (en)
AU (2) AU2013305993B2 (en)
BR (1) BR112015003856A2 (en)
CA (2) CA2975100C (en)
IL (1) IL237264A (en)
MX (1) MX343425B (en)
WO (1) WO2014031562A1 (en)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9396354B1 (en) 2014-05-28 2016-07-19 Snapchat, Inc. Apparatus and method for automated privacy protection in distributed images
US9113301B1 (en) 2014-06-13 2015-08-18 Snapchat, Inc. Geo-location based event gallery
US10824654B2 (en) 2014-09-18 2020-11-03 Snap Inc. Geolocation-based pictographs
US10311916B2 (en) 2014-12-19 2019-06-04 Snap Inc. Gallery of videos set to an audio time line
US9385983B1 (en) 2014-12-19 2016-07-05 Snapchat, Inc. Gallery of messages from individuals with a shared interest
KR102217723B1 (en) 2015-03-18 2021-02-19 스냅 인코포레이티드 Geo-fence authorization provisioning
US10135949B1 (en) 2015-05-05 2018-11-20 Snap Inc. Systems and methods for story and sub-story navigation
US10354425B2 (en) 2015-12-18 2019-07-16 Snap Inc. Method and system for providing context relevant media augmentation
US10581782B2 (en) 2017-03-27 2020-03-03 Snap Inc. Generating a stitched data stream
US10582277B2 (en) 2017-03-27 2020-03-03 Snap Inc. Generating a stitched data stream
US11605056B2 (en) 2020-11-17 2023-03-14 Ghislain Ndeuchi Method and system for enabling users to collaborate and create online multi-media story

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002278990A (en) * 2001-03-15 2002-09-27 Hitachi Ltd Method and system for extracting message information
JP4711610B2 (en) * 2003-08-08 2011-06-29 シャープ株式会社 Content recording / playback apparatus and content recording / playback method
US7832003B2 (en) * 2005-04-28 2010-11-09 Microsoft Corporation Walled gardens
US20070214180A1 (en) * 2005-11-14 2007-09-13 Crawford C S L Social network application for processing image or video data from wireless devices of users and methods of operation
US7669123B2 (en) * 2006-08-11 2010-02-23 Facebook, Inc. Dynamically providing a news feed about a user of a social network
FR2911608B1 (en) * 2007-01-23 2009-04-03 Centre Nat Rech Scient NOVEL ANTI-PALUDITIC VACCINE COMPOSITIONS AND USES THEREOF.
US20090328135A1 (en) * 2008-06-30 2009-12-31 Nokia Corporation Method, Apparatus, and Computer Program Product for Privacy Management
US8156442B2 (en) * 2008-06-30 2012-04-10 Nokia Corporation Life recorder and sharing
US20100299601A1 (en) * 2009-05-22 2010-11-25 Jonathan Kaplan Configuring channels for sharing media
US20100318571A1 (en) * 2009-06-16 2010-12-16 Leah Pearlman Selective Content Accessibility in a Social Network
JP5707036B2 (en) * 2009-12-16 2015-04-22 ヤフー株式会社 DISCLOSURE CONTROL FUNCTION PROVIDING DEVICE, SYSTEM, METHOD, AND PROGRAM
US8676891B2 (en) * 2010-11-01 2014-03-18 Google Inc. Visibility inspector in social networks
KR101187742B1 (en) * 2010-12-09 2012-10-05 주식회사 이너스커뮤니티 Social Network Service Apparatus and Method therefor
CN102253952A (en) * 2011-01-14 2011-11-23 北京开心人信息技术有限公司 Method and system for protecting privacy of users in social network
US20120197996A1 (en) 2011-01-31 2012-08-02 Control-Bit Technologies, Ltd. Method and system for limited sharing of digital content

Also Published As

Publication number Publication date
JP2017201552A (en) 2017-11-09
JP2015532750A (en) 2015-11-12
KR102108849B1 (en) 2020-05-11
CA2881940C (en) 2017-09-12
IL237264A0 (en) 2015-04-30
CN104737196B (en) 2022-01-04
KR20150046246A (en) 2015-04-29
KR20170098326A (en) 2017-08-29
AU2013305993B2 (en) 2017-03-23
CN104737196A (en) 2015-06-24
BR112015003856A2 (en) 2017-07-04
JP6170155B2 (en) 2017-07-26
MX343425B (en) 2016-11-03
WO2014031562A1 (en) 2014-02-27
CA2975100C (en) 2020-06-30
CA2975100A1 (en) 2014-02-27
EP2888714A1 (en) 2015-07-01
IL237264A (en) 2016-12-29
CA2881940A1 (en) 2014-02-27
JP6607539B2 (en) 2019-11-20
KR101774914B1 (en) 2017-09-05
EP2888714A4 (en) 2016-03-30
CN114462080A (en) 2022-05-10
AU2017204290A1 (en) 2017-07-13
AU2013305993A1 (en) 2015-03-19
MX2015002295A (en) 2015-10-09

Similar Documents

Publication Publication Date Title
US10521087B2 (en) Systems and methods for displaying an animation to confirm designation of an image for sharing
US10783276B2 (en) Systems and methods for multiple photo feed stories
US9246958B2 (en) Systems and methods for multiple photo selection
CN104737196B (en) System and method for multi-photo feed stories
US11379103B2 (en) Generating and sharing contextual content items based on permissions
US20180011580A1 (en) Systems and methods for previewing and scrubbing through media content items
US10110666B2 (en) Systems and methods for interactive media content exchange
US20160173625A1 (en) Systems and methods for sharing media content with social connections based on location
US10325154B2 (en) Systems and methods for providing object recognition based on detecting and extracting media portions
US20190280999A1 (en) Systems and methods for providing communications with obscured media content backgrounds
US9767848B2 (en) Systems and methods for combining drawings and videos prior to buffer storage

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination