This invention generally relates to organizing content in a social network. More specifically, the invention relates to resizing of contents in the social network based on their relevancy to a user in the social network.
In a social network, content is shared between a number of entities. The entities may include people, organizations, institutions, businesses, services, etc. The content includes a picture, video, audio, animation, text, etc. The users may view the content that is shared with them and also the content that is not shared with them. The content viewed by a particular user in the social network may or may not be relevant to the user. For example, content shared by the user may be more relevant to the user than content shared with the user by another user. However, prior social network applications display the content that is not relevant or less relevant to the user in a way similar to the content that is more relevant to the user. Accordingly, the user may not be able to distinguish between the content that is not relevant or less relevant to the user and the content that is more relevant to the user. Thus, the prior social network applications are not adept at providing a good user experience to the user for viewing the content.
What is described is a technique for resizing content items in a social network based or the relevancy of the content items to a particular user in the social network. In the disclosed technique content items that are relevant to the user are identified and a relevancy score for each of the content items is computed based on a number of factors. Further, a display size of each of the content items is determined based on their corresponding relevancy scores. The display size can be directly proportional to the relevancy score of the content item. The content items are generated at the determined size and displayed to the user. Accordingly, a content item which is more relevant to the user is generated or displayed at a bigger display size than the content item which is less relevant to the user.
The disclosed technique also includes resizing displayed content, such as a 2-dimensional rectangular content card, based on a calculation of the relevancy of that content to the user viewing it. The area of the card, calculated as a product of the width and height of the card, is larger higher the relevancy of the card is to the user. In some embodiments, other adjacently and/or otherwise contemporaneously displayed items of content that have less relevance to the viewing user are displayed in a smaller size than the content that is determined to be more relevant to the viewing user.
In at least some embodiments, the relevancy score of a content item for a user is calculated based on relevancy factors including at least one of (a) the user's direct interaction or association with that content item (b) interaction with that content item by entities in the user's social graph, or (c) interaction with that content item by entities that are not in the user's social graph.
Some embodiments of the invention have other aspects, elements, features, and steps in addition to or in place of what is described above. These potential additions and replacements are described throughout the rest of the specification.
The following description and drawings are illustrative and are not to be construed as limiting. Numerous specific details are described to provide a thorough understanding of the disclosure. However, in certain instances, well-known or details are not described in order to avoid obscuring the description.
References in this description to “an embodiment”, “one embodiment”, or the like, mean that the particular feature, function, or characteristic being described is included in at least one embodiment of the present invention. Occurrences of such phrases in this specification do not necessarily all refer to the same embodiment, nor are they necessarily mutually exclusive.
Disclosed is a technique for resizing content items in a social network based on the relevancy of the content items to a particular user in the social network. In the disclosed technique content items that are relevant to the user are identified and a relevancy score for each of the content items is computed based on a number of factors. Further, a display size of each of the content items is determined based on the relevancy score of the content items. The display size can be directly proportional to the relevancy score of the content item. The content items are generated based on the determined size and displayed to the user. Accordingly, a content item which is more relevant to the user is generated in a bigger display size than the content item which is less relevant to the user.
The server 110 is also configured to communicate with other external services such as first service 120, a second service 125 and so on to obtain content items that are relevant to the user from the external services. The external services may include other social networking services such as, Facebook® available from Facebook of Menlo Park, Calif.; Google+® or g+® available from Google, Inc. of Mountain View, Calif., Tagged® available from Tagged, Inc. of San Francisco, Calif.; Quepasa® and MyYearBook® available from MeetMe, Inc. of New Hope, Pa.; Twitter® available from Twitter, Inc. of San Francisco, Calif.; Spotify® available from Spotify AB of Stockholm, Sweden; Pinterest® available from Pinterest, Inc. of Palo Alto, Calif., email services, address book services, etc.
The user 105 may have a user account registered in one or more of the above mentioned external services. The server 110 allows the user 105 to obtain the content items relevant to the user from the external services. In an embodiment, the server 110 obtains the user account credentials for a particular external service from the user, logs into that particular external service using the provided user account credentials and obtains the content items relevant to the user 105 from the particular external service using a published application programming interface (API) of the particular external service.
The content items of the user 105 obtained from the external services include (a) other users who are connected to the user in the external service, (b) content items shared with or posted or created by the user 105, (c) entities that are followed by user 105, (d) “likes” or comments by the user 105, etc.
In the example of
The social networking system 200 may contain a number of content items including a picture, an audio, a video, text, animation, a “like” by the user etc. For a user such as user 205, certain content items may be relevant and certain content items may not be relevant. For example, a picture posted by the user 205 or share with the user 205 may be relevant to the user 205, whereas a picture shared by another user with a friend of the user 205 may not be relevant to the user 205.
Further, even among the content items that are relevant to the user 205, some content items may be more relevant than other content items. For example, a first content item posted by the user 205 may be more relevant to the user 205 than a second content item shared by another user with the user 205. When the content items are presented to the user 205, the social networking system 200 presents the content items such that a size at which the content item is generated is proportional to the relevancy of the content item to the user 205. Considering the above mentioned example, when the user 205 is presented with the first and second content items, the first content item is displayed in a bigger size compared to the second content item. That is, the content items are resized based on a degree of relevance of the content items to a user. The social network system 200 determines a relevancy score for each of the content items and uses the relevancy score of a content item to determine a display size of the content item. The following paragraphs describe the process of resizing a content item based on its relevancy score.
A relevant content item module 220 working in cooperation with the server 210 determines the content items that are relevant to the user 205. The content items that are relevant to the user 205 includes, but is not limited to, the content items that the user may access in the social network system 200 with his/her user credentials. The relevant content item module 220 may also obtain content items that are relevant to the user 205 from external service 240. As mentioned above, the external service 240 may include social networking services such as, Facebook® available from Facebook of Menlo Park, Calif.; Google+® or g+® available from Google, Inc. of Mountain View, Calif., Tagged® available from Tagged, Inc. of San Francisco, Calif.; Quepasa® and MyYearBook® available from MeetMe, Inc. of New Hope, Pa.; Twitter® available from Twitter, Inc. of San Francisco, Calif.; Spotify® available from Spotify AB of Stockholm, Sweden; Pinterest® available from Pinterest, Inc. of Palo Alto, Calif. and email services, address book services, etc.
A relevancy score determination module 225 working in cooperation with the server 210 determines a relevancy score of each of the content items that are relevant to the user 205. The relevancy score of a content item is determined based on relevancy factors including (a) a direct interaction with the content item by the user, (b) an association of the content item with the user, (c) interaction with the content item by a first set of users who are in a social graph of the user, or (d) interaction with the content item by a second set of users who are not in the social graph of the user. Each of the above factors is assigned a different weight. Thus, each of the above factors has a varied impact on the final relevancy score determined for a content item. In an embodiment, the above relevancy factors are assigned weights in a descending order starting with relevancy factor (a) having the highest weight and relevancy factor (d) having the lowest weight.
In an embodiment, direct interaction or association of user 205 with a content item has a significant impact on the relevancy score. The direct interactions or associations can also be the ones that are from external service 240 in addition to social network service of server 210. The direct interactions from external service 240 may be captured, for example, via a published API of the external service 240.
The direct interaction with the content item by the user 205 includes at least one of (a) a creation of the content item by the user 205, (b) posting the content item in the social network by the user 205, (c) liking or marking the content item as favorite by the user 205, (d) commenting on the content item by the user 205, (e) sharing the content item with another user or another service, or (f) viewing the content item by the user 205. Further, the association of the content item with the user 205 includes an appearance of, mention of, or reference to the user 205 in the content item.
Each of these direct interactions has a different impact on the relevancy score of the content item. In interactions such as
Further, in at least some embodiments, certain other interactions of the user 205 on content items in external service 240 may also be considered for determining a relevancy score of the content items.
The relevancy score of a content item for the user 205 may also be adjusted based on the interactions performed on the content items by entities other than user 205 such as, for example, users who are in a social graph of the user 205. The social graph of the user 205 may include (a) a set of users who are connected to the user 205 either in the social network service provided by the server 210 or in external service 240—for example, friends of the user 205 in Facebook; (b) a set of users in an address book of the user wherein the address book is provided by the social network service or external service 240—for example, contacts of the user 205 in Yahoo address book or Google Contacts, or (c) a set of users with whom the user has exchanged electronic mails.
The interactions performed by the users in the social graph of user 205 may be similar to or a subset of the direct interactions performed by the user 205 on the content items, mentioned above. While the interactions by users in the social graph of the user 205 are not as significant as direct interactions by the user 205, these interactions may be considered to impact that content item's relevancy to the user 205. Following are some examples of such interactions.
Further, the value of the impact on the relevancy score from the same action by different users in the social graph of the user 205 may vary depending on a degree of like-mindedness between the user 205 and another user in the social graph. The higher the degree of like-mindedness, the greater is the impact of the actions of the other user on the relevancy of content items for each other.
The degree of like-mindedness between the user 205 and another user in the social graph is calculated based on at least one of the following:
Finally, the relevancy score of a content item for each user is also adjusted based on interaction with that content item by users not in the social graph of the user 205. While the interactions by the users not in the social graph of the user 205 are not assigned a weight as in interactions by the user 205 or by users in the user's social graph, such interactions are still considered to impact the relevancy of the content item. For example, the more users (including users not in the social graph of the user 205) interact with a content item, the more relevant the content item is considered to be to the user 205. Some of the interactions by users including users not in the social graph of the user 205 that increase the relevancy score of a content item are:
As can be appreciated from the foregoing, the relevancy score of a content item is determined and adjusted based on a number of factors, explained above, each of which has a different weight and hence, a varied impact on the relevancy score. The more relevant a content item is to a user, the higher would be a relevancy score of that content item to the user.
A display size determination module 230 working in cooperation with the server 210 determines a display size of a content item based on the relevancy score of the content item for the user 205. The higher the relevancy score of a content item to user 205, the larger the content item is displayed to the user 205. Displaying a content item with a higher relevancy score in a larger size than the content items with a lower relevancy score can be manifested in different ways depending on where the item is displayed to the user.
For example, in a display where multiple content items such as, for example, pictures, are displayed alongside each other and the dimensions of each picture is variable, the size of each picture can vary directly with the relevancy score. In a display where multiple content items are displayed together but all the pictures need to fit into a predetermined canvas size, content items can take on one of several predetermined picture sizes depending on their relative relevancy score. For example, if a canvas can only have pictures that fit into three predetermined sizes such as, large, medium, and small, each content item would be displayed at one of those sizes depending on where the relevancy score for that content item falls in the distribution of relevancy scores for all content items displayed. In an embodiment, if the relevancy score of all the content items for the user 205, ranges between 1 and 10, then the display size determination module 230 can determine that content items with relevancy score 1-4 are displayed at small size, content items with relevancy score 5-7 are displayed at medium size and content items with relevancy score 8-10 are displayed at large size.
After the display size determination module 230 determines the display size of all the content items for the user 205, a content item generation module 235 working in cooperation with the server 210 generates the content items in the determined display sizes for the user 205. The content items may be generated onto an output device such as a monitor of an electronic device, a print out. etc.
In the example of
At step 315, the server 210 (or display size determination module 230) determines, for each of the content items, a display size of the content item based on the relevancy score of the content item. The display size of the content item can be directly proportional to the relevancy score of the content item. At step 320, the server 210 (or the content item generation module 235) generates the content items based on the display size of each of the content items.
In the set of content items 500, the picture “Irises” is displayed at the largest size among all the pictures, which implies that the picture “Irises” is the most relevant among all the pictures in the set 500 to the user B. The rest of the images are displayed in decreasing sizes implying that they are of lesser relevance than the image “Irises,” to the user B.
The set of content items 400 and the set of content items 500 contain the same content items but in different display sizes. For example, the picture “Kevin, Karen, and Leo” is displayed in a larger size in
The processor(s) 601 is/are the central processing unit (CPU) of the computer 600 and, thus, control the overall operation of the computer 600. In certain embodiments, the processor(s) 601 accomplish this by executing software or firmware stored in memory 602. The processor(s) 601 may be, or may include, one or more programmable general-purpose or special-purpose microprocessors, digital signal processors (DSPs), programmable controllers, application specific integrated circuits (ASICs), programmable logic devices (PLDs), trusted platform modules (TPMs), or the like, or a combination of such devices.
The memory 602 is or includes the main memory of the computer 600. The memory 602 represents any form of random access memory (RAM), read-only memory (ROM), flash memory, or the like, or a combination of such devices. In use, the memory 602 may contain a code. In one embodiment, the code includes a general programming module configured to recognize the general-purpose program received via the computer bus interface, and prepare the general-purpose program for execution at the processor. In another embodiment, the general programming module may be implemented using hardware circuitry such as ASICs, PLDs, or field-programmable gate arrays (FPGAs).
Also connected to the processor(s) 601 through the interconnect 603 are a network adapter 607, a storage device(s) 605 and I/O device(s) 606. The network adapter 607 provides the computer 600 with the ability to communicate with remote devices, over a network and may be, for example, an Ethernet adapter or Fibre Channel adapter. The network adapter 607 may also provide the computer 600 with the ability to communicate with other computers within the cluster. In some embodiments, the computer 600 may use more than one network adapter to deal with the communications within and outside of the cluster separately.
The I/O device(s) 606 can include, for example, a keyboard, a mouse or other pointing device, disk drives, printers, a scanner, and other input and/or output devices, including a display device. The display device can include, for example, a cathode ray tube (CRT), liquid crystal display (LCD), or some other applicable known or convenient display device.
The code stored in memory 602 can be implemented as software and/or firmware to program the processor(s) 601 to carry out actions described above. In certain embodiments, such software or firmware may be initially provided to the computer 600 by downloading it from a remote system through the computer 600 (e.g., via network adapter 607).
The techniques introduced herein can be implemented by, for example, programmable circuitry (e.g., one or more microprocessors) programmed with software and/or firmware, or entirely in special-purpose hardwired (non-programmable) circuitry, or in a combination of such forms. Special-purpose hardwired circuitry may be in the form of, for example, one or more ASICs, PLDs, FPGAs, etc.
Software or firmware for use in implementing the techniques introduced here may be stored on a machine-readable storage medium and may be executed by one or more general-purpose or special-purpose programmable microprocessors. A “machine-readable storage medium”, as the term is used herein, includes any mechanism that can store information in a form accessible by a machine.
A machine can also be a server computer, a client computer, a personal computer (PC), a tablet PC, a laptop computer, a set-top box (STB), a personal digital assistant (PDA), a cellular telephone, an iPhone, a Blackberry, a processor, a telephone, a web appliance, a network router, switch or bridge, or any machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine.
A machine-accessible storage medium or a storage device(s) 605 includes, for example, recordable/non-recordable media (e.g., ROM; RAM; magnetic disk storage media; optical storage media; flash memory devices; etc.), etc., or any combination thereof. The storage medium typically may be non-transitory or include a non-transitory device. In this context, a non-transitory storage medium may include a device that is tangible, meaning that the device has a concrete physical form, although the device may change its physical state. Thus, for example, non-transitory refers to a device remaining tangible despite this change in state
The term “logic”, as used herein, can include, for example, programmable circuitry programmed with specific software and/or firmware, special-purpose hardwired circuitry, or a combination thereof.
This application claims the benefit of priority under 35 U.S.C. 119(e) to U.S. Provisional Patent Application Ser. No. 61/534,167 entitled “PERSONAL RELEVANCY CONTENT RESIZING”, which was filed on Sep. 13, 2011, the contents of which are expressly incorporated by reference herein.
Number | Date | Country | |
---|---|---|---|
61534167 | Sep 2011 | US |