As computing and digital imaging technology has advanced, computing devices have become an increasingly popular platform for managing, viewing, and sharing photographs, video, and other images. To allow users to more efficiently organize and locate images, mechanisms have been developed that automatically organize documents based at least in part upon metadata pertaining to the documents. Thus, for instance, if an image was captured when a user was on vacation at a particular location, the user can assign a tag to the image that indicates dates of the vacation, name of the location, etc. The tag serves as user-defined metadata. Thereafter, to locate a particular image, the user can search using a query that corresponds to metadata assigned to one or more images, and the search can be undertaken over the metadata assigned to the images.
Another mechanism that has been developed to add metadata to images involves the posting of images. When a user posts an image or album on a server hosted by a social media service so that it can be shared with others, metadata is added which allow user to locate the image or album.
Despite the use of tagging and posting, problems remain when users attempt to discover, locate and organize images. This is particularly true as the number of images accessible to users continues to grow at a rapid rate, which is in part due to the growth of social networking sites, which allow users to view, publish and share images and other digital assets with their friends, other contacts and third parties. Accordingly, it can be cumbersome for a user to navigate images even when they have been tagged with metadata, especially when some of the images may be locally stored on the user's computing device and other images may be located on remote sites which make them available through various services. This problem is further exacerbated when some of the images have been tagged by the user and other images have been tagged by other individuals.
A method and system is provided which dynamically adjusts the manner in which photos, photo albums and other images are made accessible and presented or otherwise exposed to a user of a computing device, regardless of the location or service from which the images are accessed. For instance, the photos may be locally accessible on the computing device or remotely accessible from a social networking service, for example. The manner in which the adjustments are made is tailored to the user based on the user's previous activities in connection with the photos, the individual or group of individuals appearing in the photos and photo albums, and the person who posted the photos or albums
The photos and photo albums may be accessed through various organizational structures tailored to the user's previous experience with the people, photos, and photo albums available on the computing device. For instance, icons representing collections of photos or the individual photos themselves may be displayed in a manner that reflects the relative relevance or importance to the user of the individual or group of individuals in the collection of photos represented by each icon. In one implementation, both the order in which the icons are presented as well as their appearance may reflect the relative relevance or importance to the user of the individual or group of individuals in the collection of photos represented by each icon. In this way the user can more easily navigate through the icons and the photos and albums.
Sorting the icons based on the relative importance of the individual or group of individuals appearing in the photos may be accomplished in a number of different ways. In one implementation, if a user accesses (e.g., views, shares, and/or tags) photos or photo albums posted by a particular person the prominence of icons representing all the available photos and photo albums of that person will increase overall. That is, all photos and photo albums showing an individual or group of individuals who photos and photo albums has been the most accessed by the user may be considered as the most important, while those photos and photo albums showing an individual or group of individuals whose photos or photo albums has been the least accessed by the user may be considered as the least important. As a concrete example, if an individual photo of a particular person is accessed say, 100 times, the prominence of icons representing all that person's collections of photos which are available to the user is increased. This is because the relevance or importance of that particular person has increased as a result of accessing even a single one of his or her photos so many times. In this way the icons may be presented to the user in a sequential order that reflects the relative degree to which the user has previously interacted with the photos and photos albums of the individual or group of individuals.
In one illustrative example a menu or interface is presented to the user. The menu or interface includes icons representing images (e.g., photos) or collections of images that have been categorized based in part on metadata respectively associated with the images. The metadata may have been provided by tagging the images or posting the images on one or more social networking sites. The order in which the icons are presented on the menu or interface may be based on their relative relevance or importance. In one particular implementation, icons representing collections of images showing an individual or group of individuals whose images are more frequently accessed can be displayed in the menu before (e.g., higher than) icons representing collections of images showing an individual or group of individuals who images are less frequently accessed. In yet another implementation, collections of images showing an individual or group of individuals whose images have been more recently accessed can be displayed before (e.g., higher than) icons representing other collections showing an individual or group of individuals who images have been less recently accessed.
This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter.
As detailed below, a menu structure is provided which allows a user of a media or computing device to more easily consolidate and navigate images and/or albums (“images/albums”) regardless of their location. Moreover, the menu structure is dynamically tailored to individual users based on their previous interactions with the images/albums. This structure allows users to discover and access images/albums in different ways which offer a personalized experience to the user.
It should be noted at the outset that while from time to time reference is made herein to photos, those of ordinary skill in the art will recognize that the systems, methods and techniques herein are equally applicable to images of all types and not just photographic images. Although images and albums are primarily discussed herein, it is to be appreciated that the techniques discussed herein can also be used with collections or sequences of images (e.g. videos), including sequences of images that may appear in albums.
Each computing device 102 can be a variety of different types of devices. For example, a computing device 102 can be a desktop computer, a mobile station, an entertainment appliance, a set-top box communicatively coupled to a display device, a cellular or other wireless phone, a personal digital assistant (PDA), a game console, an automotive computer, and so forth. Thus, each computing device 102 can range from a full resource device with substantial memory and processor resources (e.g., personal computers, game consoles) to a low-resource device with limited memory and/or processing resources (e.g., traditional set-top boxes, hand-held game consoles). Different computing devices 102 can be the same type or alternatively different types of devices.
Services 104 can be provided by a variety of different types of computing devices. For instance, each service may be provided through one or more servers.
Each computing device 102 includes an image management module 112, a tagging module 114, an image organization module 115 and a local address book 117. Image management module 112 manages images on computing device 102, including the storage, retrieval, display, communication, and so forth of images. Images can be stored by computing device 102 locally, or alternatively on a remote storage device. Tagging module 114 assists users in tagging images, allowing names or labels to be associated with particular images and/or regions of images as discussed in more detail below. Image organization module 115 can organize images and their tags and provide the various menus and interfaces discussed below into which the images are organized based on those tags. The local address book 117 allows users to maintain a list of contacts.
Server 104 includes an image sharing module 116, address book 118 and metadata module 119. Image sharing module 116 manages the storing and sharing of images by server 104. Image sharing module 116 works in conjunction with the address book 118 and the metadata module 119 to perform these functions. Users of various computing devices 102 can access and view images managed by image sharing module 116, as discussed in more detail below.
In one or more embodiments, image sharing module 116 supports a social networking service, allowing multiple users to communicate with one another and share their images/albums with one another.
Images/albums may include metadata, which, among other things, identifies individuals or groups of individuals shown in the images/albums. While the metadata may be incorporated in accordance with any technique available to those of ordinary skill in the art, two examples discussed herein include the tagging of photos and the posting of photos so that they can be shared with others. Each of these techniques will be discussed in turn.
Images/albums are typically tagged by a user of a computing device 102 via tagging module 114. The image can then be viewed by a user of computing device 102. Additionally, the image can then be communicated to server 104 and image sharing module 116 allows other users to view the image (and associated tags). This allowing of other users to view the image is also referred to as publishing the image.
Tagging images refers to associating metadata such as a particular label with an image or a portion (referred to as a region) of an image. These labels are discussed herein primarily as names of people in images. Accordingly, images that incorporate metadata in this manner can be referred to as tagged images which are tagged with the names of individuals or groups of individuals. Alternatively, labels for other objects can be supported (e.g., my house, the Statue of Liberty, Pacific Ocean, and so forth) analogous to the names discussed herein.
Tags can be global tags or region-specific tags. A global tag is associated with an entire image. For example, a global tag with the name “Bob” can be associated with an image, indicating that a person named “Bob” is included in the image. A region-specific tag, also referred to as a region tag, is associated with a portion or region of an image. For example, a region tag with the name “John” can be associated with a particular region of the image, indicating that a person named “John” is included in that region of the image.
Once published by image sharing module 116, other users can also tag the image via the tagging module 114 on the computing devices 102 they are using. These additional tags are added to the image so that they can be viewed by other users, including the user that had the image published.
Tagging module 114 presents a user interface that allows users of computing device 102 to tag photos in accordance with any of a variety of well-known techniques. For instance, a tag typically includes a label or name of a person included in the image, and can also include one or more additional identifiers of the person. In one or more embodiments, image sharing module 116 is part of an online service that users join. As part of this service, users are assigned an identifier (ID) that typically uniquely identifies the user within that service. This ID can be stored as part of the tag. Additionally, in one or more embodiments an email address of the user (or other value based on the email address, such as a hash value generated by applying a hash function to the email address) is stored as part of the tag. These one or more additional identifiers can be used to distinguish between different users that are named in the tags, as discussed in more detail below. These IDs and email addresses can be stored by address book 118, or alternatively by other services, components, and/or modules.
The ID and/or email address (or hash thereof) is typically added to the tag when the tag is created. This information can be obtained in a variety of different ways, such as by accessing address book 118, by being manually input by the user, and so forth. In some cases, a list of possible people to tag an image with can be displayed to the user. This list can be obtained from, for example, address book 118. The people included in this list may be referred to as contacts of the user, and an ID and/or email address has typically already been input by the user (or another), and can be copied form this contact information to the tag.
As previously mentioned, in addition to tagging, metadata may also be incorporated into images/albums by posting them on a server or other device that allows them to be shared with others. For instance, images/albums may be posted on a social networking site. Generally these sites provide APIs that allows a user who accesses the posted image/album to access metadata that indicates the identity of the person who posted the image/album.
In summary, photos that are either tagged with information or posted to a service will include metadata which allows the individual who is in the image/album or the individual who posted the image/album to be identified. Such images/albums will be referred to herein as images/albums that relate to the individual respectively identified in the metadata associated with the images/albums.
When a user selects one of the categories 210 its various sub-categories are presented below it. For instance, in
It should be noted that the particular categories and subcategories depicted in
If the user selects the people library shown in
In the example shown in
Referring again to the interface 300 to the people library of
The frequency with which the images/albums have been accessed by the user can be recorded by the image organization module 115 shown in
The record of the user's prior activity relating to the images can be used in a variety of different ways to determine the order in which the icons are presented on the menu or interface 300 based on their relative importance. For example, icons representing collections of images/albums which have metadata identifying individuals or groups of individuals whose images/albums are more frequently accessed can be displayed in the interface 300 before (e.g., higher than) icons representing images/albums which have metadata identifying individuals or groups of individuals whose images/albums are less frequently accessed. By way of another example, icons representing collections of images/albums which have metadata identifying individuals or groups of individuals whose images/albums have been more recently accessed can be displayed before (e.g., higher than) the icons representing other collections of images/albums which have metadata identifying individuals or groups of individuals whose images/albums have been less recently accessed.
In addition to displaying the icons included in the interface 300 for the people library in a manner that reflects their relative relevance or importance, the icons included in the contact interface 400 of
When the user selects an icon from the interface 400 for a contact, yet another interface is presented to the user. This interface shows all the images related to that contact which are included in the particular collection of photos represented by the selected icon. For instance, if the user selects the icon in
he particular hierarchical menu structure described above is presented for illustrative purposes only and may be rearranged in a myriad of ways without departing from the scope or spirit of the claimed subject matter. In addition, the menu structure may be supplemented with additional menus or interfaces that allow users to gain access to the various library of images described above. For instance,
In some implementations additional links may be provided that allow users to access images/albums of individuals in additional ways as well, thereby further enhancing the user's ability to navigate through images. For instance, in one particular implementation a user is able to click on or otherwise select an individual appearing in an image and directly access other images/albums of that individual.
Now referring to
The computing device 1000 additionally includes a data store 1008 that is accessible by the processor 1002 by way of the system bus 1006. The data store 1008 may include executable instructions, people tags, documents, etc. The computing device 1000 also includes an input interface 1010 that allows external devices to communicate with the computing device 1000. For instance, the input interface 1010 may be used to receive instructions from an external computer device, from an individual, etc. The computing device 1000 also includes an output interface 1012 that interfaces the computing device 1000 with one or more external devices. For example, the computing device 1000 may display text, images, etc. by way of the output interface 1012. Additionally, while illustrated as a single system, it is to be understood that the computing device 1000 may be a distributed system. Thus, for instance, several devices may be in communication by way of a network connection and may collectively perform tasks described as being performed by the computing device 1000.
As used in this application, the terms “component,” “module,” “engine,” “system,” “apparatus,” “interface,” or the like are generally intended to refer to a computer-related entity, either hardware, a combination of hardware and software, software, or software in execution. For example, a component may be, but is not limited to being, a process running on a processor, a processor, an object, an executable, a thread of execution, a program, and/or a computer. By way of illustration, both an application running on a controller and the controller can be a component. One or more components may reside within a process and/or thread of execution and a component may be localized on one computer and/or distributed between two or more computers.
Furthermore, the claimed subject matter may be implemented as a method, apparatus, or article of manufacture using standard programming and/or engineering techniques to produce software, firmware, hardware, or any combination thereof to control a computer to implement the disclosed subject matter. For instance, the claimed subject matter may be implemented as a computer-readable storage medium embedded with a computer executable program, which encompasses a computer program accessible from any computer-readable storage device or storage media. For example, computer readable storage media can include but are not limited to magnetic storage devices (e.g., hard disk, floppy disk, magnetic strips . . . ), optical disks (e.g., compact disk (CD), digital versatile disk (DVD) . . . ), smart cards, and flash memory devices (e.g., card, stick, key drive . . . ). Of course, those skilled in the art will recognize many modifications may be made to this configuration without departing from the scope or spirit of the claimed subject matter.
Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.