Control for enabling a user to preview display of selected content based on another user's authorization level

Enabling a first user to preview content as it would be seen by a second user, if the second user had a selected user relationship with the first user. The selected user relationship may include a relationship degree, a relationship category, a relationship rating, and/or other form of relationship. In one embodiment, a user interface enables the first user to assign user relationships to portions of content and to other users. The first user selects a user relationship, which is used to access those portions of content that are associated with the first user and assigned the selected user relationship. The corresponding portions of content are used to generate a preview display for the first user, illustrating the portions of content that would be accessible to other users assigned the same user relationship or assigned a closer user relationship. Preview may be generated by a server or a local client.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of U.S. Utility application Ser. No. 10/832,172 filed on Apr. 26, 2004, the benefit of the earlier filing date of which is hereby claimed under 35 U.S.C. §120 and which is further hereby incorporated by reference.

FIELD OF ART

The present invention relates generally to managing display of content, and more particularly to a method and system for enabling a user to preview content as it would be seen by another social network user.

BACKGROUND

Many computing systems enable a user to control access to information through passwords, encryption keys, presence settings, and/or other methods. Some online systems enable a user to enter information about the user and enable the user to control whether, how, or which information is accessible to other users. For example, some online systems enable a user to enter a profile of information and establish a group of contacts. Such systems may enable only those contacts to access the profile information and/or detect whether the user is currently logged into an online service, such as a messaging service, a job placement service, or other topic-specific service. The set of contacts comprise a network of people who know a user well enough to provide their contact information. This is sometimes considered a single-level social network.

More broadly, a social network typically comprises a person's set of direct and indirect personal relationships. Direct personal relationships usually include relationships with family members, friends, colleagues, coworkers, and other people with which the person has had some form of direct contact, such as contact in person, by telephone, by email, by instant message, by letter, and the like. These direct personal relationships are sometimes referred to as first degree relationships. First degree relationships can have varying degrees of closeness, trust, and other characteristics. These relationships can also be unidirectional or bidirectional. A unidirectional relationship typically means that a first person is willing and able to interact with a second person, but the second person is not willing or able to interact with the first person. Conversely, a bidirectional relationship typically means that both people are willing and able to interact with each other.

Indirect personal relationships typically include relationships through first degree relationships to other people with whom a person has not had some form of direct contact. For example, a friend of a friend represents an indirect personal relationship. A more extended, indirect relationship might be a friend of a friend of a friend. These indirect relationships are sometimes characterized by a degree of separation between the people. For instance, a friend of a friend can be characterized as a second degree relationship.

Online social network services have developed based on specific topics, such as job placement and dating. These online social network services enable users to connect with each other if they did not previously know each other, but may share a common interest. The users share information about themselves. The precise way that the information is displayed to each other, is generally controlled by the online social network services without an ability to preview the way one's own information is displayed to another.

DETAILED DESCRIPTION OF EMBODIMENTS

The terms “comprising,” “including,” “containing,” “having,” and “characterized by,” refer to an open-ended or inclusive transitional construct and does not exclude additional, unrecited elements, or method steps. For example, a combination that comprises A and B elements, also reads on a combination of A, B, and C elements. The meaning of “a,” “an,” and “the” include plural references. The meaning of “in” includes “in” and “on.” Additionally, a reference to the singular includes a reference to the plural unless otherwise stated or is inconsistent with the disclosure herein. The term “or” is an inclusive “or” operator, and includes the term “and/or,” unless the context clearly dictates otherwise. The phrase “in one embodiment,” as used herein does not necessarily refer to the same embodiment, although it may. Similarly, the phrase “in another embodiment,” as used herein does not necessarily refer to a different embodiment, although it may. The term “based on” is not exclusive and provides for being based on additional factors not described, unless the context clearly dictates otherwise. The term “user” can include a computer user, an online service subscriber, an online social network user and/or other person using an electronic device.

The term “social network” can include a group of people with which a user has direct and/or indirect relationships, as well as a service, such as an online service, for communicating information to and/or from any of the people with which a user has direct and/or indirect relationships. However, an indirect relationship can also be through a shared interest, without any degree of personal relationship between intermediate people. For example, a set of complete strangers can comprise a social network on the basis of a common interest in a topic or an activity, such as fishing. Thus, the term social network includes a group of people associated by a common interest and/or a service for communicating information to and/or from any of the people with which a user has an interest relationship.

Embodiments of the present invention provide many capabilities to utilize social networks and/or other networks. One embodiment includes an online service that enables a user to preview information as that information would be seen by another user. The preview enables a user to verify which selected content will be displayed to another user, and to see how the information will be displayed.

Illustrative Operating Environment

FIG. 1illustrates one embodiment of an environment in which the present invention may operate. However, not all of these components may be required to practice the invention, and variations in the arrangement and type of the components may be made without departing from the spirit or scope of the invention.

As shown in the figure, system100includes client devices102-104, network105, an optional portal server106, and a social network server (SNS)108. Network105is in communication with and enables communication between each of client devices102-104, portal server106, and SNS108.

Client devices102-104may include virtually any computing device capable of receiving and sending a message over a network, such as network105, to and from another computing device, such as SNS108, each other, and the like. The set of such devices may include devices that typically connect using a wired communications medium such as personal computers, multiprocessor systems, microprocessor-based or programmable consumer electronics, network PCs, and the like. The set of such devices may also include devices that typically connect using a wireless communications medium such as cell phones, smart phones, pagers, walkie talkies, radio frequency (RF) devices, infrared (IR) devices, CBs, integrated devices combining one or more of the preceding devices, or virtually any mobile device, and the like. Similarly, client devices102-104may be any device that is capable of connecting using a wired or wireless communication medium such as a PDA, POCKET PC, wearable computer, and any other device that is equipped to communicate over a wired and/or wireless communication medium.

Each client device within client devices102-104may include a browser application that is configured to receive and to send web pages, and the like. The browser application may be configured to receive and display graphics, text, multimedia, and the like, employing virtually any web based language, including, but not limited to Standard Generalized Markup Language (SMGL), such as HyperText Markup Language (HTML), extensible markup language (XML), a wireless application protocol (WAP), a Handheld Device Markup Language (HDML), such as Wireless Markup Language (WML), WMLScript, JavaScript, and the like.

Client devices102-104may be further configured to receive a message from another computing device employing another mechanism, including, but not limited to email, Short Message Service (SMS), Multimedia Message Service (MMS), instant messaging (IM), internet relay chat (IRC), mIRC, Jabber, and the like.

Client devices102-104may be further configured to enable a user to manage a user profile, degrees of relationships, categories of relationships, activity participation, and the like, which may in turn be saved at a remote location, such as SNS108, and the like. As such, client devices102-104may further include a client application that is configured to manage various actions on behalf of the client device. For example, the client application may enable a user to interact with the browser application, email application, and the like, to customize how another social network user might view a persona, profile, or the like associated with the user. For example, the user may employ the client application, in part, to provide one customized view for family members, another customized view for poker members, yet another view for fishing buddies, and the like. The client application may interact with a process such as described below to customize and manage such views.

The media used to transmit information in communication links as described above illustrates one type of computer-readable media, namely communication media. Generally, computer-readable media includes any media that can be accessed by a computing device. Computer-readable media may include computer storage media, communication media, or any combination thereof.

Additionally, communication media typically embodies computer-readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave, data signal, or other transport mechanism and includes any information delivery media. The terms “modulated data signal,” and “carrier-wave signal” includes a signal that has one or more of its characteristics set or changed in such a manner as to encode information, instructions, data, and the like, in the signal. By way of example, communication media includes wired media such as twisted pair, coaxial cable, fiber optics, wave guides, and other wired media and wireless media such as acoustic, RF, infrared, and other wireless media.

Portal server106and SNS108may comprise multiple computing devices or a single computing device. Portal server106may provide online services such as messaging, search, news, shopping, advertising, and/or the like. SNS108may provide similar service and/or other services that also enable users to centralize the sharing of information and viewing of information regarding other users and themselves. For example, users may have a personal web site to share and view online journals (e.g., blogs), photos, reviews, and the like. For exemplary purposes, the operations of portal server106and SNS108are described together, and generally refer to SNS108. Briefly, SNS108may include any computing device capable of connecting to network105to manage customization of views associated with a social network user, such as a user of at least one of client devices102-104. Devices that may operate as SNS108include dedicated servers, personal computers desktop computers, multiprocessor systems, microprocessor-based or programmable consumer electronics, network PCs, and the like.

SNS108may be configured to receive information associated with a client user and to enable the user to customize a view based in part, on the received information. The received information may include, but is not limited to, relationship degree information, relationship category information, relationship rating information, membership information associated with a category, device information, presence information, profile information, activity information, and the like.

SNS108may further employ the received information to enable the user to customize a view associated with a social network perspective, based in part on a degree of relationship, relationship categorization, relationship rating, and/or other criteria. By sharing varying quantities of personal information with other social network users, the user may put forth different online profiles, public personas, and the like. The user may also determine how information about the user will be displayed to other users. The received criteria employed to enable customization of the views may include, but is not limited to, degrees of separation, category of relationship (such as friend, family, colleague, and the like), as well as any assessment of closeness, trust, an offline group affiliation, an online group affiliation, and the like. SNS108enables the user to preview the view resulting from applying the received criteria.

SNS108may also enable another social network user, such as a user of one of client devices102-104, to view the customized view based on the received criteria. SNS108may employ a web service, email service, and the like, to make the customized view available to the other social network user, as appropriate. SNS108may employ processes such as described in more detail below to manage the customized views. SNS108may be implemented on one or more computing devices, such as a server described with regard toFIG. 2.

Illustrative Server Environment

FIG. 2shows one embodiment of a server, according to one embodiment of the invention. Server200may include many more components than those shown. The components shown, however, are sufficient to disclose an illustrative embodiment for practicing the invention.

Server200includes processing unit212, video display adapter214, and a mass memory, all in communication with each other via bus222. The mass memory generally includes RAM216, ROM232, and one or more permanent mass storage devices, such as hard disk drive228, tape drive, optical drive, and/or floppy disk drive. The mass memory stores operating system220for controlling the operation of server102. Any general-purpose operating system may be employed. Basic input/output system (“BIOS”)218is also provided for controlling the low-level operation of server200. As illustrated inFIG. 2, server200also can communicate with the Internet, or some other communications network, such as network105inFIG. 1, via network interface unit210, which is constructed for use with various communication protocols including the TCP/IP protocol. Network interface unit210is sometimes known as a transceiver, transceiving device, network interface card (NIC), and the like.

The mass memory also stores program code and data. One or more applications250are loaded into mass memory and run on operating system220. Examples of application programs include email programs, schedulers, calendars, web services, transcoders, database programs, word processing programs, spreadsheet programs, and so forth. Mass storage may also include applications such as a behavior tracker252, which may track a user's online activities with the user's permission. Behavior tracker252may track the user's portal service behaviors (e.g., web searches, online purchases, etc.), the user's social network service behaviors (e.g., frequency of inviting others to join, participation in particular social network activities, etc.), and/or other behaviors.

Mass storage may further include modules that are useful for managing a user's social network, such as a content manager254, a permissions database256, and a preview module258. Content manager254may include a database, text, folder, file, and the like, that is configured to maintain and store information that the user's wishes to use and/or share with a social network. Content may include the user's profile information, online journals (e.g., blogs), reviews of products and/or services, photographs, and the like. The content may be entered by the user or obtained from other sources. The content may be used only with the social network or with other services, such as the portal service. The content, and modules to control the content, may be centralized or distributed over a number of resources.

Permissions database256may be included with content manager254or provided as a separate entity. Permissions database256may enable the user to establish and store content access permission based on user relationships, types of content, and the like. User relationships may include one or more forms of relationships, including: relationship degrees (e.g., private zeroth degree, first degree, second degree, third degree, public, etc.); user-definable relationship categories (e.g., family, co-workers, fishing buddies, etc.); relationship ratings (closest, close, connected, acquainted, haven't met, etc.); and/or other forms of relationships.

Preview module258may also be included with content manager254and/or permissions database256. Alternatively, preview module may be provided as a separate entity. The preview module coordinates access to content and checking permissions to provide a preview of at least a portion of a user's content as would be seen by another user.

Server200also includes input/output interface224for communicating with external devices, such as a mouse, keyboard, scanner, or other input devices not shown inFIG. 2. Likewise, server200may further include additional mass storage facilities such as CD-ROM/DVD-ROM drive226and hard disk drive228. Hard disk drive228is utilized by server200to store, among other things, application programs, databases, content manager254, permissions database256, preview module258, and the like.

Illustrative Client User Interface

A user interface and operation of certain aspects of an embodiment of the present invention will now be described with respect toFIGS. 3-4.FIG. 3shows a screen shot of a client user interface300that enables a client user to edit and view content controlled by the client user. Client user interface300may be provided through a browser, a client application, or other software. This exemplary client user interface provides access to the user-controlled content through an online social network service. However, some or all of the content may be provided or accessed through a portal service, and/or other services. Some or all of the content may have been entered directly by the client user, accessed from another service through which the client user entered the content, accessed from another service that generated content, and/or provided in other ways.

Examples of content include profile images302, a short message304(sometimes referred to as a “blast”), a blog306, product or service reviews308, lists310of things relevant to the client user, profile information312about the client user, photos314provided by the client user, related users316(such as 1stdegree related users), and groups318to which the client user belongs. Other content may include, but is not limited to, summary information from and/or links to personal web site(s), calendar(s), contact list(s), bulletin board(s), communication service(s), mobile service(s), entertainment service(s), shopping service(s), job services, financial service(s), dating service(s), and the like, to which the client user belongs or maintains content.

The client user can edit the content through client user interface300and can set parameters associated with each type of content and/or portions of content. For example, the client user can use a portion of client user interface300to specify that lists310will be viewable only to other users that the client user has assigned first degree relationships. As another example, the client user can use another portion of client user interface300to specify that profile information312will generally be viewable by other users at a third degree relationship or higher (e.g., 2nddegree or 1stdegree). However, the client user can further specify that portions of profile information312(e.g., Places I've Lived) will only be viewable by one or more certain categories of first degree relationships (e.g., “Schoolmates” category). Similarly, the client user may specify that particular sets of photos are viewable only by those other users that are within a relationship rating assigned by the client user (e.g., closest, close, etc.). The relation ship is generally assigned by the client user, but may be determined based on client behavior, predefined settings, or other parameters. For instance, when enrolling in a particular group or service, the client user may agree that any corresponding content will be associated with a predetermined user relationship level.

The client user may preview the client user's content, as that content would be seen by another user with a selected relationship to the client user. Client user interface300may include a preview selection-drop-down box320that enables the client user to select a relationship. For example, the client user may wish to preview the content as it would appear to other users related at the second degree (e.g., friends of a friends).

FIG. 4shows a screen shot of a preview page350illustrating a preview of the client user's content as seen by other users related in the second degree (e.g., friends of a friends). Some of the content is not visible, because that content is only available to other users who have a closer relationship to the client user. For example, reviews308and lists310ofFIG. 3are not visible in preview page350ofFIG. 4. The client user specified that only users with first degree relationships to the client user may view the reviews and lists. Similarly, only limited profile information352is visible, because other portions of the profile information are only available to other users who have a closer relationship to the client user. For example, limited profile information352does not show “Places I've Lived,” which was shown inFIG. 3.

Illustrative Architecture and Logic

FIG. 5illustrates an exemplary architecture that may be used to enable a client102ato preview content based on another user's relationship to the client user. Client102amay communicate through network105to a server108a. In this sample architecture, the server includes a preview module360that generally accesses and provides appropriate preview content to client102a. Preview module360communicates with a permissions database362that may comprise an access control list or other data store. Permission database362generally maintains associations between user relationships and content. Clients generally assign one or more user relationships to content, indicate the which user relationship(s) are required to access each portion of content. These assignments may be stored in, or accessed by permissions database362.

Permissions database362and preview module360also communicate with a full content data store364, which maintains the blogs, profile information, lists, and/or other content provided by the client. Full content data store364and permissions database362communicate with an intro content data store366. One or more subsets of content from full content data store364may be stored in intro content data store366. The subsets of content generally have the same permissions assigned as the corresponding full content. The subsets generally comprise introductory content such as the first twenty-five words of a blog entry, the first couple of items on a list, titles of review, thumb nail photos of friends, and/or other content that provides initial information about full content. Preview module360determines which introductory content to accesses based on the user relationship submitted by the client. The preview module may then assemble, format, and/or otherwise prepare the introductory content and deliver it to the client for previewing. In another embodiment, substantially all of the introductory content and/or the full content may be delivered to the client, and the client may filter the content for preview based on the user relationship selected by the client user.

FIG. 6is a flow diagram illustrating exemplary logic for providing a preview of content as the content would be seen by a user with a selected user relationship to a client user. This sample embodiment is discussed in terms of a server that communicates with a remote client, but the invention may be implemented in many other ways that may or may not include a server and/or a client. At an operation380, a client user may be authenticated, such as during a login process. Upon authentication, content and other information associated with this client user may be accessed and other initialization processes may be performed. At an operation382, client content may be stored in the full content data store and associations between the client content and user relationships are also stored. The client user may assign user relationships at the time of entering content, during a separate assignment process, and/or at other times through one or more user interfaces. Alternatively, the user relationship may be automatically assigned to the content based on information about the client user's online behavior, a predefined setting, an agreement with a content service provider, and/or other circumstances. As indicated above, a user relationship may include a degree of relationship to the client user, a category of relationship, a relationship rating, and/or other form of relationship(s). The client user also generally associates the user relationships with other users. For example, the client user may assign a “co-workers” category relationship to other users of a social network service who work together with the client user.

The client user may select and submit a user relationship to indicate which content to preview. For example, the client user may wish to preview content that would be accessible to co-workers. The selection is received at an operation384. The selection may be received in a hypertext transfer protocol (HTTP) post message. The receiving operation may also include decrypting the message, authenticating the client sender, and/or other communication processes. At an optional operation386, the server may also determine the capabilities of the client device, which may affect the amount, format, and/or other aspects of the content that will be returned to the client to provide the preview display. For example, the client may comprise a mobile terminal, which may have limited display space, resolution, and the like. The server may determine information about the client from a separate, or integrated, presence system, which may provide client device information and/or other information that is associated with a client user's current communication method. As a further option, the client user may submit a selection indicating that the content to be previewed should be formatted for display on a simulated device, such as a simulated mobile terminal, even though the client device may be a general purpose computing device such as a personal computer. This would allow the client user to preview content as it would appear to another user with a selected user relationship that may be using a selected client device. Those skilled in the art will recognize that other optional selections are possible to make the preview more representative of what other users would see. For example, a simulated communication speed may be selected, combinations of user relationships may be selected, and/or other options.

At an operation388, the server accesses content based on the selected user relationship and the client user identification (ID). The content associated with the client user may generally be identified a client ID. The combination of client ID and selected user relationship enables the server to access the appropriate content for the preview. As discussed above, other client selections may further determine which content is accessed. At an operation390, the server uses the accessed content to generate a web page, a bit map image, and/or other appropriate form of preview content that will be provided to the client. The server then provides the preview content to the client for display.

An alternative approach is to provide substantially all client user content and user relationship information to the client and have a browser and/or other client application filter the content to generate the preview. This may require additional time to transfer a large amount of content and/or user relationship information from the server to the client, but may enable the client to generate the preview faster. Changes made to the content or the user relationships stored by the server would also require updating the client to ensure an accurate preview was displayed.