A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever.
The present invention relates generally to online social media systems. More particularly, the present invention relates to collection enhancement for such social media systems.
One popular aspect provided through internet access is social media, or web sites which enable communication among two or more people having common interests. Examples of social media sites include those available at facebook.com, pinterest.com and twitter.com. Generally, such social media sites allow users to define a community having a common interest and to join such communities. Community members then share with each other, using online facilities provided by the web site, media they have encountered and wish to share. Community members can respond by commenting and rating the shared media or by sharing additional media with the community.
The media to be shared can be in a wide variety of formats. Generally, though, the shared media must be reducible to an electronic format for storage and conveyance to other community members. Thus, suitably encoded text, photos and video are prime sources of content to be shared, and the sharing is in the nature of stored and transmitted data files.
Current social media arrangements have been very successful. However, there are opportunities for increasing growth of acceptance of such social media arrangements and for enhancing the user's experience.
The operator of the social media site makes available suitable facilities for community use, such as memory for data storage, databases for data collection and classification and search, and user interface applications to simplify and unify the users' experience with the social media web site. The operator also provides account management for members and provides advertising which may be targeted to interests of individual members or communities.
All social media thrive and develop best when communities are growing and members are engaged and active. However, experience has shown that some members will lose interest in a relatively short amount of time. This can slow or stop the growth of online communities and limit the commercial success of the social media web site.
One current social media web site allows community members to identify images they locate on the World Wide Web. The identified images and links are aggregated for the user at the user's personal page of the social media web site. Other users can link their accounts so that they follow updates to the images located by the user. Other linked users or community members can view and rate and comment on the images and even add identified images to the personal page of the linked user or community member. Social media web sites of this sort have become popular among many of their members.
However, one area in which this sort of social media web site has been limited is in the area of facilitating and encouraging users to create groups of images, particularly ones with multiple images aggregated together. When a user identifies an image and adds it to her personal page, she is not provided by the social media web site with assistance or suggestions or additional content that the user might add to that personal page. She is left to continue searching on her own for images to share.
As a result, many personal pages are observed to contain only one or a small number of images. This tends to slow or stop the growth of the user's involvement with the social media web site, which reduces the value of her personal page, her degree of engagement and her sense of accomplishment. This also tends to slow or stop the growth of the communities of which she is a member and reduces the degree of engagement by other community members. From the perspective of the operator of the social media web site, this reduces the amount of information about the user that may be obtained and the ability to thereby attract other users and advertisers. This reduces the growth of the social media web site itself.
In one aspect the present disclosure provides method and apparatus allowing a user to define a collection of objects such as images and to extend the collection, both at the time the user adds the object to the collection and at other times as well.
The features disclosed herein are implemented in a computer based system accessible over one or more networks such as the internet. The system includes hardware and software which cooperate to provide the described features. Users may interact with the system over the one or more networks to view content of the system, add content, interact with other users and perform other functions. Advertisers may interact with the system to provide paid content, advertisements and other information for users. The system manages the content and requests of users, advertisers and other commercial entities. For example, the system may cooperate with a user to set up an account and to provide to the user information based on account settings. Also, the system may detect user actions, store those actions and perform in response to the actions or based on analysis of the actions. For example, the system may monitor user interactions to determine user preferences. Subsequently, the system may provide content, advertisements and other information to the user based on the determined user preferences. The system may perform other functions as well or in the alternative.
Collection Creator
Known social media sites could be improved by better facilitating and encouraging users to create collections, particularly ones with multiple pins. In the prior art, when a user pins or repins an image to a collection, the user is not provided with assistance or suggestions of additional content that the user might add to that collection. Consequently many collections are observed to contain only one or a small number of images. This reduces the value of the collection, the degree of user engagement, the user's sense of accomplishment, and the information about the user obtained.
In the present disclosure, when a user pins an image, the user can pin it to an existing or a new collection, as in the prior art. The present disclosure innovates by providing system and method for the user to extend a collection, at the time the user pins an image, and at other times as well.
Those the system and method make available to the user at the time of pinning include a User Interface (UI) for the user to select a plurality of images to pin, and to direct those various images each to one or more of a plurality of collections.
Further system and method are made available to the user upon the completion of primary pinning, that is, pinning from a source outside of the operator's site. In one embodiment, the user is presented with UI features to view the instant state of a collection. The UI proffers images that are not currently part of that collection and which the user may readily select to include in the collection.
The system may produce those proffered images by one or more techniques. In one embodiment, the system employs techniques from the area of art of machine learning to analyze the title the user has given to the collection, and, for each pin presently included in the collection, features of that pin.
The exemplary embodiments shown and described herein are generally presented in the context of images which may be accessed and shared by users. An image is a set of data that are instructions to a computer system for the construction of a two-dimensional array of luminance values in one or more wavelengths, or color channels, typically red, green, and blue. Various data formats for images include JPEG, GIF, PNG. However, the intended scope of the systems and methods disclosed herein is not limited to images. Rather, these systems and methods may be extended to any multimedia object including video files and audio files such as music files and combinations of these. The multimedia object may be encoded or compressed for storage and transmission in any suitable way. The multimedia may further included supplemental data, such as text defining a title or comments or captions which have been attached to the multimedia object. In another example, the multimedia object may have supplemental data which define ownership or following relations among users of the system. The supplemental data associated with a multimedia object may include any sort of information which it may be useful to track or monitor or store. For convenience, the descriptions and examples herein generally use images but may be extended to any multimedia object.
Images may be referenced in web pages and presented to users via web browsers. The hypertext markup language used to describe web pages to web clients includes the image inclusion construct, for example <img src=“http://www[dot].example[dot]com/sunset[dot]png” alt=“Sunset over the Grand Canyon”>. Web servers serve HTML in response to requests of web clients, typically web browsers. Images in web pages may have a context that is descriptive or indicative of their nature, including caption, meta tags of page, alt text of image, surrounding description, occurrence on page with other images.
A pin is an item including an image with data associated for its presentation, discovery and management, in a social visual system like these. A pin may include data used in its representation to a viewer, including a caption or description, data used to facilitate discovery and recommendation of the pin, including textual data and metadata from the context of the image on a web page, extracted data features of the image, such as its size, dimensions, location the image was acquired, camera type and settings, extracted visual features of the image, such as color histogram, spatial frequency distribution, quantity of faces and their sizes, text that may be computer-readable by the art of optical character recognition, patterns intended to be machine-readable representations of data, such as QR codes.
A collection is a container for a set of items, with additional properties of the collection that may include a title and description. A collection is owned by a user. A collaborative collection is a collection to which multiple users can contribute. In one embodiment, the owner of the collaborative collection invites other users to contribute to the collection. If the invited users accept the invitation, they become contributors and they may add images to the collaborative collection.
A user is a person who views content. Some users are registered with a system, have an account and are able to log in, acquiring identity and additional privileges over the unidentified user. An owner of a collection is a user who owns the collection or the user who has an account with the system and the collection is associated with the user's account. The owner-user may view his profile as a default view on a client computer or may view other user's public profiles as well. A user who views another user's profile or collections is a visitor. A user who selects to follow a user or to follow one or some of a user's collections is a follower or following user. A user who owns a collection that is followed by others is a followed user.
When a following user follows another user, the following user subscribes to any items added to the followed user's collections. When a user logs in, she views her home screen. The following user's home screen displays images of the followed user and with images of followed collections, in addition to her own images. When the followed user updates his collected images, the following user will see the updates. When a following user follows a collection, the following user subscribes to all items that are added to that collection. The following user's home screen displays images of the followed collection. When the followed collection is updated, the following user will see the updates on his screen. If the followed collection is a collaborative collection, the following user will see images added to the collaborative collection by contributors to the collection.
A stream is a sequence of items such as images or pins representing images with associated data. The sequence is established by an ordering function on the set of items in the sequence. Often, reverse time order (most recent first) is a desired ordering function. A relevance or interest score of an item can be a component of an ordering function. An economic compensation to the system operator can be a component of a selection and ordering function. The system operator may be compensated for including an item in a stream.
That compensation may be by instance that the item is presented in a stream to a user. Compensation may depend on how well the system operator selects the users to which to introduce the item. Compensation may depend on the quantity of users that take a subsequent action on an introduced item. Such compensatable actions may include a user marking the item as liked, a user entering the item in one or more of their own collections (“repinning”), a user commenting on a promoted item, a user examining the more detailed representation of an item, a user following one or more links associated with an item, which may lead the user to another web site, a user indicating interest in receiving additional information about the item and related items, a user indicating purchase interest in a product or service depicted in an item, and a user purchasing such a product or service.
Compensation may include a factor taking into account the activity of the user, the user's influence over others, which measures may include the number of other users that follow user's activities and collections, the popularity of the user's collections, the number and nature of comments others make on user's items, the number and nature of comments user makes on others items, the number and nature of items the user introduces into the system as their own items.
A system operator may employ one or more devices to select promoted items to introduce to users. Such methods may include determining the expected affinity of the user for the item, and including that expectation in combination with the economic compensation for presenting the item, in the selection process for introducing items.
Streams can be composed from other streams by various devices, including by merging the streams in time order. Streams may also be merged by taking the set union of the items in the streams and applying an ordering function. This removes duplicate items.
A user may use other functions of ordered sets to compose streams, including functions that omit certain occurrences of items that are judged by some function to be redundant or insufficiently interesting, and functions that give priority to items as a function of the importance or relevance or economics of the item and the contributing stream from which it comes.
A stream can be composed from another stream, which we may call the upstream, and a filter function, which decides, for each item in the upstream, whether it is included in the stream. Filter functions that may be employed include functions that omit items labeled or determined to be objectionable to the user, functions that omit items that the user has marked as undesirable, and functions that include only items the user has marked as having a certain attribute. In some embodiments, user may mark items as undesirable by user interface means, which include a “close” or “x-out” box in the presentation of an item, and may mark items as having a favored attribute, by user interface means that mark the item presentation with a star or thumbs up icon.
A stream can be composed from another stream, which we may call the upstream, and an annotation or transformation function, which for each item in the stream, may alter that item, including additional information on that item. Such information may include relations to other items, or external information such as links to other web pages. Such information may include indicators of the nature of the item according to some classification or labeling scheme, such as whether an item's associated link leads to a purchase opportunity, a recipe or instructions for constructing something depicted by that item, a review of something depicted by that item. Annotators may make an estimation of the item's topic nature, such as fashion, cooking, home improvement.
Item annotations may be used to alter the presentation of an item to a user, including by including or omitting an icon conveying an attribute, which icon may be presented adjacent or below the image of an item, or superimposed over the item, possibly with partial transparency.
A stream may be created from a single collection, from a set of collections, from all the collections of a user, from the results of a search or recommendation request, from the pins considered by some process to be popular overall, or popular or relevant to a particular category or search.
A user has a home stream, which in some embodiments the user sees when the user logs in. In some embodiments, the home stream includes the time-ordered merger of the streams formed from the user's collections, the collections the user can edit, and the collections the user follows, merged with one or more streams produced by recommended content processes adapted to that user, merged with one or more streams of promotional content processes adapted to that user.
In the one embodiment, the system introduces recommended content to the home stream of a user, and learns a model of what content features to which the user responds positively and negatively. The system uses that learning, in association with the relationships of users to other users, to adapt and improve the selection process of recommended content.
A user can choose to follow a collection of another user, in which case the stream of that collection contributes to the user's home stream. A user can choose to follow another user, which has the effect of following each collection of that followed user, including ones the followed user creates subsequently. A user can unfollow a collection previously followed, including a collection of a followed user.
A search may be expressed by a combination of one or more elements that may be units of text, example images, example boards, example users, which each can represent positive and negative examples.
Referring now to the drawings,
The API server 108 provides an Application Programming Interface for clients to access capabilities of the system, and coordinates the operation of internal services to provide those capabilities.
The client computers 102 are data processing systems operable to access the multimedia content sharing system 100. The client computers 102 include first client computer 140, second client computer 146, third client computer 154 and fourth client computer 156. Any suitable data processing system may be used for such remote access by a user operating a user interface of the client computer, and several examples are shown in
The second client computer 146 similarly includes a processor, memory and network interface and similarly implements a web browser 148 to view a web page 150. The web page 150 in this example includes a widget 152. The widget is a portion of software code that displays information such as images within the service that are relevant to the context.
The third client computer 154 is a mobile device such as a cellular telephone, cordless telephone, smart phone, personal digital assistant, tablet computer or portable computer. Generally, the third client computer 154 is small enough and light enough to be transportable. Further, the third client computer 154 employs battery power to be portable. The third client computer 154 generally includes a processor, memory and network interface and implements an application 155 for accessing the multimedia content sharing system 100. The application may be a standalone, customized application for accessing the multimedia content sharing system 100. Alternatively, the application may be a general purpose web browser such as the web browser 148 or the web browser 142. Still further, in recognition of the limited size and capacity and functionality of a portable device, the application may be a limited-capability browser with functionality optimized for use with a mobile device.
The fourth client computer 156 in this example is an affiliate computer. An affiliate computer is operated by an affiliate organization. An affiliate organization may be any individual or organization that has an arrangement with the multimedia content sharing system 100 to provide information to the multimedia content sharing system or users of the multimedia content sharing system, or to receive information from the multimedia content sharing system or users of the multimedia content sharing system, or both. Examples of affiliate organizations include advertisers who provide advertising and other information to the multimedia content sharing system 100, content providers who provide content including images or other multimedia information to the multimedia content sharing system 100, and operators of web sites that incorporate or make use of content and behaviors of the multimedia content sharing system 100. Such exemplary advertisers and content providers may also receive information from the multimedia content sharing system 100, such as information about user actions taken by users of other client computers 102 or processed information such as information about user preferences determined by the multimedia content sharing system 100.
A user using a client computer 102 employs a web browser such as web browser 142, 148 or an application on mobile device to view web pages on an accessed web site. In general, the user may have an account with the multimedia content sharing system 100 and, as part of the user's account, may have in place a number of collections of images or other multimedia information. The user using the client computer 102 may add an image to a collection or organize her collections or view other images and other collections of other users.
An accessed web page may include one or more images which are of interest to the user. Based on this interest, the user may choose to pin the image. The user may pin an image via a bookmarklet operating on the user's web browser. The bookmarklet is a routine which executes in the user's browser, which communicates to the web server 106 or the API Server 108 the image URL and the page URL on which the user encountered the image, and the user agent, and which identifies the browser model the user is using, along with additional data to facilitate the operation of the system. The API Server 108 in turn tells the Web Fetching Service 112 to get the image for pinning. The Web Fetching Service 112 retrieves the image using, for example, the hypertext transport protocol, and passes the image to the Image Processing Service 130 to produce a set of processed images for inclusion in the Content Delivery Service 110. The Image Processing Service 130 records the Content Delivery Service 110 URLs of the processed image products in the Attribute Store 118. By a procedure such as the procedure described below in conjunction with
The bookmarklet solicits user selection of which collection of the user shall contain the pin, and a description to use. It allows the user to create a new collection to receive the pin, in which case it communicates with the API Server 108 to create that new collection. The user can elect to place the pin in a new collection or an existing one. The user makes that election and pins the image, then bookmarklet tells API Server 108 which uses the Data Service 116 to update the Attribute Store 128 so that the collection contains the pin.
The user and other users may view collections on web pages of the operator of the multimedia content sharing system 100. The user's browser requests pages from Web Server 106, which asks the API Server 108 to provide it with information to render the collection. That info can include a title and description for the collection, and the pins within it.
Image Suggestion
In some embodiments, if the collection is alterable by a user, the web page representing that collection includes a component that shows other images or pins that the system determines may be worth the user's consideration for inclusion in the collection. The user may select one or more such items to include in that collection, at which point user may supply a description for any items selected for inclusion. Upon selection, the multimedia content sharing system 100 enters the selected pins in the collection, and provides new suggested images or pins for the collection, based on the now-expanded collection and the user's choices made in the past history of offered items selected and passed-over.
After loading the classifier model, the exemplary system proceeds as shown in
When a presentation set is requested, the method of
The method of
Next the list variable QL is initialized to the empty list. While the TCS set is non-empty, tuples are removed from it one at a time and the Inverse Document Frequency model value of the token T from the tuple is assigned to the variable LIDF. If that value is greater than zero, the tuple formed from the product of the log of the count of token occurrences and LIDF as the first element, and the token as the second element, is appended to QL. The same process is performed on the bigram counts set TPCS.
Once these token and bigram counts have been converted and appended to QL, they are sorted in descending order of their first entry, and the list of queries themselves, the second element of each tuple in QL, are returned in order, as the list of search queries. The system may also employ methods to construct a search query from the current contents of the collection. That search query may be used to obtain a set or list of other pins within the system to proffer to the user. That search query may be constructed by transformations of attributes of the collection, such as the title of the collection, the date it was created, and attributes of the items within the collection, including the sequence and times the objects were placed in the collection, information from the context in which the objects were selected, such as any attributes such as search terms of searches that produced the object or contents from which the object was constructed, any titles, descriptions, comments, likes and dislikes the objects may have, the source of those titles, descriptions, likes and dislikes, including information about the users who associated the titles and descriptions with the objects likes and dislikes, information from or about the web pages or other sources from which the image was obtained, as well as such information about objects containing similar images or from similar origins.
That search query may also be used to query systems other than ones operated by the system operator. By way of example, it may be used to query image search engines such a Google Images, Bing, image metasearch engines such as Pictures.com. The search query used at each such search service may be adapted to that service to improve the results obtained from that service and the overall results of the ensemble. The search query may include restricting the results obtained to certain sources the system has determined are likely to produce results that please the user, for example, to web sites whose images are generally well-received.
The results from querying internal and external systems may be presented within the same web page that presents the collection, or within one or more frames within such pages, or in separate windows, or frames within separate windows. Search results may be selected by the user to include in one or more collections by various means, including clicking on the image or other target associated with the result, dragging the result to some drop target.
The system may provide the user with further means to alter or improve the set of proffered objects (images), which may include means for the user to disfavor or disclude one or more results from the proffered set. Such discluded offerings may be replaced by others. The system may respond to such negative indications by changing other proffered objects. It may use such indications to modify the form of the search query, perform that modified search, and proffer a possibly-different set of objects, with a possibly-different arrangement in their presentation.
Collection Display and Organization
In accordance with some of the disclosed embodiments, the present system and method are configured to display on a client computer a variety of views of information within the multimedia content sharing system. The view provided to the client device is displayed on a user interface of the client device. For example, if the client device is a laptop or desk top computer, the view is displayed on the computer display. If the client device is a mobile device such as a smart phone, the view is displayed on the display screen of the mobile device. The view is provided to the client device by communicating information such as data to the client device to cause the client device to produce the view on the computer display or display screen. In this regard, the communicated information may be tailored to the client device, such as by sending reduced amounts of data or sending data in different formats when the client computer is a mobile device with a reduced size display.
The views produced by the multimedia content sharing system for the client computer are responsive to factors such as the nature of the viewer of the client computer and the user who owns the profile, images or collection being viewed. For example, the produced view will differ if the viewer is a registered user or is a follower of the user whose profile is being viewed, or if the viewer is a contributor to the collection being viewed.
The profile view 1100 includes a profile 1102 of the user and a display of his collections 1104. The profile 1102 may include the photo 1106, name 1108 and greeting text 1110. The profile 1102 further includes a follow me button 1112. By actuating the follow me button 1112, for example, by using a computer mouse to highlight and click on the follow me button 1112, the visitor becomes a follower of the user whose profile 1102 he is currently viewing. Being a follower means that when the user updates his collections by adding to them or reorganizing them, the following visitor will be advised of the update. For example, the home page view of the visitor may include a text or graphical notification, or copies of the updated images may be added to the home page view of the visitor. Any other sort of notification of the update may be made.
The collections 1104 of the profile view 1100 include all publicly displayable collections of the user. Each collection 1104 includes one or more multimedia content items such as images 1114. Each image 1114 is a thumbnail view of the actual image contained in the collection. A thumbnail is a reduced size version of the actual image, suitable for displaying with a number of other images. For example, in the illustrated embodiment, each thumbnail view is 60×60 pixels in size while the actual image may be much larger.
In addition to the images 1114, each collection includes a title 1116 and a count 1118 of the number of images or other multimedia content items contained in the collection. The title 1116 is established by the user at the time the collection is created and may be updated. In the example of
Each collection further includes a follow collection button 1120. By actuating the follow collection button 1120, the visitor becomes a follower of the collection. Subsequently, any time the followed collection is updated, the follower will be advised of the update. For example, the home page view of the visitor may include a text or graphical notification, or copies of the updated images may be added to the home page view of the visitor. An update to the followed collection may include adding multimedia content items such as images to the followed collection, rearranging items, editing the items such as adding a text description or a title to the item or selecting an item as a favorite.
Summary information is provided near the top of the profile view 1100. In the illustrated example, the summary information includes a count 1130 of collections 1114, a count 1132 of images in the collections 1114, and a count 1134 of items designated as favorites in the collections 1114.
The owner view 1400 shows to the owner all of her collections 1404, including those which she had marked as public and those which she has marked as private, as well as those which she owns solely and those to which she is a contributor. The collections 1404 include public collections 1406, 1408, 1410, 1414 and 1418. Further, the collections 1404 include private collections 1412 and 1416. The private status of the private collections 1412, 1416 is indicated by a lock indicator 1420, 1422 displayed in the strip of collections 1412, 1416, respectively. In the embodiment of
Moreover, the lock indicators 1420, 1422 further indicate the collaborative nature of the respective collections, 1412, 1416. In the strip of the collection 1412, the lock indicator 1420 is a solidly colored black lock symbol. In contrast, in the strip of the collection 1416, the lock indicator 1422 is shaded light gray. The solid black lock indicator 1420 indicates that the collection 1412 is a private collection owned by the viewer. The shaded gray lock indicator 1422 in the strip of the collection 1416 indicates that the collection 1416 is a private collection where the user is a contributor.
Similarly, the collection 1414 includes a collaboration indicator 1424 and the collection 1416 includes a collaboration indicator 1426. The collaboration indicators 1424, 1426 indicate that the collections 1414, 1416 are collaborative, meaning that they are defined so that more than one owner may contribute to the collection by adding images, editing images or deleting images, or otherwise maintaining the collections 1414, 1416. The collaboration indicator 1424 is solid black to indicate that the collection 1414 is a collaborative collection for which the viewer is the owner. The collaboration indicator 1426 is shaded gray to indicate that the collection 1416 is a collaborative collection where the viewer is a contributor, rather than the owner of the collection.
In
In
In the organization mode, the view 1500 includes two views of the owner's collections. These include in this example a compact view 1502 and an expanded view 1504. The compact view 1502 displays the collections as a series of strips 1506 grouped on the left hand side of the screen. Each of the strips 1506 displays the name 1508 of the collection (such “Collection One), the count 1510 of images contained in the collection (such as 19 images for Collection One) and thumbnails 1512 of some of the images contained in the collection. In organization mode, drag and drop features become enabled so the user can conveniently organize the collections and their elements in a simple, straightforward manner.
By clicking on a collection, that collection becomes selected for additional activity. Selection may be indicated by changing the background color around the collection or by otherwise highlighting the collection's appearance.
The compact view 1502 of the collections includes a delete collection button 1514 and a new collection button. When one or more collections have been selected by the user, actuation of the delete collection button deletes the selected collection or collections from the user's profile. An undo function may be provided for the user to reconsider and backtrack from the delete operation. The new collection button 1516 opens a new strip 1506 among the compact view 1502 and invites the owner to give the new collection a title and set access permissions for the new collection.
The compact view 1502 also displays information about private or public status of each collection as well as status as a collaborative collection. Thus, as in the exemplary embodiment of
In the expanded view 1504 of the collections, the image contents are expanded to show up to 50 images in each collection. This limit may be varied depending on implementation. Further description of the expanded view 1504 will be provided below in conjunction with
When the organization mode is activated, a message box 1530 appears with instructional text about what the user can do in the organization mode. In the exemplary illustration of
The compact view 1602 shows compact views of collection 1608 titled Small Collection; collection 1610 titled Large Collection; and collection 1612 labeled Collaborative Collection, along with other collections. To the right of the compact view 1602, expanded views of the respective collections are presented. The expanded views include an expanded view 1618 of the collection 1608 titled Small Collection; expanded view 1620 of the collection 1610 titled Large Collection; and expanded view 1622 of the collection 1622 titled Collaborative Collection. The expanded collection view 1604 of the collection 1610 titled Large Collection is opened as a sheet in front of or above the other expanded views 1618, 1620, 1622 of the collections 1608, 1610, 1612, respectively.
The collections in the view 1600 include the summary information described above in conjunction with
As noted, collection 1610 includes 175 images. Such a large number of images takes up most of the profile view 1600 to display. In order to display as many thumbnail images of the collection 1610, the expanded view 1604 of the collection 1610 opens in a sheet 1630 which is displayed on top of or in front of the other expanded views of the other collections. A scroll bar may be included at the side of the sheet 1630 to allow easy scrolling among the images of the expanded collection view 1604. After viewing and editing images of the expanded collection view 1604, the user may exit by clicking an exit marker 1632 at the upper corner of the sheet 1630. In some embodiments, clicking anywhere outside the sheet 1630 closes the sheet 1630 and re-displays the full expanded view of the collections. After editing her collections, the user may click the save button 1634 and save the edits and the new updated state of her collections.
Drag and Drop Editing with a Web Browser
Drag and drop processes have been used in the past as part of an operating system. For example the Macintosh operating system and the Windows operating system allow a user to view files and folders managed by the operating system either as textual names or symbols such as icons. The user may manage the files by dragging and dropping them to different locations. In general, using a mouse or other pointing device, the user moves an on-screen cursor to an object to be moved. By depressing a button on the mouse, or clicking on the object, the object is selected. The object may be a file, a group of files, a folder, a group of folders, or other objects which the operating system can manipulate. While holding down the button, the mouse is moved and the object moves across the screen. The object is thus dragged. When it reaches the desired location, the mouse button is released and dropped. If the object is dropped over a destination such as an icon representing a folder, a disk drive or a trash can, the file or group of files represented by the objected is moved by the operating system to that destination. Heretofore, drag and drop features have only been available as part of an operating system. In the present application of moving images and other multimedia files among collections displayed on a browser, using drag and drop features provides an unexpected advantage of using intuitive metaphors. On such metaphor is manually moving images around on a table top. Drag and drop interactions mimics this well from a user's perspective. In contrast, conventional browser interaction of clicking links and actuating popup menus to interact with the user interface is not inherently intuitive and does not in any way match the user's experience offline of managing objects such as pictures. The drag and drop features provide substantial convenience and ease of use, especially for new users of the system.
Each of views 1700, 1702, 1704 shows collection cards of a user's collection. In organization mode as illustrated, each of the collections is expanded to show, for example, the first 60 images in each collection. In the illustrated example, the user has a first collection card 1710 titled Collection Five; a second collection card 1712 titled Collection Six; and a third collection card 1714 titled Collection Seven. In the example, Collection Five on first collection card 1710 is initially positioned above Collection Six on the second collection card 1712, which in turn is positioned above Collection Seven on the third collection card 1714. The user seeks to reorder his collection cards so that Collection Five on the first collection card 1710 is moved to be positioned between Collection Six on the second collection card 1712 and Collection Seven on the third collection card 1714.
Initially, in view 1700, the user moves the cursor 1720 over the first collection card 1710. In accordance with the present example, in response to moving the cursor 1720 over the first collection card 1710, a background region 1722 of the collection card 1710 changes to a different appearance to highlight the collection 1710. For example, the color of shading of the background 1722 may change to a different color or a different darkness or lightness of shading, or any other indication of unique selection. Also in this example, the cursor 1720, which is in the shape of a hand, changes to open hand format. The open hand format of the cursor 1720 and the changed background 1722 together indicate that the first collection card 1710 is now draggable.
In response to the user clicking down on the mouse or other pointer, the cursor 1720 changes from open hand format to closed hand format. This is illustrated in view 1702. Further, the first collection card 1710, the second collection card 1712 and the third collection card 1714 all collapse to the compact view showing just a single row of images in each respective collection 1710, 1712, 1714. The selected first collection changes highlighting to a different appearance, in one example to slightly darker shading of the background 1722. The changes to the background 1722 and the cursor 1720 indicate to the user that dragging of the first collection card 1710 is now enabled.
In view 1704, when dragging of the first collection card 1710 begins, a changed appearance version of the first collection card 1710 appears adjacent to the cursor 1720. In the illustrated example, a minimized ghosted version 1724 of the first collection card 1710 appears and begins moving with the cursor 1720. In the example, as soon as the cursor has dragged the minimized ghosted version 1724 past half of the first collection card 1710, a drop target 1726 is acquired. In general, the drop target 1726 is located between two other collection cards as a potential location to which the first collection card 1710 is to be moved. In the example, the drop target 1726 is shown as a blue line between the second collection card 1712 and third collection card 1714. The drop target 1726 is updated as the cursor 1720 is moved so that the drop target closest to the current position of the cursor 1720 is always highlighted. Collection cards below the drop target 1726 such as the third collection card 1714 move downward to make room for the highlighted drop target 1726.
When the user has positioned the cursor 1720 and the ghosted version 1724, the user releases the mouse and un-clicks the first collection card 1710. In response, the original instance of the first collection card 1710 collapses and disappears from the view and a new instance of the first collection card 1710 at the new location appears. Next, all collection cards including the first collection card 1710, the second collection card 1712 and the third collection card 1714 expand to normal organization mode view, as in view 1702.
When a cursor such as the cursor 1820 is moved over an image, a thin outline appears around the image and denotes the image as selectable. When the mouse is clicked over the image, a darker, slightly thicker outline appears around the image as well as a drop shadow. These changes indicate that the image is selected. Clicking a selected image a second time de-selects the image. Multiple images may be selected together into a selected image group by any conventional user interface device. For example, on a computer using the Windows operating system, holding the Control key and repeatedly clicking on images adds the respective images to the selected image group.
Once one or more images are selected, a drag may be initiated. On click and drag, on any of the selected images in the selected image group, dragging of the group begins. The selected images stay in their original position and in the selected state. A minimized and ghosted version of a stack of images 1824, together with a number 1826 indicating the number of images in the selected image group being dragged follows the cursor 1820.
When the cursor 1820 enters a valid drop target area such as the area of the destination collection 1816, the target area changes in appearance. In one example, the target area lights up by the addition of an outline and shift in background color. When the mouse is released, the ghosted drag object resolves, the cursor changes from closed hand format to open hand format and the target flashes once. To conclude the process of accepting the drop, the selected image thumbnails on the source collection cards fade away. An exception is for any selected images that the user did not pin herself or does not own. Those images are copied rather than moved. Where the selected images fade away in the displayed collections, the image thumbnails to the right and below the faded thumbnail float left and up. The collection count of the number of images contained in the collection is increased by the number of images added. Further, the drop target area returns to its normal, non-highlighted state.
In some embodiments, the user may release the drag and drop in midair, as it were, before reaching a target area. If the selected group is released without being over a valid target, the cursor changes form closed hand format to open hand format and the ghosted drag object snaps back to the position where the dragging initiated. However, the selected thumbnails remain selected.
If the number of collections in a user's profile exceeds the vertical height of the display, a scrollbar may be added to the collections section near the left side of the display. Dragging objects over the scrolling area initiates scrolling. In some embodiments, the speed of scrolling may be elastic, meaning that the speed of scrolling starts out slow and gradually increases until it gets close to the top or bottom of the list where it gradually starts slowing down again to come to a complete stop when the top or bottom is reached.
The illustrated web page includes a delete button 1830 and a new button 1832. If the user, when dragging and dropping an image or selected group of images, drops an object on the delete button 1830, the operation proceeds like dropping the object on a target area. However, if any of images being dragged were not pinned or owned by the user, the number 1826 on the ghosted drag object is adjusted down to count only the user's own images. Similarly, dragging objects onto the new button 1832 operates similar to dropping objects on a collection target area. The dropped objects are placed into a new collection and the user is given the opportunity to define the new collection.
Image and Collection Recommendation
The middle strip on the upper right hand side of the image detail view shows thumbnail images from the user who originally pinned the image. The displayed images may come from one collection or many collections. The viewing user may click on any image and see an image detail view of that image.
At the bottom of the upper right hand side of the image detail view of
At the lower right side of the image detail view, recommended collections are displayed. Two recommended collections are displayed in this example. They are displayed as a strip of thumbnail images from the collections arranged on an alternate color background. In the example, the background of the recommended collections is light yellow to contrast with the white or gray background of the rest of the image detail view. The recommended or suggested collections are displayed with the legend, “If you like this you might also like,” a title of the recommended collection and a Follow button. Clicking the Follow button causes the user to begin following the collection.
The subject image is displayed with optional operations. Above the image are user interface operations to pin or love the image; to comment on the image; or to like the image. Further, there is an opportunity to edit the subject image if the user is authorized. The subject image is also displayed with its title and its source such as a uniform resource locator (URL) on the internet.
To the right of the subject image, three collections are displayed in compact view. The first collection displayed is the collection which contains the subject image. In the compact view of this collection, a predetermined number (such as six) of the images of the collection are displayed, along with the title of the collection, the count of images in the collection and an Edit Collection button if the user has authority within the system to edit the collection.
Below the user's collection is displayed a portion of the collection which originally contained the image, along with the legend “Originally Loved by Amanda,” where Amanda is another user.
Finally, the original source of the subject image is displayed. This is generally a network source such as 27.media.tumblr.com in the illustrated example. Other images from the source are displayed in a strip. Moreover, a Follow button is displayed near the strip. Clicking the Follow button will cause the user's account to follow the source of the images. As new images appear in the system from that source, they will appear in the user's home view as well.
Below the displayed collections on the right hand side are two suggested collections. These are displayed with a different background color (such as yellow in place of white) along with the legend “If you like this image you may also like” and the title of the collection. Each of the suggested collections includes a Follow button. Clicking the Follow button causes the user's account to follow the selected collection.
When viewing an image such as the subject image, the multimedia content sharing system may recommend other collections of images to the user. The following is an outline of the process for doing this.
First, analyze the image and containing collection to get candidate search queries. Text associated with the subject image and the collection containing that subject image is collected and processed. For example, the image caption, the collection title and the image page title may be scanned. The text may also include captions provided by others for the image, comments by others about the images, and other text available. All unigrams (single words) and bigrams (consecutive word pairs) are scored. Scoring is based on term frequency-inverse document frequency (TF-IDF) weighting. IDF numbers are taken from a reference corpus. The text is processed to generate one or more search queries. Processing may include recognizing unusual or rare words that suggest a more earnest or heartfelt response to or comment about the image. Candidate search queries are considered in decreasing order of score.
Second, perform candidate search queries to construct candidate set of images. A database of indexed text from other images is searched using the queries generated in the first step. In one embodiment, this search terminates when 40 candidates are found or when no more candidate search queries are available.
Third, the process aggregates candidate images by their containing collection to get a candidate set of collections.
Fourth, each candidate collection is scored using image-collection similarity, such as the process described below.
Fifth, the process returns the best two collections. In the example of
Below the identification card, on the left hand side of the collection detail view, are two suggested collections. These are displayed with a different background color (such as yellow in place of white) along with the legend “You may also like” and the title of the suggested collection and four image thumbnails from the suggested collection.
When viewing a collection such as the collection displayed in
First, analyze the target collection to get candidate search queries. This may be done by collecting all text associated with all images in the collection. This includes titles, comments captions, etc. This also includes scoring all unigrams and bigrams. Scoring is based on TF-IDF, where IDF numbers are taken from a reference corpus. The text is used to form query terms to locate relevant collections. Candidate search queries are considered in decreasing order of score.
Second, perform candidate search queries using the query terms to construct a candidate set of images. This process may terminate, for example, when 40 candidates are found or when no more candidate search queries are available.
Third, aggregate candidate images by their containing collection to get candidate set of collections.
Fourth, score each candidate collection using collection-collection similarity, as will be described below.
Fifth, return best two collections. These are displayed for viewing on the collection view page as in
Interspersed among the displayed images on the front stream view are several suggested images. These are displayed with a different background color (such as yellow in place of white) along with the source and collection name of a containing collection. Each of the suggested collections includes a Follow button. Clicking the Follow button causes the user's account to follow the selected collection.
When viewing a collection such as the collection displayed in
First, for each collection followed by the user, analyze the collection to get candidate search queries and perform candidate search queries to construct candidate set of images. The analysis and searching may be similar to those described above in conjunction with
Second, the process merges the recommendation lists generated in the above first step, breadth-first. That is, the process takes the first recommendation from each collection, and once all collections have had one recommendation consumed, takes the second recommendation from each collection.
Third, the process interleaves recommendations randomly into the front stream with a particular target density. In one example, target density is 1 in 10 images.
Similarity Functions
A first similarity function is collection-image-image similarity. All similarity functions are built from a primitive which is:
collection-image-image (Collection, PositiveImage, ProbeImage)->Score
This primitive captures the propensity for the ProbeImage to be found in a Collection with a PositiveImage which is in that Collection. This scoring function is what the training procedure outlined above constructs.
A second image-collection similarity is used on image detail page,
image-collection similarity (Collection, Image):
for each PositiveImage in the Collection
score+=collection-image-image (CollectionAssociatedWith (Image), Image, PositiveImage)
score/=number_of_images_in (Collection)
Third is collection-collection similarity. This is used on the collection detail page,
collection-collection similarity (CollectionOne, CollectionTwo):
for each Image in CollectionTwo
score+=image-collection similarity (CollectionOne, Image)
score/=number_of_images_in (CollectionTwo)
This function is not symmetric, but that is acceptable for this purpose. CollectionOne is being looked at, and CollectionTwo is a candidate recommendation, so they are different.
Fourth is collection-image similarity, which is not to be confused with image-collection similarity. It is an average of the collection-image-image similarity scores for each image in the collection.
collection-image similarity (Collection, Image):
for each PositiveImage in Collection
score+=collection-image-image (Collection, PositiveImage, Image)
score/=number_of_images_in (Collection)
Following a Source or Other Medium
A source may be defined as the particular domain where a pinned item originated. In some examples, the source of the pin or image or other multimedia item may be displayed in association with that item. An example is a network source such as 27.media.tumblr.com in the example shown in
In accordance with some embodiments, the method and system herein may permit a user to follow a source of an item on the network. One example is a Really Simple Syndication (RSS) feed. Some blogs and other internet locations originate material which may be of interest to users of the multimedia sharing system. In one embodiment, a user may select an RSS feed, such as a photo blog, to follow among his collections.
Going further, an RSS feed may include other extraneous information as well that is not of interest or is of lesser interest to a user of the multimedia sharing system. For example, in addition to interesting photos, images and other multimedia items, the RSS feed may include advertising or commentary which is not easily filtered. Other information may not be image-centric.
By making a source available to follow by a user, the user is able to benefit from additional selection, editing and curation provided by others associated with the source. The fact that the image was placed on the source indicates that someone thought the image merited posting and sharing. For examples, commercial enterprises with presences online are producing good sources for images. These include, for example, publishers such as Vogue magazine, National Geographic magazine and Sports Illustrated magazine, in their online editions.
A source then is any image that is available on the multimedia sharing system from a particular host or domain. The source may be defined by a URL, such as where a browser is redirected upon clicking on an image, or the URL defining the web page where the image originated. In the exemplary embodiment, a user may follow a source by clicking on a Follow button near the source or even clicking on a link about the source itself. Following a source or other entity operates much like following another user or a collection. When the following user refreshes his view, he is given a notice that the collection has updated and new images from source will appear in the user's photo stream.
In addition to selecting a source to follow, a user may also follow other entities in the multimedia sharing system. Examples are a search query and a brand. For example, a photographic supplier may have a website with a wide variety of images of high quality appealing to a variety of interests. That supplier may further sell goods or services under one or more brands. By selecting a brand name to follow, the user of the multimedia sharing system can automatically receive regular updates of images associated with that brand. Moreover, the supplier may recognize that such users of the multimedia sharing system represent potential customers or clients and may in turn target them, using the multimedia sharing system as a communications channel. Such an arrangement may be profitable for users who find multimedia items that appeal to their particular interest, to suppliers of goods and services that find enthusiastic purchasers, and to the operator of the multimedia sharing system that benefits from bringing the other parties together.
Tying the connection to a brand name gives builds on a relationship that already exists between the supplier and customers. Customers use brand names for indications of source, quality and reliability. Certain brands are trusted by customers. A brand can be especially useful for a customer who is a new user to a multimedia sharing system. Following the brand helps bring to him information about trusted goods or services based on the trust built by the brand.
Similarly for the supplier of those goods and services, he has spent time and resources building a brand that his customers can rely on. By making his brand available to the operator of the multimedia sharing system, the brand owner may make new use of the brand to attract and inform customers.
For the operator of the multimedia sharing system, the ability to provide brands that may be followed allows the operator to build up users of the multimedia sharing system. The benefits of increasing user comfort and familiarity accrue to the operator of the multimedia sharing system as well. Making brands available to be followed is a way to monetize the multimedia sharing system.
The methods, devices, and logic described above may be implemented in many different ways in many different combinations of hardware, software or both hardware and software. For example, all or parts of the system may include circuitry in a controller, a microprocessor, or an application specific integrated circuit (ASIC), or may be implemented with discrete logic or components, or a combination of other types of analog or digital circuitry, combined on a single integrated circuit or distributed among multiple integrated circuits. All or part of the logic described above may be implemented as instructions for execution by a processor, controller, or other processing device and may be stored in a tangible or non-transitory machine-readable or computer-readable medium such as flash memory, random access memory (RAM) or read only memory (ROM), erasable programmable read only memory (EPROM) or other machine-readable medium such as a compact disc read only memory (CDROM), or magnetic or optical disk. Thus, a product, such as a computer program product, may include a storage medium and computer readable instructions stored on the medium, which when executed in an endpoint, computer system, or other device, cause the device to perform operations according to any of the description above.
The processing capability of the system may be distributed among multiple system components, such as among multiple processors and memories, optionally including multiple distributed processing systems. Parameters, databases, and other data structures may be separately stored and managed, may be incorporated into a single memory or database, may be logically and physically organized in many different ways, and may implemented in many ways, including data structures such as linked lists, hash tables, or implicit storage mechanisms. Programs may be parts (e.g., subroutines) of a single program, separate programs, distributed across several memories and processors, or implemented in many different ways, such as in a library, such as a shared library (e.g., a dynamic link library (DLL)). The DLL, for example, may store code that performs any of the system processing described above. While various embodiments of the invention have been described, it will be apparent to those of ordinary skill in the art that many more embodiments and implementations are possible within the scope of the invention. Accordingly, the invention is not to be restricted except in light of the attached claims and their equivalents.
The present patent document claims the benefit of the filing date under 35 U.S.C. §119(e) of Provisional U.S. Patent Application Ser. No. 61/650,298, filed May 22, 2012 and Provisional U.S. Patent Application Ser. No. 61/612,021, filed Mar. 15, 2012, which are hereby incorporated by reference in their entirety.
Number | Date | Country | |
---|---|---|---|
61650298 | May 2012 | US | |
61612021 | Mar 2012 | US |