Modern data processing systems, such as general purpose computer systems, allow the users of such systems to create a variety of different types of data files. For example, a typical user of a data processing system may create text files with a word processing program such as Microsoft Word or may create an image file with an image processing program such as Adobe's PhotoShop. Numerous other types of files are capable of being created or modified, edited, and otherwise used by one or more users for a typical data processing system. The large number of the different types of files that can be created or modified can present a challenge to a typical user who is seeking to find a particular file which has been created.
Modern data processing systems often include a file management system which allows a user to place files in various directories or subdirectories (e.g. folders) and allows a user to give the file a name. Further, these file management systems often allow a user to find a file by searching for the file's name, or the date of creation, or the date of modification, or the type of file. An example of such a file management system is the Finder program which operates on Macintosh computers from Apple Inc. of Cupertino, Calif. Another example of a file management system program is the Windows Explorer program which operates on the Windows operating system from Microsoft Corporation of Redmond, Wash. Both the Finder program and the Windows Explorer program include a find command which allows a user to search for files by various criteria including a file name or a date of creation or a date of modification or the type of file. However, this search capability searches through information which is the same for each file, regardless of the type of file. Thus, for example, the searchable data for a Microsoft Word file is the same as the searchable data for an Adobe PhotoShop file, and this data typically includes the file name, the type of file, the date of creation, the date of last modification, the size of the file and certain other parameters which may be maintained for the file by the file management system.
Certain presently existing application programs allow a user to maintain data about a particular file. This data about a particular file may be considered metadata because it is data about other data. This metadata for a particular file may include information about the author of a file, a summary of the document, and various other types of information. A program such as Microsoft Word may automatically create some of this data when a user creates a file and the user may add additional data or edit the data by selecting the “property sheet” from a menu selection in Microsoft Word. The property sheets in Microsoft Word allow a user to create metadata for a particular file or document. However, in existing systems, a user is not able to search for metadata across a variety of different applications using one search request from the user. Furthermore, existing systems can perform one search for data files, but this search does not also include searching through metadata for those files.
Methods for managing data in a data processing system and systems for managing data are described herein.
A method of managing data in one exemplary embodiment includes displaying an icon representing a file in a graphical user interface (GUI), where the icon includes one or more predefined decorations. The decorations may be chosen based on the file type, such as slide decorations for presentations, a foldover for documents, etc. This may also be referred to as type conformance. A preview of the content of the file is presented within the icon without launching an application which has created the file (also referred to as the creator application). The pre-defined decorations on the icon may be maintained on the icon while the preview of the content of the file is presented. The format of the icon (e.g., shape of the icon, size of the icon, etc.) may be maintained as well during presentation of the preview.
In some embodiments, various user interface control are provided to allow users to manipulate the presentation of the preview within the icon. Thus, such preview is also referred to as interactive preview and the icon displaying the interactive preview are referred to as a dynamic icon. For example, if the file is a document, buttons may be provided to allow users to page through pages of the document within the icon as if one was turning the pages sequentially. Alternatively, a button may be provided to allow users to zoom into a portion of the document within the icon. Alternatively, a scroll bar may be provided to allow users to scroll up and down the document within the icon. If the file is a video, then a play button may be provided to allow users to initiate playing a preview of the video within the icon. Furthermore, a stop button may be provided to allow users to stop playing the video. In some embodiments, a status indicator, such as a ring, a bar, etc., may be provided to indicate the portion of the preview of the video played. If the file is a still image, then a thumbnail of the image may be displayed as a preview and one or more buttons may be provided to allow users to zoom in or out of the thumbnail of the image.
According to some aspects of the invention, the GUI in which the icon is displayed is associated with a client application, such as a file management application of a hierarchical file system (HFS), such as Finder from Apple, Inc. of Cupertino, Calif., and Window Explorer from Microsoft Corp. of Redmond, Wash. Via the GUI, users may manage files in the HFS. Alternatively, the GUI in which the icon is displayed is associated with a file searching application, such as Spotlight from Apple, Inc. The GUI may include a result window of the file searching application. Icons of files found by the file searching application may be displayed in the result window and previews of contents of the files, if available, are presented within the icons inside the result window. No additional window may be generated to present the preview.
In some embodiments, the metadata of the file includes a field having an indicator to indicate whether a preview of the content of the file is available. If the preview is available, then a plug-in associated with the creator application of the file is executed to present the preview within the icon. Furthermore, if the preview is interactive according to the metadata, then various user interface control may be generated to allow users to manipulate the presentation of the preview.
According to some aspects of the invention, a background process (also referred to as a daemon) may request icon data of an icon from the plug-in in response to a request from the client application. As mentioned above, the plug-in is associated with a creator application of the file. The icon data includes decorations of the icon (which may be chosen based on the file type) and metadata of the file. As mentioned above, the metadata may include a field having an indicator to indicate whether a preview of the content of the file is available. After the background process receives the icon data from the plug-in, the background process forwards the icon data to the client application. In some embodiments, the client application analyzes the metadata to determine if a preview of the content of the file is available, and if so, whether the preview is interactive. If the preview is available and is interactive, then the client application may generate an icon usable to present the preview and execute the plug-in to present the preview within the icon. User interface control appropriate for the type of content may be provided to allow users to manipulate the presentation of the preview within the icon.
In at least certain embodiments, the icon data from the plug-in further includes badge data and an image (such as a thumbnail). The badge data includes additional information on the file, the creator application of the file, and/or a third party vendor of the creator application. For example, the badge data may include the version of the creator application. Using the badge data, a badge may be generated and displayed on the icon. For example, a badge containing a graphic image to identify a creator application (e.g., a logo of the creator application) and/or the third party vendor (e.g., a trademark of the third party vendor) may be displayed on an icon of a file created by the creator application. Such a badge may be referred to as an image badge. Alternatively, a badge containing text of the name of the creator application may be displayed on the icon. Such a badge may be referred to as a text badge.
According to some aspects of the invention, icons representing folders may be badged as well. When an icon is created for a folder, it is determined if all files within the folder is produced by applications from a single third party vendor using badge data in icon data of icons representing the files within the folder. If so, a badge indicative of the single third party vendor is generated. Then the badge is displayed on the icon of the folder. The badge may include text, a graphic image, or a combination of both. The icon of the folder may further include decorations for folders, such as a binder.
In some embodiments, the above operations to create icons, to present previews within the icons, and to create badges for the icons are performed by a single computing machine, such as a personal computer. Alternatively, the above operations to create icons, to present previews within the icons, and to create badges for the icons are performed by various computing machines within a system. According to some aspects of the invention, a server in the system initiates an instance of a preview generator for each client machine in the system. The instance sends at least one of a preview and a thumbnail of a file to the client machine responsive to a request for the file from the client machine to allow the client machine to present the preview. The instance may generate an icon representing the file and execute a plug-in associated with a creator application of the file to present the preview within the icon so that the creator application does not have to be launched. Furthermore, the icon may be cached on the server so that other instances of the preview generator may use the same icon.
Other aspects of the present inventions include various data processing systems which perform these methods and machine readable media which cause a data processing system to perform various methods described herein.
The present invention is illustrated by way of example and not limitation in the figures of the accompanying drawings in which like references indicate similar elements.
The subject invention will be described with reference to numerous details set forth below, and the accompanying drawings will illustrate the invention. The following description and drawings are illustrative of the invention and are not to be construed as limiting the invention. Numerous specific details are described to provide a thorough understanding of the present invention. However, in certain instances, well known or conventional details are not described in order to not unnecessarily obscure the present invention in detail.
The present description includes material protected by copyrights, such as illustrations of graphical user interface images. The owners of the copyrights, including the assignee of the present invention, hereby reserve their rights, including copyright, in these materials. 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 file or records, but otherwise reserves all copyrights whatsoever. Copyright Apple Inc. 2008.
As shown in
It will be apparent from this description that aspects of the present invention may be embodied, at least in part, in software. That is, the techniques may be carried out in a computer system or other data processing system in response to its processor, such as a microprocessor, executing sequences of instructions contained in a memory, such as ROM 107, RAM 105, mass storage 106 or a remote storage device. In various embodiments, hardwired circuitry may be used in combination with software instructions to implement the present invention. Thus, the techniques are not limited to any specific combination of hardware circuitry and software nor to any particular source for the instructions executed by the data processing system. In addition, throughout this description, various functions and operations are described as being performed by or caused by software code to simplify description. However, those skilled in the art will recognize what is meant by such expressions is that the functions result from execution of the code by a processor, such as the microprocessor 103.
Capturing and Use of Metadata Across a Variety of Application Programs
The method of
The method of
One particular field which may be useful in the various metadata formats would be a field which includes an identifier of a plug-in or other software element which may be used to capture metadata from a data file and/or export metadata back to the creator application. Another field which may be useful in the various metadata formats would be a field which includes an indicator on whether a preview of the content of a file is available. In some embodiments, the field may further include another indicator to tell whether the preview, if available, is interactive.
Various different software architectures may be used to implement the functions and operations described herein. The following discussion provides one example of such an architecture, but it will be understood that alternative architectures may also be employed to achieve the same or similar results. The software architecture shown in
The software architecture 400 also includes a file system directory 417 for the metadata. This file system directory keeps track of the relationship between the data files and their metadata and keeps track of the location of the metadata object (e.g. a metadata file which corresponds to the data file from which it was extracted) created by each importer. In one exemplary embodiment, the metadata database is maintained as a flat file format as described below, and the file system directory 417 maintains this flat file format. One advantage of a flat file format is that the data is laid out on a storage device as a string of data without references between fields from one metadata file (corresponding to a particular data file) to another metadata file (corresponding to another data file). This arrangement of data will often result in faster retrieval of information from the metadata database 415.
The software architecture 400 of
The method of
It will be appreciated that the notification, if done through the OS kernel, is a global, system wide notification process such that changes to any file will cause a notification to be sent to the metadata processing software. It will also be appreciated that in alternative embodiments, each application program may itself generate the necessary metadata and provide the metadata directly to a metadata database without the requirement of a notification from an operating system kernel or from the intervention of importers, such as the importers 413. Alternatively, rather than using OS kernel notifications, an embodiment may use software calls from each application to a metadata processing software which receives these calls and then imports the metadata from each file in response to the call.
As noted above, the metadata database 415 may be stored in a flat file format in order to improve the speed of retrieval of information in most circumstances. The flat file format may be considered to be a non-B tree, non-hash tree format in which data is not attempted to be organized but is rather stored as a stream of data. Each metadata object or metadata file will itself contain fields, such as the fields shown in the examples of
A flexible query language may be used to search the metadata database in the same way that such query languages are used to search other databases. The data within each metadata file may be packed or even compressed if desirable. As noted above, each metadata file, in certain embodiments, will include a persistent identifier which uniquely identifies its corresponding data file. This identifier remains the same even if the name of the file is changed or the file is modified. This allows for the persistent association between the particular data file and its metadata.
User Interface Aspects
Various different examples of user interfaces for inputting search parameters and for displaying search results are provided herein. It will be understood that some features from certain embodiments may be mixed with other embodiments such that hybrid embodiments may result from these combinations. It will be appreciated that certain features may be removed from each of these embodiments and still provide adequate functionality in many instances.
The combination of text entry region 709 and the search parameter menu bar allow a user to specify a search query or search parameters. Each of the configurable pull down menus presents a user with a list of options to select from when the user activates the pull down menu. As shown in
It will also be appreciated that the various options in the pull down menus may depend upon the fields within a particular type of metadata file. For example, the selection of “images” to be searched may cause the various fields present in the metadata for an image type file to appear in one or more pull down menus, allowing the user to search within one or more of those fields for that particular type of file. Other fields which do not apply to “images” types of files may not appear in these menus in order reduce the complexity of the menus and to prevent user confusion.
Another feature of the present invention is shown in
The window 1001 includes an additional feature which may be very useful while analyzing a search result. A user may select individual files from within the display region 1005 and associate them together as one collection. Each file may be individually marked using a specific command (e.g. pressing the right button on a mouse and selecting a command from a menu which appears on the screen, which command may be “add selection to current group”) or similar such commands. By individually selecting such files or by selecting a group of files at once, the user may associate this group of files into a selected group or a “marked” group and this association may be used to perform a common action on all of the files in the group (e.g. print each file or view each file in a viewer window or move each file to a new or existing folder, etc.). A representation of this marked group appears as a folder in the user-configurable portion 1003A. An example of such a folder is the folder 1020 shown in the user-configurable portion 1003A. By selecting this folder (e.g. by positioning a cursor over the folder 1020 and pressing and releasing a mouse button or by pressing another button) the user, as a result of this selection, will cause the display within the display region 1005 of the files which have been grouped together or marked. Alternatively, a separate window may appear showing only the items which have been marked or grouped. This association or grouping may be merely temporary or it may be made permanent by retaining a list of all the files which have been grouped and by keeping a folder 1020 or other representations of the grouping within the user-configurable side bar, such as the side bar 1003A. Certain embodiments may allow multiple, different groupings to exist at the same time, and each of these groupings or associations may be merely temporary (e.g. they exist only while the search results window is displayed), or they may be made permanent by retaining a list of all the files which have been grouped within each separate group. It will be appreciated that the files within each group may have been created from different applications. As noted above, one of the groupings may be selected and then a user may select a command which performs a common action (e.g. print or view or move or delete) on all of the files within the selected group.
The window 1201 shown in
A column 1211 of window 1201 allows a user to select various search parameters by selecting one of the options which in turn causes the display of a submenu that corresponds to the selected option. In the case of
The window 1301 shown in
The search results user interface shown in
Another aspect of the present inventions relates to previews, displayed within search results windows, icons, dynamic icons, etc., where some or all of which are at least one of being resizeable, zoomable, or pageable through. For example, a first representation (e.g., an icon, a dynamic icon, etc.) of a first file found by the search may contain a preview that is at least one of being resizeable or zoomable or scrollable or pageable through within a display region, such as a window, which contains the results of the search.
A preview, at least in certain embodiments, can apply to files (e.g., documents, still images, video, etc.) or other objects (e.g. records, emails, messages, vCards, etc.). A single page preview can be used for a thumbnail or in any situation where a single image is needed to provide a preview of an item. Multiple items can be previewed at once and compared, or viewed in sequence. When multiple items are previewed at once, they can be of any file type including many different file types. The previews can be shown in the same window as the search results window or in a separate window or in a layer that is overlaid above the item, shown in a search result, which is being previewed in the layer above. Alternatively, the previews of contents of files may be presented within icons and/or dynamic icons representing the files, where the icons and/or dynamic icons may be displayed in a window, such as the search result window.
A preview may be presented using a variety of different implementations, such as a plug-in implementation which uses one or more plug-ins, such as a QuickTime plug-in, etc. Each of the previews may be formatted in one of several standard data/file types (such as PDF, text, HTML, JPEG, a movie format, or a sound/music format, etc.). The previews may be either generated by the application, which created the item or file represented by the preview, when the item or file is stored or may be generated dynamically when needed. A dynamically generated preview may be produced by invoking a generator plug-in that translates the native format of the item being previewed to one of the “standard” data/file types (e.g. PDF, text, HTML, JPEG, a standard movie format, or a standard sound/music format, etc.). A preview generator plug-in may be loaded in a separate process to protect against failures and/or security vulnerabilities. Alternatively, a trusted generator plug-in (e.g., QuickTime), or a set of such plug-ins may be loaded directly in the process of presenting the search results and such plug-ins may be used to present the previews. A preview generator may be capable of handling multiple preview requests concurrently and the preview generator and/or the search software controlling the search results window may manage a queue of preview requests, and the search software can cancel or reorder the preview requests in the queue.
The following figures show examples of previews or other representations which are resizeable or zoomable or scrollable or pageable through.
Previews or other representations which are resizeable or scrollable or zoomable or pageable through may also be provided in other user interfaces which may include alternative types of views, such as within a dynamic icon, which is further described below.
In some embodiments, the preview within the icon is interactive such that presentation of the preview may change in response to user input. Various user interface control are provided based on the file type to allow users to manipulate presentation of the preview in block 217. In one example, where the file is a document, a left arrow button and a right arrow button may be provided to allow users to page through the document, as if one were flipping through pages in a book sequentially. In another example, where the file is a video, a play button may be provided to allow users to initiate playing of a preview of the video. Furthermore, a stop button may be provided to allow users to stop playing the preview of the video. In another example, where the file is an image, a zoom button may be provided to allow users to zoom in and/or zoom out of a thumbnail of the image presented in the icon. While presenting the preview in response to actuation of the user interface control, the format of the icon (e.g., size of icon, shape of icon, color of icon, etc.) is maintained at block 219. Furthermore, some or all of the decorations on the icon may be maintained during presentation of the preview. For example, a foldover at the top right corner of an icon of a document is maintained while users page through a preview of the document within the icon until reaching the last page of the document. When the last page of the document is presented, the foldover may be removed to indicate that the last page of the document is being presented. Alternatively, a status indicator is provided to inform users of the status of the presentation of the preview. For instance, a status bar or a status ring may be provided to indicate the portion of a preview of a video that has been played. Details of some examples of dynamic icons are shown in
In some embodiments, the dynamic icons created according to the method described above are displayed in GUIs associated with hierarchical file system (HFS) management application, such as the Finder program from Apple, Inc., of Cupertino, Calif., which operates on the Macintosh operating system. In alternate embodiments, the HFS management application may be Windows Explorer, which operates on Microsoft's Windows operating system. For example, a GUI associated with a HFS management application may include a window displaying dynamic icons to represent files inside a directory. Users of the GUI may readily preview the content of a file within a respective dynamic icon without opening another window or viewing panel. Alternatively, the dynamic icons are displayed in GUIs associated with a file searching application, such as the Spotlight program from Apple, Inc., of Cupertino, Calif. For example, files resulted from a search by the file searching application may be represented by dynamic icons displayed in a search result window. As such, users of the file searching application may readily preview the content of the files inside their respective dynamic icons without opening another window or viewing panel within the same window.
In some embodiments, the preview is provided in the metadata of the file. As mentioned above, the metadata of the file may include a field which includes an indicator of whether a preview of the content of the file is available. Furthermore, the field may include an indicator of whether the preview, if available, is interactive. If an interactive preview of the content of the file is available according to these indicators, a client application may turn a thumbnail into a live preview of the content.
Initially, the client application 2401 interrogates the daemon 2403, which is a process running in the background, for icon data of an icon representing a file 2410. In response to the interrogation 2410, the daemon 2403 sends a request for the icon data to the plug-in 2405. In response to the request 2415, the plug-in 2405 returns the icon data 2420 to the daemon 2403. The icon data includes decorations to be put onto the icon and image metadata indicative of whether a preview of the content of the file is available. The daemon 2403 then forwards the icon data 2425 to the client application 2401. Using the icon data, the client application 2401 may generate the decorations to put onto the icon and determine if a preview of the content of the file is available. If the preview is available, the client application 2401 may present the preview in the icon and provide appropriate user interface control to allow users to manipulate the preview. As such, the thumbnail of the file may be turned into a dynamic icon if the metadata of the file indicates that the preview is available. Details of some embodiments of generating dynamic icons have been described above with reference to
In some embodiments, the preview presented within the icon includes an interactive preview. Various user interface control may be provided to allow users to manipulate presentation of the preview. The icon generated is displayed on a GUI associated with a client application (such as the client application 2401 in
User Interface Aspects of Dynamic Icons
Various different examples of dynamic icons discussed above are provided herein. It will be understood that some features from certain embodiments may be mixed with other embodiments such that hybrid embodiments may result from these combinations. It will be appreciated that certain features may be removed from each of these embodiments and still provide adequate functionality in many instances.
Upon detection of a cursor 2620 moving across the dynamic icon 2600, a left arrow 2622 and a right arrow 2624 are generated and displayed on the dynamic icon 2600 as shown in
As shown in
As shown in
Upon detection of a cursor 2720 moving across the dynamic icon 2700, a play button 2725 is generated and displayed within the dynamic icon 2700 as shown in
In some embodiments, the dynamic icon 2700 may further provide a status indicator 2735 as shown in
Icon Badging
Another aspect of the present inventions relates to icon badging. Badges associated with icons allow third parties that provide creator applications of files to provide more information, in addition to file types, to icon generating software. For example, third parties may indicate in badge data which version of creator applications are used to create the files, and hence, the icon generating software may generate and display an appropriate badge on icons representing the files.
In block 2812, decorations for the icon are selected based on the file type. This may also be referred to as type conformance. For example, if a file is recognized as a presentation (e.g., Powerpoint files from Microsoft Corp. of Redmond, Wash., Keynote files from Apple, Inc. of Cupertino, Calif., etc.) according to the file type information, then a slide decoration is provided to the icon of the file. In another example, if a file is recognized as a document (e.g., MSWord files from Microsoft Corp. of Redmond, Wash., Pages files from Apple, Inc. of Cupertino, Calif., etc.) according to the file type information, then a binder decoration is provided to the icon of the file.
In addition to the file type, the badge data in the icon data provides more information on the file, the creator application, and/or a third party vendor providing the creator application. Via badge data, the third party vendor may provide more hints on the file in addition to the file type. For example, the badge data may indicate the identity of the third party vendor, a version of the creator application, etc. Using the badge data, a badge is generated in block 2814. The badge may include graphics, text, or a combination of both, to represent the third party, the creator application, and/or other hints provided in the badge data. A badge that includes only graphics is referred to as an image badge. A badge that includes only text is referred to as a text badge.
In block 2816, an icon of the file is generated. Then the image, the badge, and the decorations selected above are displayed on the icon. Via the image, the icon may provide users with an initial preview of the file. Via the decorations, the icon may indicate the file type to users. Via the badge, the icon may convey additional hints about the file to users. Note that all of the above information on the file may be conveyed to users by a display of the icon without user intervention. Users do not have to request the above information and there is no need to open another window or viewing panel to display the above information.
Using badges, the third party vendor may ensure icons of files created by its applications are badged in similar way. Thus, badges allow the third party vendor to provide a substantially uniform look and feel for icons of files created by the third party's applications.
According to another aspect of the present invention, a folder containing only files created by applications from a single third party may be badged as well. As such, users may easily determine the content of the folder without opening the folder.
If all files within the folder are created by the same application or applications from the same third party vendor, then the icon of the folder is badged accordingly. In block 2913, a badge indicative of the vendor is created. The badge may include graphics, text, or a combination of both. For example, if all files within the folder are created by applications from Apple, Inc. of Cupertino, Calif., then a badge including the graphic logo representing Apple, Inc. may be created. In block 2915, the badge created is displayed on the icon of the folder. Decorations of the folder may also be displayed on the icon of the folder with the badge. Some exemplary embodiments of badged icons are illustrated in
Referring to
System Architecture
As described above, these previews or thumbnails may be shown by a set of software routines such as a set of plug-ins, which are separate from a file management software program, such as Finder or Windows Explorer. This separation between the plug-ins which renders the content and Finder or other file management software provides security and stability because, for example, if the plug-in crashes, Finder may not. These plug-ins may be a standard set of plug-ins that translate the native format of an item being previewed into one of a standard data/file type, such as PDF, text, HTML, JPG, a standard movie format or a standard sound/music format or into fully rendered content (e.g., a bitmap). The set of plug-ins may be an extensible set of plug-ins and may interact with the file management software, such as Finder or Windows Explorer, through a set of APIs in which the file management software makes a call to a plug-in management daemon which receives the call or API from the file management software (or other software program) and which, in turn, asks for the file type (e.g., UTI) from a file system kernel and matches one of the plug-ins in the standard set of plug-ins, which may be extensible, with the file type and which then calls the matched plug-in to cause the plug-in to load and return the content of the file (either in an immediately displayable form or in a standard format) as a preview to the file management software which, in turn, causes the preview to be displayed in, for example, an icon representing the file and/or the cover flow view. This may occur in response to merely browsing the files through the use of the file management software, such as Finder, or through the use of a search software program, such as Spotlight, to find files and then display previews or thumbnails of files retrieved by the search. As noted above, the preview or thumbnail may be generated dynamically upon request rather than when the item or file is stored or created by the application. This dynamic generation may be through an API. It will be understood that a dynamic generation of a preview or thumbnail may be provided without invoking or launching the application which created the file or document. Examples of software architectures to dynamically generate previews are discussed in conjunction with
In addition to a file management software program or a search software program, such as Spotlight, other software application programs may provide or use application programming interfaces (API) to request the preview generator or preview daemon to provide a preview or thumbnail of the content of a file within their windows. For example, an email program or a calendar program or a video conferencing application or an instant messaging application program or other application programs may also make a call to the preview generator or preview generator daemon to provide the content of a particular file in the manner described herein. In response to the call through an API from the email program or the calendar program or other program, the preview generator or preview generator daemon asks the file system for the file type and matches the file type with a plug-in having an ability to process that file type and causes that plug-in to be loaded (for example, by calling the plug-in through another optional API). The plug-in, in turn, processes the content of the file to generate the preview or thumbnail and provides that content to the original application which requested the content, such as the email program or a calendar program or, as noted above, a file management software. A preview, such as an interactive preview in a dynamic icon (e.g., the dynamic icons shown in
In some embodiments, an interactive preview may be presented through the following set of software routines while also showing an initial set of previews. For example, thumbnails of files may be the initial set of previews shown in a particular view (e.g. list view, cover flow view, icon view), and the set of software routines provide an interactive preview, within the same view, for at least one of these initial previews. The initial previews may also be provided by this set of software routines, but these initial previews may not be interactive with the view; for example, they are not interactive within the view, in response to user commands so they will not, in response to user commands, allow a user to page through or scroll through or browse through the content or to zoom or resize the content or playback the content, such as playback the movie. On the other hand, the interactive preview is interactive in response to user commands in that it can respond to a user command to page through or scroll through or browse or resize or zoom the document represented by the interactive preview or playback the content, either within the particular view (e.g. a list view or cover flow view or icon view (see, e.g.
In some embodiments, all modules in the above software architecture 3001 are implemented and executed on a single individual computing machine, such as a personal computer. Alternatively, the above software architecture 3001 may be implemented in a distributed manner, such as in a client-server system.
In the foregoing specification, the invention has been described with reference to specific exemplary embodiments thereof. It will be evident that various modifications may be made thereto without departing from the broader spirit and scope of the invention as set forth in the following claims. The specification and drawings are, accordingly, to be regarded in an illustrative sense rather than a restrictive sense.
This application claims the benefit of U.S. Provisional Patent Application No. 61/059,592, filed on Jun. 6, 2008.
Number | Name | Date | Kind |
---|---|---|---|
5303388 | Kreitman et al. | Apr 1994 | A |
5404316 | Klingler et al. | Apr 1995 | A |
5586237 | Baecker | Dec 1996 | A |
5796945 | Tarabella | Aug 1998 | A |
5831617 | Bhukhanwala | Nov 1998 | A |
6006227 | Freeman et al. | Dec 1999 | A |
6006241 | Purnaveja | Dec 1999 | A |
6011537 | Slotznick | Jan 2000 | A |
6031532 | Gourdol et al. | Feb 2000 | A |
6184898 | Rice et al. | Feb 2001 | B1 |
6262732 | Coleman et al. | Jul 2001 | B1 |
6337699 | Nielsen | Jan 2002 | B1 |
6459441 | Perroux et al. | Oct 2002 | B1 |
6519568 | Harvey et al. | Feb 2003 | B1 |
6613101 | Mander et al. | Sep 2003 | B2 |
6638313 | Freeman et al. | Oct 2003 | B1 |
6725427 | Freeman et al. | Apr 2004 | B2 |
6768999 | Prager et al. | Jul 2004 | B2 |
7086011 | Budrys et al. | Aug 2006 | B2 |
7107548 | Shafron | Sep 2006 | B2 |
7117440 | Gordon et al. | Oct 2006 | B2 |
7146388 | Stakutis et al. | Dec 2006 | B2 |
7171626 | Sheldon et al. | Jan 2007 | B2 |
7234114 | Kurtz et al. | Jun 2007 | B2 |
7266768 | Ferlitsch et al. | Sep 2007 | B2 |
7287227 | Ries et al. | Oct 2007 | B2 |
7293268 | Masuda et al. | Nov 2007 | B2 |
7298851 | Hendricks et al. | Nov 2007 | B1 |
7318047 | Foth et al. | Jan 2008 | B1 |
7409644 | Moore et al. | Aug 2008 | B2 |
7409645 | Sheldon et al. | Aug 2008 | B2 |
7437358 | Arrouye et al. | Oct 2008 | B2 |
7587680 | Wada | Sep 2009 | B2 |
7689933 | Parsons | Mar 2010 | B1 |
7694236 | Gusmorino et al. | Apr 2010 | B2 |
7730047 | Hugill et al. | Jun 2010 | B2 |
7779069 | Frid-Nielsen et al. | Aug 2010 | B2 |
7844918 | Ashe | Nov 2010 | B1 |
7908562 | McKee et al. | Mar 2011 | B2 |
20010028363 | Nomoto et al. | Oct 2001 | A1 |
20020033848 | Sciammarella et al. | Mar 2002 | A1 |
20020091739 | Ferlitsch et al. | Jul 2002 | A1 |
20030076322 | Ouzts et al. | Apr 2003 | A1 |
20030088831 | Bauer et al. | May 2003 | A1 |
20030093572 | Laux et al. | May 2003 | A1 |
20030128242 | Gordon | Jul 2003 | A1 |
20030146939 | Petropoulos et al. | Aug 2003 | A1 |
20030156140 | Watanabe | Aug 2003 | A1 |
20030189602 | Dalton et al. | Oct 2003 | A1 |
20040085581 | Tonkin | May 2004 | A1 |
20040095396 | Stavely et al. | May 2004 | A1 |
20040230599 | Moore et al. | Nov 2004 | A1 |
20050010860 | Weiss et al. | Jan 2005 | A1 |
20050102373 | Grinberg | May 2005 | A1 |
20050157218 | Honma | Jul 2005 | A1 |
20050210393 | Maeng | Sep 2005 | A1 |
20050240878 | Anthony et al. | Oct 2005 | A1 |
20050251758 | Cummins et al. | Nov 2005 | A1 |
20060020899 | Gusmorino et al. | Jan 2006 | A1 |
20060107207 | Wada | May 2006 | A1 |
20060174214 | McKee et al. | Aug 2006 | A1 |
20060195790 | Beaupre et al. | Aug 2006 | A1 |
20060238835 | Nishida et al. | Oct 2006 | A1 |
20060268100 | Karukka et al. | Nov 2006 | A1 |
20060280437 | Logan et al. | Dec 2006 | A1 |
20070011258 | Khoo | Jan 2007 | A1 |
20070038642 | Durgin et al. | Feb 2007 | A1 |
20070058597 | Frid-Nielsen et al. | Mar 2007 | A1 |
20070061745 | Anthony et al. | Mar 2007 | A1 |
20070070066 | Bakhash | Mar 2007 | A1 |
20070136750 | Abanami et al. | Jun 2007 | A1 |
20070143493 | Mullig et al. | Jun 2007 | A1 |
20070143791 | Sammarco | Jun 2007 | A1 |
20070157129 | Facemire et al. | Jul 2007 | A1 |
20070189708 | Lerman et al. | Aug 2007 | A1 |
20070264982 | Nguyen et al. | Nov 2007 | A1 |
20070266411 | Yamamoto et al. | Nov 2007 | A1 |
20080034306 | Ording | Feb 2008 | A1 |
20080034325 | Ording | Feb 2008 | A1 |
20080034381 | Jalon et al. | Feb 2008 | A1 |
20080062141 | Chandhri | Mar 2008 | A1 |
20080115182 | van Willigenburg | May 2008 | A1 |
20080127289 | Julia et al. | May 2008 | A1 |
20080134028 | Whitmyer | Jun 2008 | A1 |
20080183578 | Lipscomb | Jul 2008 | A1 |
20080225167 | Beermann | Sep 2008 | A1 |
20080270978 | Leung | Oct 2008 | A1 |
20080307343 | Robert et al. | Dec 2008 | A1 |
20080307350 | Sabatelli et al. | Dec 2008 | A1 |
20080307363 | Jalon et al. | Dec 2008 | A1 |
20090007198 | Lavender et al. | Jan 2009 | A1 |
20090106674 | Bray et al. | Apr 2009 | A1 |
20090112719 | Bhave et al. | Apr 2009 | A1 |
20090125842 | Nakayama | May 2009 | A1 |
20090144642 | Crystal | Jun 2009 | A1 |
20090150769 | Konnola et al. | Jun 2009 | A1 |
20090150784 | Denney et al. | Jun 2009 | A1 |
20090150792 | Laakso et al. | Jun 2009 | A1 |
20090199132 | Chong et al. | Aug 2009 | A1 |
20090204895 | Bhatt et al. | Aug 2009 | A1 |
20090210641 | Osborne et al. | Aug 2009 | A1 |
20090300540 | Russell | Dec 2009 | A1 |
20090307615 | Jalon et al. | Dec 2009 | A1 |
20090307626 | Jalon et al. | Dec 2009 | A1 |
20110055673 | Teng et al. | Mar 2011 | A1 |
20110320488 | Rechis et al. | Dec 2011 | A1 |
Number | Date | Country |
---|---|---|
WO 9949496 | Sep 1999 | WO |
Entry |
---|
Ording, Bas, et al.,“Methods and Apparatuses for Operating a Data Processing System”, U.S. Appl. No. 10/873,661, filed Jun. 21, 2004 (92 pp.). |
Office Action mailed May 26, 2010 for U.S. Appl. No. 12/189,673, filed Aug. 11, 2008, 18 pages. |
Enright, Andrew Coulter, The Fliptych Interface, The Treehouse+The Cave, Aug. 6, 2006, 2 pages. |
Apples iTunes 7 CNET Editors' Review, Sep. 15, 2006, 6 pages. |
Windows Media Player 11—The Other Album Art Aware App!, May 11, 2006, 4 pages. |
Engst, Adam C., iPhoto 6 for Mac OS X: Visual QuickStart Guide, Peachpit Press, Jun. 20, 2006, pp. 9, 45, 50, 100, 105, 122, and 144-146. |
Microsoft Corporation, “How to modify your folder view settings or to do a custom folder”, Apr. 27, 2004, 5 pages. |
Ricadela, Aaron, “New Windows Era”, InformationWeek, Aug. 1, 2005, 3 pages. |
Microsoft Corporation, “Creating Windows XP Icons”, Jul. 2001, 12 pages. |
Apple Tiger vs Windows Vista, Jun. 25, 2006, 3 pages. |
PCT International Search Report and Written Opinion for PCT International Application No. PCT/US2008/005900 mailed Aug. 1, 2008, 14 pages. |
U.S. Appl. No. 60/843,832, filed Sep. 11, 2006, titled “Techniques and Systems for Browsing Media Content”, by inventors Thomas Dowdy, David Heller, and Anne Jones, 68 pages. |
U.S. Appl. No. 60/878,746, filed Jan. 5, 2007, titled “Electronic Device with Image Based Browsers”, by inventors Thomas Dowdy, David Heller, and Anne Jones, 98 pages. |
Enright, Andrew Coulter, “Dissatisfaction Sows Innovation”, The Treehouse+The Cave, http://thetreehouseandthecave.blogspot.com/2004/12/dissatisfaction-sows-innovation.html, Dec. 29, 2004, 6 pages. |
Enright, Andrew Coulter, “Dissatisfaction Sows Innovation”, The Treehouse+The Cave, http://thetreehouseandthecave.blogspot.com/2004/12/dissatisfaction-sows-innovation.html, Jun. 15, 2006, 18 pages. |
Hinze, Cody, “CoverFlow—A beautiful way to browse your MP3s”, Noise blog, http://noise.typepad.com/noise—blog/2006/02/cover—flow—the.html, Feb. 5, 2006, 2 pages. |
PCT International Search Report and Written Opinion for PCT International Application No. PCT/US2007/017424, mailed Feb. 4, 2008, 9 pages. |
Chandri, Imran, U.S. Appl. No. 60/937,986, filed Jun. 29, 2007, 72 pages. |
Office Action dated Apr. 5, 2012 for U.S. Appl. No. 12/189,673, titled “Browsing or Searching User Interfaces and Other Aspects”, filed Aug. 11, 2008, 33 pages. |
Office Action dated Oct. 26, 2011 for U.S. Appl. No. 12/189,673, titled “Browsing or Searching User Interfaces and Other Aspects”, filed Aug. 11, 2008,18 pages. |
Office Action dated Apr. 27, 2011 for U.S. Appl. No. 12/189,673, titled “Browsing or Searching User Interfaces and Other Aspects”, filed Aug. 11, 2008,15 pages. |
Office Action dated Nov. 19, 2010 for U.S. Appl. No. 12/189,673, titled “Browsing or Searching User Interfaces and Other Aspects”, filed Aug. 11, 2008, 21 pages. |
Number | Date | Country | |
---|---|---|---|
20090307626 A1 | Dec 2009 | US |
Number | Date | Country | |
---|---|---|---|
61059592 | Jun 2008 | US |