Apple is working on new ways to view all your digital media on both iOS and Mac OS X devices.

An Apple patent (number 20110119634) involving a global view for digital assets has appeared at the US Patent & Trademark Office. It relates generally to browsing large sets of digital assets, and more specifically to generating and displaying a global view of a library of digital assets.

Per the patent, processes and systems are presented, for generating and displaying a flat all-projects view of a library of digital assets. In one aspect, a process includes receiving input from a user of the application requesting to view content accessible by the application. The accessible content can include a plurality of digital assets, folders and projects stored in a hierarchy accessed by the application, and each project represents a user-defined set of digital assets. All projects residing at any location within the hierarchy can be identified, and a flat view of all identified projects can be presented. The inventors are Nikhil Bhatt, Alexander David Wallace and Mark Lee Kawano.

Here’s Apple’s background and summary of the invention: “Digital assets can include media items and other types of electronic documents. For instance, a media item can be a digital image. Further, the digital image may be either an individual still image or a frame of a movie. Additionally, a digital asset can include spreadsheets, word processing documents, and portable document format (PDF) documents.

“Moreover, digital assets such as individual items of media content (e.g., digital images) and containers for such items (e.g., folders, projects, etc.) typically are arranged and stored in a digital library having multiple hierarchical levels. A typical hierarchy of the library of digital assets can have various hierarchy levels and sub-levels, such as folders nested within other folders. If the library of digital assets corresponds to a database, then the foregoing hierarchy represents a logical hierarchy. However, if the library of digital assets corresponds to a file system on a storage device, the hierarchy described above represents a directory tree on the storage disk.

“Typically, a user that desires to navigate through such a hierarchical library of digital assets, for example, to access items of media content, can use one of two different tools: When traversing the file system hierarchy, the user can use a file system explorer utility that is built-into the operating system (Windows.RTM. available from Microsoft, of Redmond, Wash.). However, an application (e.g., iPhoto.RTM. software available from Apple, of Cupertino, Calif.) designed to manage items of a specific media type can be used to browse the logical hierarchy of a digital asset database. Either of these tools can be configured to expose the library hierarchy to the user (e.g., in a portion of the user interface) as the user navigates through the various hierarchical levels.

“This specification discloses processes and systems for generating and displaying a flat global view (also referred to as an ‘all projects view’) of a library of digital assets that are arranged and stored across multiple hierarchical levels.

“In general, one aspect of the subject matter described in this specification can be implemented in processes performed by an application executing on a computer system, and that include the actions of receiving input from a user of the application requesting to view content accessible by the application. The accessible content can include a plurality of digital assets, folders and projects stored in a hierarchy accessed by the application. Each project can represent a user-defined set of digital assets. All projects residing at any location within the hierarchy can be identified, and a flat view of all identified projects can be presented.

“If the content accessible by the application is stored in a database in accordance with a logical hierarchy, the flat view of all the identified projects contained in the database can be presented. Additionally, if the content accessible by the application is stored in a file system in accordance with a directory-tree hierarchy, the presented flat view can include all identified projects contained in the file system. In some implementations, the application can generate both a database-all-projects-view and a disk-all-projects view, for example.

“These and other implementations can include one or more of the following features. The flat view can include all identified projects arranged in alphabetical order. Additionally, the flat view can contain all identified projects grouped into respective folder associations. Further, the flat view can include all identified projects grouped into respective date associations. The input received from the user can specify a particular location within the hierarchy and the presented flat view can include only those projects at or below that particular location within the hierarchy.

“According to another aspect, the described subject matter can also be implemented in a computer readable medium encoded with a computer program. The program includes instructions that when executed by a processor of a computing device cause the processor to perform operations including accessing a media library that contains digital images, projects and folders. The digital images are uniquely stored in associated projects. Further, the folders and the projects are stored according to a hierarchy of the media library. Input selecting a hierarchy level of the media library can be received from a user of the computer program. A flat graphical representation of all projects stored at or below the selected hierarchy level can be generated and presented to the user.

“These and other implementations can include one or more of the following features. The computer program instructions, when executed prior to presenting the flat graphical representation, can cause the processor to perform further operations receiving from the user a grouping criterion. The projects at or below the selected hierarchy level can be grouped based on the received grouping criterion. In some implementations, the received grouping criterion can be a calendar interval.

“The calendar interval corresponding to a project starts on an acquisition date of a first acquired digital image of the project and ends at an acquisition date of a last acquired digital image of the project. The computer program instructions, when executed to perform the grouping, can cause the processor to perform further operations including generating a group of projects labeled by year to include projects that have calendar ranges contained within the year.

“Additionally, a group of projects labeled by a range of years can be generated to include projects that have calendar intervals extending over the range of years. In some implementations, the received grouping criterion can be a hierarchy sublevel of the media library. The computer program instructions, when executed to perform the grouping, can cause the processor to generate a group of projects to include all projects contained at or below the hierarchy sublevel. The hierarchical sublevel can be a folder of the media library. The computer program instructions when executed can cause the processor to label the generated group of projects in accordance with a folder’s name.

“According to another aspect, the described subject matter can also be implemented in a system including a storage device for storing a library of digital assets. The system also includes a computing device communicatively coupled with the storage device. The computing device executes an application that is configured to perform operations including retrieving from the storing device the library of digital assets. The library of digital assets stores digital assets in corresponding projects. Further, the folders and the projects are stored according to a hierarchy of the library of digital assets. A selection of a hierarchy level of the retrieved library of digital assets can be received from a user of the system.

“Additionally, a grouping criterion can be received from the user. Groups of projects can be created based on the received grouping criterion. A flat all-projects-view can be displayed including the created groups of projects stored at or below the selected hierarchy level.

“These and other implementations can include one or more of the following features. The received grouping criterion can include a calendar interval. A calendar interval corresponding to a project starts on a date when a first digital asset of the project is created, and ends on a date when a last digital asset of the project is created. To create the group of projects, the application is configured to generate a group of projects labeled by a predetermined calendar range to include projects that have calendar intervals contained within the predetermined calendar range. After displaying the flat all-projects-view, the application is further configured to receive input selecting another hierarchical level of the library of digital assets that is lower than the selected hierarchical level. The application includes a graphical user interface that can include an input control, for example, a menu item, a label, or a button. The application is configured to receive from a user input selecting the hierarchical level of the library of digital assets via the input control of the user interface.

“According to another aspect, the described subject matter can also be implemented in a method including receiving input from a user of an application executing on a computer system to view a plurality of file system objects accessible by the application. The plurality of file system objects includes files, folders and pointers stored according to a hierarchy of the file system. Further input selecting first and second hierarchy levels of the file system can be received from the user. All folders stored between the first and second hierarchy levels can be identified. Then, a flat view of all the identified folders can be presented. In some implementations, the selected second hierarchy level of the file system represents a root level of the file system. Thus, the flat view of all folders contained in the file system above the first selected level can be depicted at the root level of the file system.

“In some implementations, the files represent digital images, and the file system represents a library including the digital images. If the folders which are stored at the first selected hierarchy level represent projects and consist of one or more files, then the method further includes presenting a flat all-projects view of the library of digital images. In addition, if the folders which are stored at the first selected hierarchy level represent albums and consist of one or more pointers to corresponding digital images, then the method further includes presenting a flat all-albums view of the library of digital images.

“According to another aspect, the described subject matter can also be implemented in a system including a storage device configured to store a library including a plurality of media items and folders stored in a hierarchy associated with the library. Types of media items can include digital images, projects and albums. Each project can represent a user-defined set of digital images. Each album can represent a user-defined set of pointers to digital images.

“The system further includes a processor that is communicatively coupled with the storage device. The processor is configured to receive from a user of the system a request to view media items of a particular type. All the media items of the particular type residing at any location within the hierarchy can be identified by the processor. Further, the processor is configured to present a flat view of all the identified media items of the particular type.

“These and other implementations can include one or more of the following features. If the particular type of media specified by the request is a project, the processor is configured to present a flat view of all the identified projects. If the particular type of media specified by the request is an album, the processor is configured to present a flat view of all the identified albums. And, if the particular type of media specified by the request is a digital image, the processor is configured to present a flat view of all the identified digital images.

“The flat view includes all the identified media items of the particular type grouped into respective folder associations. Additionally, the flat view includes all the identified media items of the particular type grouped into respective year-interval associations. For example, the request received from the user can specify a given location within the hierarchy. Then, the presented flat view includes only those media items of the particular type at or below the given location within the hierarchy.

“According to another aspect, the described subject matter can also be implemented in a method including receiving input from a user of an application executing on a computer system to view a set of digital assets stored in at least one digital library accessible by the application. The set of digital assets includes files, containers and folders stored according to a hierarchy corresponding to the at least one digital library. A container can include a plurality of files. An input selecting one of the at least one digital library can be received from the user. Input indicating a particular hierarchy level of the selected digital library can also be received from the user. All containers stored at or below the particular hierarchy level are then identified. A flat view of all the identified containers can be presented by the application.

“These and other implementations can include one or more of the following features. In some implementations, the selected digital library can represent a database that stores the set of digital assets in logical folders. The containers can represent projects, such that each project includes a user-defined set of files, and the folders represent logical folders. In these implementations, the projects and the logical folders are stored according to a logical hierarchy corresponding to the database. The flat view of all the identified projects contained in the database can be depicted by the application.

“In some implementations, the selected digital library can represent a file system on a storage device communicatively coupled with the computer system. The containers can represent project-folders, such that each project-folder is flat and includes a user-defined set of files, and the folders represent file system directories. In these implementations, the project-folders and the directories are stored according to a directory-tree hierarchy corresponding to the file system. The flat view of all the identified project-folders contained in the file system can be depicted by the application.”

— Dennis Sellers