Using metadata in user interfaces
First Claim
1. A software product, tangibly embodied in a machine-readable storage device, for user interfaces, the software product comprising instructions cause one or more data processing apparatus to perform operations comprising:
- receiving digital objects, the digital objects consisting of images, sound tracks, animations or videos, wherein each digital object is a collection of digital data including both content and separate metadata describing the content;
defining a data structure specifying a plurality of containers to organize the digital objects using information specified by the digital object metadata to define the containers, where the digital object metadata includes user-defined tags that define a classification for each digital object;
identifying each of the containers in the data structure as empty or non-empty, wherein each non-empty container is associated with one or more respective digital objects and each empty container is associated with none of the digital objects;
generating a reduced representation of the data structure, the reduced representation including a respective representation for each of the non-empty containers but no representation for any of the empty containers; and
presenting the reduced representation of the data structure in a user interface, including presenting a simultaneous representation of the non-empty containers and no representation of the empty containers.
2 Assignments
0 Petitions
Accused Products
Abstract
Methods, systems and apparatus, including computer program products, for user interfaces. A user interface uses metadata of digital objects to navigate through a data structure that includes multiple containers to organize digital objects, such as digital images. Based on the metadata, the user interface can ignore empty containers that have no associated digital objects. The data structure can be presented without the empty containers, or the empty containers can be presented but automatically skipped when a user navigates through the data structure. For example in a calendar view, in which each day represents a container for images, days without images are automatically skipped when the user navigates in the calendar view.
-
Citations
59 Claims
-
1. A software product, tangibly embodied in a machine-readable storage device, for user interfaces, the software product comprising instructions cause one or more data processing apparatus to perform operations comprising:
receiving digital objects, the digital objects consisting of images, sound tracks, animations or videos, wherein each digital object is a collection of digital data including both content and separate metadata describing the content;
defining a data structure specifying a plurality of containers to organize the digital objects using information specified by the digital object metadata to define the containers, where the digital object metadata includes user-defined tags that define a classification for each digital object;
identifying each of the containers in the data structure as empty or non-empty, wherein each non-empty container is associated with one or more respective digital objects and each empty container is associated with none of the digital objects;
generating a reduced representation of the data structure, the reduced representation including a respective representation for each of the non-empty containers but no representation for any of the empty containers; and
presenting the reduced representation of the data structure in a user interface, including presenting a simultaneous representation of the non-empty containers and no representation of the empty containers.- View Dependent Claims (2, 3, 4, 5, 6, 7, 29, 30, 48, 56)
-
8. A software product, tangibly embodied in a machine-readable storage device, for user interfaces, the software product comprising instructions operable to cause one or more data processing apparatus to perform operations comprising:
- receiving a data structure organizing digital objects, the digital objects consisting of images, sound tracks, animations or videos, the data structure specifying a plurality of containers, wherein each digital object is a collection of digital data including both content and separate metadata describing the content, each container being capable of including other containers and two or more digital objects, each digital object being associated with one or more containers based on the digital object'"'"'s metadata, where the digital object metadata includes user-defined tags that define a classification for each digital object;
identifying each of the containers in the data structure as empty or non-empty, wherein each non-empty container is associated with one or more respective digital objects and each empty container is associated with none of the digital objects, the plurality of containers having an order, the plurality of containers including at least two non-empty containers and at least one empty container that is between the two non-empty containers in the order;
presenting a reduced representation of the data structure in a user interface, the representation of the data structure including a respective simultaneous representation for each of the non-empty containers and no representation of the empty containers;
in the user interface, receiving user input specifying an instruction to navigate a cursor from a current container to a next container; anddetermining whether the next container is empty or non-empty, and when the next container is empty, identifying the first non-empty container after the next container according to the order, and modifying the specified instruction to navigate the cursor to the first non-empty container, and when the next container is non-empty, navigating the cursor to the next container. - View Dependent Claims (9, 10, 11, 12, 13, 27, 28, 49)
- receiving a data structure organizing digital objects, the digital objects consisting of images, sound tracks, animations or videos, the data structure specifying a plurality of containers, wherein each digital object is a collection of digital data including both content and separate metadata describing the content, each container being capable of including other containers and two or more digital objects, each digital object being associated with one or more containers based on the digital object'"'"'s metadata, where the digital object metadata includes user-defined tags that define a classification for each digital object;
-
14. A software product, tangibly embodied in a machine-readable storage device, for user interfaces, the software product comprising instructions to cause one or more data processing apparatus to perform operations comprising:
- receiving a data structure organizing digital objects, the digital objects consisting of images, sound tracks, animations or videos, wherein each digital object is a collection of digital data including both content and separate metadata describing the content, the data structure specifying a respective container to represent each day of a month, wherein each container is capable of including other containers and two or more digital objects, each digital object being associated with one or more containers based on the digital object'"'"'s metadata, where the digital object metadata includes user-defined tags that define a classification for each digital object;
identifying each of the containers in the data structure as empty or non-empty, wherein each non-empty container is associated with one or more respective digital objects and empty containers are not associated with any of the digital objects, the plurality of containers having an order, the plurality of containers including at least two non-empty containers and at least one empty container that is between the two non-empty containers in the order;
presenting the reduced calendar view representation of the data structure in a user interface, the reduced calendar view representation including a respective simultaneous representation for each non-empty container representing a day of the month and no representation for any empty container representing a day of the month;
in the user interface, receiving user input specifying an instruction to navigate a cursor from a current container to a next container, the cursor marking a day representing the next container; and
determining whether the next container is empty or non-empty, and when the next container is empty, identifying the first non-empty container after the next container according to the order, and modifying the specified instruction to navigate the cursor to mark a day representing the first non-empty container, and when the next container is non-empty, navigating the cursor to mark a day representing the next container. - View Dependent Claims (50)
- receiving a data structure organizing digital objects, the digital objects consisting of images, sound tracks, animations or videos, wherein each digital object is a collection of digital data including both content and separate metadata describing the content, the data structure specifying a respective container to represent each day of a month, wherein each container is capable of including other containers and two or more digital objects, each digital object being associated with one or more containers based on the digital object'"'"'s metadata, where the digital object metadata includes user-defined tags that define a classification for each digital object;
-
15. A software product, tangibly embodied in a machine-readable storage device, for user interfaces, the software product comprising instructions to cause one or more data processing apparatus to perform operations comprising:
- receiving a plurality of pointers, each pointer identifying a location where respective digital content is to be found, the digital content consisting of images, sound tracks, animations or videos;
identifying each of the pointers as empty or non-empty, wherein each non-empty pointer identifies a location where the respective digital content is to be found and each empty pointer identifies a location where no respective digital content is to be found, the plurality of pointers including at least one non-empty pointer and at least one empty pointer; and
presenting the reduced representation of the pointers in a user interface, the reduced representation including a respective simultaneous user selectable representation for each of the non-empty pointers but no user-selectable representation for any of the empty pointers.
- receiving a plurality of pointers, each pointer identifying a location where respective digital content is to be found, the digital content consisting of images, sound tracks, animations or videos;
-
16. A computer implemented method for user interfaces, the method comprising:
- receiving digital objects, the digital objects consisting of images, sound tracks, animations or videos, wherein each digital object is a collection of digital data including both content and separate metadata describing the content;
defining a data structure specifying a plurality of containers to organize the digital objects using information specified by the digital object metadata to define the containers, where the digital object metadata includes user-defined tags that define a classification for each digital object;
identifying each of the containers in the data structure as empty or non-empty, wherein each non-empty container is associated with one or more respective digital objects and each empty container is associated with none of the digital objects;
generating a reduced representation of the data structure, the reduced representation including a respective representation for each of the non-empty containers but no representation for any of the empty containers; and
presenting the reduced representation of the data structure in a user interface, including presenting a simultaneous representation of the non-empty containers and no representation of the empty containers. - View Dependent Claims (17, 51, 57)
- receiving digital objects, the digital objects consisting of images, sound tracks, animations or videos, wherein each digital object is a collection of digital data including both content and separate metadata describing the content;
-
18. A computer implemented method for user interfaces, the method comprising:
- receiving a data structure organizing digital objects, the digital objects consisting of images, sound tracks, animations or videos, wherein each digital object is a collection of digital data including both content and separate metadata describing the content;
specifying a plurality of containers within the data structure, wherein the plurality of containers is defined based on information specified by the digital object metadata, each container being capable of including other containers and two or more digital objects, each digital object being associated with one or more containers based on the digital object'"'"'s metadata, where the digital object metadata includes user-defined tags that define a classification for each digital object;
identifying each of the containers in the data structure as empty or non-empty, wherein each non-empty container is associated with one or more respective digital objects and each empty container is associated with none of the digital objects, the plurality of containers having an order, the plurality of containers including at least two non-empty containers and at least one empty container that is between the two non-empty containers in the order;
presenting the reduced representation of the data structure in a user interface, the representation of the data structure including a respective simultaneous representation for each of the non-empty containers and no representation for any of the empty containers;
in the user interface, receiving user input specifying an instruction to navigate a cursor from a current container to a next container; anddetermining whether the next container is empty or non-empty, and when the next container is empty, identifying the first non-empty container after the next container according to the order, and modifying the specified instruction to navigate the cursor to the first non-empty container, and when the next container is non-empty, navigating the cursor to the next container. - View Dependent Claims (19, 52)
- receiving a data structure organizing digital objects, the digital objects consisting of images, sound tracks, animations or videos, wherein each digital object is a collection of digital data including both content and separate metadata describing the content;
-
20. A computer implemented system, comprising:
- a display to present elements of a user interface; and
data processing apparatus configured to perform operations comprising;
receiving digital objects, the digital objects consisting of images, sound tracks, animations or videos, wherein each digital object is a collection of digital data including both content and separate metadata describing the content;
defining a data structure specifying a plurality of containers to organize the digital objects using information specified by the digital object metadata to define the containers, where the digital object metadata includes user-defined tags that define a classification for each digital object;
identifying each of the containers in the data structure as empty or non-empty, wherein each non-empty container is associated with one or more respective digital objects and each empty container is associated with none of the digital objects;generating a reduced representation of the data structure, the reduced representation including a respective representation for each of the non-empty containers but no representation for any of the empty containers; and
presenting the reduced representation of the data structure in the display, including presenting a simultaneous representation of the two non-empty containers and no representation of the empty containers. - View Dependent Claims (21, 22, 23, 33, 34, 35, 36, 37, 38, 39, 40, 53, 58)
- a display to present elements of a user interface; and
-
24. A computer implemented system, comprising:
- a display to present elements of a user interface;
an input device to receive user input; and
data processing apparatus configured to perform operations comprising;
receiving a data structure organizing digital objects, the digital objects consisting of images, sound tracks, animations or videos, the data structure specifying a plurality of containers, wherein each digital object is a collection of digital data including both content and separate metadata describing the content, each container being capable of including other containers and two or more digital objects, each digital object being associated with one or more containers based on the digital object'"'"'s metadata, where the digital object metadata includes user-defined tags that define a classification for each digital object;identifying each of the containers in the data structure as empty or non-empty, wherein each non-empty container is associated with one or more respective digital objects and each empty container is associated with none of the digital objects, the plurality of containers having an order, the plurality of containers including at least two non-empty containers and at least one empty container that is between the two non-empty containers in the order;
presenting the reduced representation of the data structure in the display, the representation of the data structure including a respective simultaneous representation for each of the non-empty containers and no representation for any of the empty containers;
receiving user input from the input device, the received user input specifying an instruction to navigate a cursor from a current container to a next container; and
determining whether the next container is empty or non-empty, and when the next container is empty, identifying the first non-empty container after the next container according to the order, and modifying the specified instruction to navigate the cursor to the first non-empty container, and when the next container is non-empty, navigating the cursor to the next container. - View Dependent Claims (25, 26, 31, 32, 41, 42, 43, 44, 45, 54)
- a display to present elements of a user interface;
-
46. A computer implemented system, comprising:
- a display to present elements of a user interface;
an input device to receive user input; and
data processing apparatus configured to perform operations comprising;
receiving a data structure organizing digital objects, the digital objects consisting of images, sound tracks, animations or videos, wherein each digital object is a collection of digital data including both content and separate metadata describing the content, the data structure specifying a respective container to represent each day of a month, wherein each container is capable of including other containers and two or more digital objects, each digital object being associated with one or more containers based on the digital object'"'"'s metadata, where the digital object metadata includes user-defined tags that define a classification for each digital object;
identifying each of the containers in the data structure as empty or non-empty, wherein each non-empty container is associated with one or more respective digital objects and empty containers are not associated with any of the digital objects, the plurality of containers having an order, the plurality of containers including at least two non-empty containers and at least one empty container that is between the two non-empty containers in the order;
presenting the reduced calendar view representation of the data structure in the display, the reduced calendar view representation including a respective simultaneous representation for each non-empty container representing a day of the month and no representation for any empty container representing a day of the month;
receiving user input from the input device, the received user input specifying an instruction to navigate a cursor from a current container to a next container, the cursor marking a day representing the next container; and
determining whether the next container is empty or non-empty, and when the next container is empty, identifying the first non-empty container after the next container according to the order, and modifying the specified instruction to navigate the cursor to mark a day representing the first non-empty container, and when the next container is non-empty, navigating the cursor to mark a day representing the next container. - View Dependent Claims (55)
- a display to present elements of a user interface;
-
47. A computer implemented system, comprising:
- a display to present elements of a user interface; and
data processing apparatus configured to perform operations comprising;
receiving a plurality of pointers, each pointer identifying a location where respective digital content is to be found, the digital content consisting of images, sound tracks, animations or videos;
identifying each of the pointers as empty or non-empty, wherein each non-empty pointer identifies a location where the respective digital content is to be found and each empty pointer identifies a location where no respective digital content is to be found, the plurality of pointers including at least one non-empty pointer and at least one empty pointer; and
presenting the reduced representation of the pointers in the display, the reduced representation including a respective simultaneous user selectable representation for each of the non-empty pointers but no user-selectable representation for any of the empty pointers.
- a display to present elements of a user interface; and
-
59. A software product, tangibly embodied in a machine-readable storage device, for user interfaces, the software product comprising instructions to cause one or more data processing apparatus to perform operations comprising:
- receiving a data structure organizing digital objects, the digital objects consisting of images, sound tracks, animations or videos, the data structure specifying a plurality of containers, wherein each digital object is a collection of digital data including both content and separate metadata describing the content, each container being capable of including other containers and two or more digital objects, each digital object being associated with one or more containers based on the digital object'"'"'s metadata, where the digital object metadata includes user-defined tags that define a classification for each digital object;
identifying each of the containers in the data structure as empty or non-empty, wherein each non-empty container is associated with one or more respective digital objects and each empty container is associated with none of the digital objects, the plurality of containers having an order, the plurality of containers including at least two non-empty containers and at least one empty container that is between the two non-empty containers in the order;
generating a reduced representation of the data structure, the reduced representation including a respective representation for each of the non-empty containers but no representation for any of the empty containers; and
presenting the reduced representation of the data structure in a user interface, including presenting a simultaneous representation of the two non-empty containers and no representation of the empty container that is between the two non-empty containers, wherein the representation of the non-empty containers includes no representation of the respective objects associated with the non-empty containers.
- receiving a data structure organizing digital objects, the digital objects consisting of images, sound tracks, animations or videos, the data structure specifying a plurality of containers, wherein each digital object is a collection of digital data including both content and separate metadata describing the content, each container being capable of including other containers and two or more digital objects, each digital object being associated with one or more containers based on the digital object'"'"'s metadata, where the digital object metadata includes user-defined tags that define a classification for each digital object;
Specification