Rich drag drop user interface

Information

  • Patent Grant
  • 7650575
  • Patent Number
    7,650,575
  • Date Filed
    Wednesday, July 13, 2005
    19 years ago
  • Date Issued
    Tuesday, January 19, 2010
    14 years ago
Abstract
In an electronic file system, preview information is provided to the user during a drag operation of a selected object onto a target object. The information indicates what type(s) of action is to be taken should the selected object be dropped onto the target object. The action(s) to be taken may depend upon the type of the selected object and/or the type of the target object. For example, where the selected object is an item and the target object is a persisted auto-list, the action may include adding, removing, or modifying one or more properties of the selected object to conform to one or more criteria defined by the persisted auto-list. Also, numerical feedback may be provided to the user where multiple objects are selected. For example, where seven objects are selected, the textual number “7” may appear next to the cursor.
Description
BACKGROUND

Modern electronic file systems typically store files in a hierarchical tree structure. Each node of the tree is considered a folder that contains one or more files. Typically, in such electronic file systems the location of an item is limited by the organization defined the file system. For example, in many file systems each file is located in one (and only one) folder. This means that file lifetime and file organization are conflated. That is, a file can exist only while it has a location organized relative to other files or folders. In addition, a file cannot be placed in multiple organizations. This means that if a user wishes to view a file in multiple folders, for example, the user must make multiple copies of the file. This is both tedious and error-prone for the user, as well as wasteful of storage space.


In addition, when performing a drag/drop operation, it is not always clear to the user what action is going to be taken upon completion of the drag/drop operation. It can be even more confusing when multiple files for dragging/dropping have been selected together.


SUMMARY

There is a need for a more advanced electronic file system and user interface that more allows users to manipulate files and other objects in a more flexible way using a graphical user interface. With this flexibility comes an opportunity to provide richer information to the user as to what is happening while drag/drop operations are being performed.


Aspects of the present disclosure relate to various types of file system objects that may be implemented, including items, folders, lists, persisted auto-lists, and stacks. While folders, for example, contain actual objects, lists and persisted auto-lists contain references, or shortcuts, to objects, as opposed to the objects themselves. A persisted auto-list is automatically populated with references to objects having properties that conform to one or more criteria defined by the persisted auto-list.


Further aspects of the present disclosure are directed to providing preview information to the user during a drag operation of a selected object onto a target object in a graphical user interface. The preview information indicates what type(s) of action is to be taken if the selected object were to be dropped onto the target object, thereby providing the user with an opportunity to determine whether the particular drag/drop operation is desirable, before the drag/drop operation is completed. The particular action(s) to be taken may depend upon the type of the selected object and/or the type of the target object. For example, where the selected object is an item and the target object is a persisted auto-list, the action may include adding, removing, or modifying one or more properties of the selected object to conform to one or more criteria defined by the persisted auto-list.


Still further aspects of the present disclosure are directed to providing numerical feedback to the user when multiple objects are selected. For example, where seven objects are selected, the textual number “7” may appear next to the cursor. This may result in a much easier-to-understand user interface than in past interfaces where the multiple objects are scattered around the screen as they move. In conventional interfaces, it is sometimes difficult for a user to determine how many objects have been selected.


Still further aspects of the present invention are directed to performing various types of actions in response to different drag/drop combinations. The particular type of action performed may be determined by the type of the object being dropped and/or the type of the target object onto which the drop is to occur.


These and other aspects of the disclosure herein will be apparent upon consideration of the following detailed description of illustrative embodiments.





BRIEF DESCRIPTION OF THE DRAWINGS

The foregoing summary, as well as the following detailed description of illustrative embodiments, is better understood when read in conjunction with the accompanying drawings, which are included by way of example, and not by way of limitation with regard to the claimed invention.



FIG. 1 is a functional block diagram of an illustrative computing environment.



FIG. 2 is a table showing illustrative actions that may be taken in response to particular drag/drop operations.



FIGS. 3-10 show illustrative preview feedback instances that may be presented in response to various drag/drop operations.



FIGS. 11-13 show illustrative screenshots where a drag/drop operation causes a preview feedback instance to be presented either near the cursor or in another location on the screen.



FIG. 14 shows illustrative preview feedback instances that may be presented in response to dragging an item over various types of target objects.



FIGS. 15-18 show illustrative preview feedback instances that each include explanatory text.



FIGS. 19-23 show an illustrative response to dragging an object over a target object having child objects below it in a hierarchy.





DETAILED DESCRIPTION OF ILLUSTRATIVE EMBODIMENTS

Illustrative Computing Environment



FIG. 1 illustrates an example of a suitable computing environment 100 in which handwriting recognition functions and/or neural network creation, modification, and/or training may be implemented. Computing environment 100 is only one example of a suitable computing environment and is not intended to suggest any limitation as to the scope of use or functionality of the invention. Neither should computing environment 100 be interpreted as having any dependency or requirement relating to any one or combination of components illustrated in illustrative computing environment 100.


Other general purpose or special purpose computing system environments or configurations may be used. Examples of well known computing systems, environments, and/or configurations include, but are not limited to, personal computers (PCs); server computers; hand-held and other portable devices such as personal digital assistants (PDAs), tablet-style PCs or laptop PCs; multiprocessor systems; microprocessor-based systems; set top boxes; programmable consumer electronics; network PCs; minicomputers; mainframe computers; distributed computing environments that include any of the above systems or devices; and the like.


The disclosure herein is at times described in the general context of computer-executable instructions, such as program modules, being executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. Distributed computing environments may further be used where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote computer storage media including memory storage devices.


With reference to FIG. 1, illustrative computing environment 100 includes a general purpose computing device in the form of a computer 100. Components of computer 100 may include, but are not limited to, a processing unit 120, a system memory 130, and a system bus 121 that couples various system components including system memory 130 to processing unit 120. System bus 121 may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures. By way of example, and not limitation, such architectures include Industry Standard Architecture (ISA) bus, Micro Channel Architecture (MCA) bus, Enhanced ISA (EISA) bus, Video Electronics Standards Association (VESA) local bus, Advanced Graphics Port (AGP) bus, and Peripheral Component Interconnect (PCI) bus, also known as Mezzanine bus.


Computer 100 typically includes a variety of computer-readable media. Computer readable media can be any available media that can be accessed by computer 100 such as volatile, nonvolatile, removable, and non-removable media. By way of example, and not limitation, computer-readable media may include computer storage media and communication media. Computer storage media may include volatile, nonvolatile, removable, and non-removable media implemented in any method or technology for storage of information such as computer-readable instructions, data structures, program modules or other data. Computer storage media includes, but is not limited to, random-access memory (RAM), read-only memory (ROM), electrically-erasable programmable ROM (EEPROM), flash memory or other memory technology, compact-disc ROM (CD-ROM), digital video disc (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to store the desired information and which can accessed by computer 100. Communication media typically embodies computer-readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media. The term “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, radio frequency (RF) (e.g., BLUETOOTH, WiFi, UWB), optical (e.g., infrared) and other wireless media.


System memory 130 includes computer storage media in the form of volatile and/or nonvolatile memory such as ROM 131 and RAM 132. A basic input/output system (BIOS) 133, containing the basic routines that help to transfer information between elements within computer 100, such as during start-up, is typically stored in ROM 131. RAM 132 typically contains data and/or program modules that are immediately accessible to and/or presently being operated on by processing unit 120. By way of example, and not limitation, FIG. 1 illustrates software in the form of computer-executable instructions, including operating system 134, application programs 135, other program modules 136, and program data 137.


Computer 100 may also include other computer storage media. By way of example only, FIG. 1 illustrates a hard disk drive 141 that reads from or writes to non-removable, nonvolatile magnetic media, a magnetic disk drive 151 that reads from or writes to a removable, nonvolatile magnetic disk 152, and an optical disk drive 155 that reads from or writes to a removable, nonvolatile optical disk 156 such as a CD-ROM, DVD, or other optical media. Other computer storage media that can be used in the illustrative operating environment include, but are not limited to, magnetic tape cassettes, flash memory cards, digital video tape, solid state RAM, solid state ROM, and the like. Hard disk drive 141 is typically connected to system bus 121 through a non-removable memory interface such as an interface 140, and magnetic disk drive 151 and optical disk drive 155 are typically connected to system bus 121 by a removable memory interface, such as an interface 150.


The drives and their associated computer storage media discussed above and illustrated in FIG. 1 provide storage of computer-readable instructions, data structures, program modules and other data for computer 100. In FIG. 1, for example, hard disk drive 141 is illustrated as storing an operating system 144, application programs 145, other program modules 146, and program data 147. Note that these components can either be the same as or different from operating system 134, application programs 135, other program modules 136, and program data 137, respectively. Operating system 144, application programs 145, other program modules 146, and program data 147 are assigned different reference numbers in FIG. 1 to illustrate that they may be different copies. A user may enter commands and information into computer 100 through input devices such as a keyboard 162, a touch pad 165 (such as a digitizer) and stylus 166, and a pointing device 161 (commonly referred to as a mouse, trackball or touch pad). Touch pad 165 may be a separate physical device or may be integrated with a display device such as a monitor 191. Other input devices (not shown) may include a microphone, joystick, game pad, satellite dish, scanner, or the like. These and other input devices are often coupled to processing unit 120 through a user input interface 160 that is coupled to system bus 121, but may be connected by other interface and bus structures, such as a parallel port, game port, universal serial bus (USB), or IEEE 1394 serial bus (FIREWIRE). Monitor 191 or other type of display device is also coupled to system bus 121 via an interface, such as a video interface 190. Video interface 190 may have advanced 2D or 3D graphics capabilities in addition to its own specialized processor and memory. Computer 100 may also include other peripheral output devices such as speakers 197 and a printer 196, which may be connected through an output peripheral interface 195.


Computer 100 may operate in a networked environment using logical connections to one or more remote computers, such as a remote computer 180. Remote computer 180 may be a personal computer, a server, a router, a network PC, a peer device or other common network node, and typically includes many or all of the elements described above relative to computer 100, although only a memory storage device 181 has been illustrated in FIG. 1. The logical connections depicted in FIG. 1 include a local area network (LAN) 171 and a wide area network (WAN) 173, but may also or alternatively include other networks, such as the Internet. Such networking environments are commonplace in homes, offices, enterprise-wide computer networks, intranets and the Internet.


When used in a LAN networking environment, computer 100 is coupled to LAN 171 through a network interface or adapter 170. When used in a WAN networking environment, computer 100 may include a modem 172 or another device for establishing communications over WAN 173, such as the Internet. Modem 172, which may be internal or external, may be connected to system bus 121 via user input interface 160 or another appropriate mechanism. In a networked environment, program modules depicted relative to computer 100, or portions thereof, may be stored remotely such as in remote storage device 181. By way of example, and not limitation, FIG. 1 illustrates remote application programs 182 as residing on memory device 181. It will be appreciated that the network connections shown are illustrative, and other means of establishing a communications link between the computers may be used.


File System Organization


An electronic file system may be implemented by computer 100 to manage files and other objects stored in the various electronic media to which computer 100 has access. The file system may be part of the other program modules 136 and/or part of operating system 134. The file system may be a traditional file system or a more advanced filing system that may be database-driven. In many traditional file systems, such as those based on a file allocation table (FAT) file system, traditional directory access to files assumes that users wish to maintain their files in a hierarchical directory tree. Files locations and the directory structure are dependent on one another; a user cannot move a file to another location without changing the directory structure.


On the other hand, a more advanced file system may be used that uses shortcut references, thus allowing files and other objects to appear in one or more location while actually being in another, different location. Such a file system may define various types of objects that provide a much more flexible way of managing files and other objects.


For example, one type of object is a list. For purposes of the present disclosure and claims, a list is an object that references a set of other objects in a particular order. The term “set” of objects as used in the present disclosure and claims is intended to include both a set of a plurality of objects and a set having only a single object. The objects referenced by the list may, for example, be an arbitrary set of objects each added to the list manually by the user. However, the objects referenced by a list are not actually stored in the list as they are in a conventional folder. Thus, more than one list may simultaneously reference the same object.


Another type of object that may be supported by the file system is a persisted auto-list. A persisted auto-list is similar to a list except that the set of objects referenced by a persisted auto-list are determined by a query. The query may define one or more criteria. Thus, for purposes of the present disclosure and claims, a persisted auto-list is defined as a list containing a set of objects that meet one or more criteria associated with the persisted auto-list. The content of a persisted auto-list is dynamic; the set of objects listed in a persisted auto-list may change in accordance a change in properties of various objects. For example, a persisted auto-list configured to contain references to all documents created by author John Doe (the query criteria in this case being type=documents and author=“John Doe”) may automatically update when John Doe creates a new file or deletes one of his files. The criteria associated with a persisted auto-list may include any criteria, such as object type, author, title, content, creation date, edit date, location in the file system (also referred to herein as “scope”), custom intrinsic properties, etc. Also, as discussed below, lists allow for extrinsic properties to be defined for objects referenced by those lists and persisted auto-lists.


Each object managed by the file system may include or otherwise be associated with one or more properties. These properties may be broadly categorized into two groups: extrinsic properties and intrinsic properties. The one or more criteria associated with a persisted auto-list form a query on the intrinsic properties of objects.


An extrinsic property is a property of an object that is stored separately from the object. In the context of a list, for example, the user may add a “List Notes” column that places comments only within the context of the list and not on the objects themselves that are referenced by the list. This may allow the user to make comments on objects that the user does not have the right to modify, for instance. Extrinsic properties would not travel with those objects outside of the context of that list. Thus, another list that references one or more of those same objects would not include the “List Notes” property of any of those items, unless of course the user added that property to the items in the context of the other list. Extrinsic properties may be manually added by the user or automatically added by the file system, operating system, and/or other program module.


An intrinsic property is a property that is stored with the item. For example, the title of a file may be considered to be an intrinsic property of the file where the title travels with the file. If the file were added to a particular folder or list, for instance, the file would still have its title. The content of an object is also an intrinsic property of the object. Also, the location of the object within the file system is another intrinsic property of the object.


Still another type of object that may be supported by the file system is a conventional folder. A folder is defined for purposes of the present disclosure and claims as an object that contains a set of other objects. A related type of object is a stack, which is a virtual container in a view representing the set of items that meet a given requirement. For instance, the user may stack a persisted auto-list or query results by “author” and then view all results by who wrote them. A stack would be presented for each author, where each stack may be of a different height based on the number of objects written by each author.


Still another type of object that may be supported by the file system is an item. An item may be, for example, a file, an email, a contact, or an appointment.


Objects referenced by lists and persisted auto-lists, as well as objects contained in folders and stacks, may be any types of objects in any combination. For example, a list, persisted auto-list, folder, or stack may each contain one or more files, emails, lists, persisted auto-lists, folder, stacks, and/or any other types of objects.


The file system may be organized into one or more volumes. A volume is defined for purposes of the present disclosure and claims as a physical storage medium or predetermined portion thereof represented by the file system as an individual storage resource.


Dragging/Dropping Objects


The operating system and/or file system may have a graphical user interface that presents an icon or other visual element that represents each object managed by the file system. The graphical user interface may further allow the user to drag and drop visual elements representing objects onto other visual elements representing other objects in a conventional manner. The terms “drag/drop” or “drag and drop” of a first object over or onto a second object, and variations thereof, will be used herein as shorthand language for the conventional dragging and dropping of a visual element representing the first object onto a visual element representing the second object. Many systems, such as Microsoft's WINDOWS line of operating systems, traditionally provide drag/drop functionality. Dragging and dropping can have different meanings in different contexts. For example, dragging a file onto a folder typically causes the file to be moved to into the folder. In other words, the location of the actual file object itself in the file system is changed. Also, dragging a document onto a printer object causes typically causes the document to be printed on the printer associated with the printer object. It should be noted that many such operating systems and file systems also provide for cut/copy/paste functionality. These are considered alternate user operations that obtain the same result. For example, dragging and dropping a file into a list may alternatively be accomplished by copying the file and pasting the file into the list.


However, drag/drop meanings need to be established between various combinations of objects and for contexts that have not previously been supported in traditional systems. For example, what does it mean to drop an item into an existing persisted auto-list? Examples of such drag/drop meanings are discussed herein, with reference to FIG. 2. FIG. 2 shows which action(s) is/are to be performed in response to a drag/drop input made by the user. Each row in FIG. 2 corresponds to a different type of object that is to be dropped (the “selected object”), and each column corresponds to a different type of object (the “target object”) onto which the selected object is to be dropped.


Thus, FIG. 2 deals with six different possible types of selected objects: a single item, a group of multiple items, a folder, a list, a persisted auto-list, and a stack. FIG. 2 also deals with six different possible types of target objects: a folder within the same volume as the selected object, a folder in a different volume from the selected object, a list within the same volume as the selected object, a list in a different volume from the selected object, an auto-list defining a scope (i.e., location in the file system) that includes the selected object, and an auto-list defining a scope that does not include the selected object.



FIG. 2 will now be discussed on a column-by-column basis. Referring to the “Folder (same volume) column of FIG. 2, where the target object is a folder in the same volume as the selected object, then the action taken is to move the selected object to be within the target object, regardless of the type of selected object. This makes sense as it is most likely the user's intention when the selected object and the target object are within the same volume.


Similarly, referring to the “Folder (different volume)” column, where the target object is a folder in a different volume from the selected object, then the action taken is to copy the selected object and place the copy within the target object, regardless of the type of selected object. Again, it is most likely the user's intention in this case that a copy of the selected object be placed in the target object, and not the original selected object itself, where the target object is in a different volume. There is an exception where the selected object is a stack, however. In this case, dragging/dropping a selected stack to a target folder results in a persisted autolist being created that represents the selected stack in the target folder.


Referring to the “List (same volume)” and “List (different volume)” columns of FIG. 2, where the target object is a list, a drag/drop operation would cause a reference, or shortcut, to the selected object is placed in the list. This is true regardless of whether the target list is within the same volume as the selected object. There is an exception where the selected object is a stack, however. In this case, dragging a selected stack to a target list from a persisted auto-list results in a shortcut to the definition of the persisted autolist being created, which is embedded within the target list (not persisted as a separate file). Again, these are most likely the user's intentions when the user performs such drag/drop operation.


Referring to the “Auto-List (same scope)” column of FIG. 2, dragging any selected item(s) onto a persisted auto-list defining a scope that includes the selected object causes one or more properties of the selected object to be modified, removed, or added so that the selected object falls within the criterion or criteria defined by the target persisted auto-list. For example, assume that the target persisted auto-list defines criteria that objects referenced by the persisted auto-list must be (type=document) and (author=“John Doe”), with a scope of folder c:\work\clientxyz. In this case, the persisted auto-list would automatically list all objects within its scope that meet those criteria. Assume, for example, that a document is within the defined scope but either has no author assigned or has a different author property assigned to it. The operation of dragging and dropping the document onto the target persisted auto-list would cause properties of the document to be set, if possible, so as to meet the criteria required by the persisted auto-list. In this example, the author property of the document would be changed to “John Doe” so that the document may properly be listed by the persisted auto-list.


It,is possible in certain situations that computer 100 determines that it is not possible to change the properties so as to meet all the criteria. For instance, if the object being dropped onto that same target persisted auto-list were not a document, then it would not make sense to change the type property of that object to be a document (since it is not in fact a document). In that case, the drag/drop operation may be disallowed.


Where the selected object to be dragged/dropped onto the target persisted auto-list in the same scope as the selected object is a folder, then the properties that are changed to meet the persisted auto-list criteria causes the items in the folder (but not the folder itself) to be referenced by the persisted auto-list. Likewise, the properties of the items in the selected folder are changed where possible to meet the criteria of the target persisted auto-list.


Where the selected object is a persisted auto-list, then dragging/dropping it onto another target persisted auto-list will set properties on the persisted auto-list results. In other words, properties of all of the items that conformed to the selected auto-list are changed, removed, or added such that they also conform to the target auto-list.


Where the selected object is a stack, then dragging/dropping it onto a target persisted auto-list will set the properties, where possible, of the contents of the stack to meet the criteria of the target persisted auto-list.


Referring to the “Auto-List (different scope)” column of FIG. 2, this column refers to the same situations as the previous column, except that now the selected object is outside the scope of the target persisted auto-list. In these cases, the selected object (or the objects referenced by the selected object, such as the objects listed in a selected list) is first copied, and the copy is placed within the scope of the target persisted auto-list. Then, the same actions referred to in the “Auto-List (same scope)” column are performed, except that the actions are performed on the copy instead of the original selected object.


Drag/Drop Modifiers


The actions resulting from the various drag/drop operations discussed in the examples above with regard to FIG. 2 are default actions. The default actions attempt to predict what the user's intentions are in performing each drag/drop operation. However, the user may manually override the actions to be taken by providing additional input along with a drag/drop operation. For example, the user may press a key on keyboard 162 while the drag/drop operation is being performed. For example, pressing the Shift key may cause any copy actions to be move actions, and pressing the Ctrl key may cause any move actions to instead be copy actions.


As further examples, when dragging to a list, pressing the Shift key while dragging may force the selected object to be moved to the target list's thicket folder, which is the location where the target list places objects when it collects objects. Or, when dragging to a list while pressing the Ctrl key, this may force the selected object to be copied to the list's thicket folder. When dragging to a persisted auto-list, then pressing the Shift key while dragging may force the selected object to be moved to the target persisted auto-list's default folder, which is the location where objects are placed when they are copied into the target auto-list's scope. Or, when dragging to a persisted auto-list while pressing the Ctrl key, this may force the selected object to be copied to the target persisted auto-list's default folder.


Drag/Drop Preview


Because there are now a wide variety of possible actions that may be taken in response to a drag/drop operation, it may be easy for the user to become confused as to what a particular drag/drop operation may mean. This may be true even though the system may be configured to take the most likely intended actions. Accordingly, it may be desirable to present feedback to the user a preview of some or all of the actions that are about to happen as a result of a given drag/drop operation, and/or a current status of the drag/drop operation. Based on this feedback, the user may then decide whether to complete, abort, or modify the drag/drop operation as desired.


This preview feedback may be presented in any form desired. For instance, the feedback may be in the form of iconic, graphical, textual, and/or any other type of feedback, and may be presented in any fixed or non-fixed portion of the display. The feedback may be visual and/or audible. Moreover, the feedback may move with the cursor and/or may be presented proximate to the cursor.


Examples of such preview feedback are shown in FIGS. 3-10. The shown feedback instances are merely illustrative. FIG. 3 shows an example of visual feedback that may occur during a pending drag/drop operation when the operation cannot be completed. This may occur, for example, responsive to the user having dragged an item over a persisted auto-list where the properties of the item cannot be modified to meet the criteria of the persisted auto-list.



FIG. 4 shows an example of visual feedback that may occur during a pending drag/drop operation, indicating that the selected object will be copied in response to completion of the drag/drop operation. This may occur, for example, responsive to the user having dragged an item to a folder in a different volume.



FIG. 5 shows an example of visual feedback that may occur during a pending drag/drop operation, indicating that multiple items have been selected. In this example, fourteen items have been selected. The number may dynamically change to indicate the actual number of items selected as each new item is added to the selection. In many conventional graphical user interface file systems, the selection of multiple files is indicated by the various icons of the files moving from their original displayed positions to new relative positions in accordance with the cursor. It can be difficult in that situation for the user to understand what is going on and how many files have been selected once their icons begin moving. In FIG. 5, however, the status of how many multiple selected items is easily viewed by the user. The icon to the left of the number in FIG. 5 may be a thumbnail of one of the selected items, such as the first item selected or the most recent item selected. Other information may also be provided such as the number of bytes selected.



FIG. 6 shows an example of visual feedback that may occur during a pending drag/drop operation, indicating that the selected object will be added to a target list or target persisted auto-list in response to completion of the drag/drop operation.



FIG. 7 shows an example of visual feedback that may occur during a pending drag/drop operation, indicating that a property of the selected object is to be added, removed, or modified, in response to completion of the drag/drop operation.



FIG. 8 shows an example of visual feedback that may occur during a pending drag/drop operation, indicating that a persisted auto-list is to be created in response to completion of the drag/drop operation. A persisted auto-list may be created in response to a drag/drop operation when, for example, a user drags a particular stack from an existing set of query results and drops the stack somewhere. In this case, a new persisted auto-list may be automatically created, in response to the drag/drop operation, that persists out the definition of that query.



FIG. 9 shows an example of visual feedback that may occur during a pending drag/drop operation, indicating that the selected object is to be moved in response to completion of the drag/drop operation.


Where more than once action is to be taken, the various feedback instances, such as the icons in FIGS. 4-9, may be combined. For instance, FIG. 10 shows an example of visual feedback that may occur during a pending drag/drop operation, indicating that certain multiple actions are to be taken in response to completion of the drag/drop operation. In this example, responsive to completion of the pending drag/drop operation, three actions will be taken: the selected object will be copied, at least one of its properties will be added, removed, or modified, and a new persisted auto-list will be created. Although in this example the various icons are shown horizontally arranged, they may be arranged vertically or in any other manner.


With the exception of the feedback shown in FIG. 5, each of these feedback instances may be presented to the user responsive to the selected object being moved proximate to (e.g., within a threshold distance of; or overlaying) the target. For instance, referring to FIG. 11, a screen 1100 is shown in which a user is about to drag a selected object 1101 over to a target object 1102 using cursor 1103. Referring to FIG. 12, selected object 1101 has now been dragged and is now proximate to (and indeed, in this case, overlaying) target object 1102. In response, feedback 1201 is presented proximate to cursor 1103. Alternatively, or additionally, with reference to FIG. 13, feedback 1301 may be presented in a location on screen 1100 unrelated to the position of cursor 1103, such as in a pre-existing status bar or in a pop-up window.


As already mentioned, the particular feedback provided to the user depends upon which action(s) are to be taken upon completion of the drag/drop operation. An example of feedback that may be provided is shown in FIG. 14, with reference to the “Item” row of the table in FIG. 2. Where an item 1401 is dragged over a folder 1402 in the same volume, feedback as in FIG. 9 is provided, indicating that item 1401 would be moved into folder 1402 upon dropping item 1401 there. Where item 1401 is dragged over a folder 1403 in a different volume, feedback as in FIG. 4 is provided, indicating that item 1401 would be copied into folder 1403 upon dropping item 1401 there. Where item 1401 is dragged over a list 1404 in the same volume, feedback as in FIG. 6 is provided, indicating that a reference to item 1401 would be added to list 1404 upon dropping item 1401 there. The same is indicated where item 1401 is dragged over a list 1405 in a different volume. Where item 1401 is dragged over a persisted auto-list 1405, and where item 1401 is within the scope of persisted auto-list 1405, feedback as in FIG. 7 is provided. Such feedback indicates that one or more properties of item 1401 will be modified such that item 1401 will be listed in persisted auto-list 1405, upon dropping item 1401 there. Where item 1401 is dragged over a persisted auto-list 1406, and where item 1401 is outside the scope of persisted auto-list 1405, feedback as in FIGS. 4 and 7 is provided. Such feedback indicates that item 1401 will be copied to a location within the scope, and that one or more properties of the copy of item 1401 will be modified such that the copy of item 1401 will be listed in persisted auto-list 1405, upon dropping item 1401 there.


Referring to FIGS. 15-18, the preview feedback may additionally or alternatively include a textual explanation that more fully explains details of each action to be taken. For example, the feedback instance in FIG. 15 indicates to the user that properties of the selected item will be changed, and in particular the labels “Projects” and “Work” will be added as intrinsic properties to the item. The feedback instance in FIG. 16 indicates to the user that the selected item will be copied and its properties will be modified, and in particular that the selected item will be copied to the location Desktop and the labels “Urgent” and “Personal” will be added as intrinsic properties to the selected item.


The feedback instance in FIG. 17 also provides detailed information to the user. In this case, the selected item will be copied to the location Client Work Folder, and various indicated labels will be added as properties to the item. It should be noted that, where the descriptive text becomes too long, as in FIG. 17, the text may fade away as shown. The feedback instance in FIG. 18 indicates not only that the drag/drop operation will not work, but also why it will not work. In this example, the operation will not work because a non-document is being dragged over a persisted auto-list defining a criteria that allows only documents to be referenced.


Dragging/Dropping Into Child Objects in a Hierarchy


Thus far it has been assumed that the target object has been displayed on the screen during dragging. However, all of the discussion herein may also apply to dragging to target objects that are children of such objects and that are not displayed on the screen at the beginning of a drag. For example, a main object, such as a folder, list, or persisted auto-list, may contain child objects. The user may desire to drop a selected object into one of the child objects even if only the main object is presently being displayed. This may be done as illustratively described with reference to FIGS. 19-23.


In FIG. 19, the user may select an object 1901 for dragging. Assume that the user decides to drop object 1901 onto a child object of folder 1902. Thus, referring to FIG. 20, the user drags object 1901 over folder 1902. In response, computer 100 displays a window 2001 listing the child objects contained within folder 1902. Referring to FIG. 21, the user may then drag object 1901 down over window 2001 to select a particular child object listed therein as desired. As object 1901 is dragged over each child object, appropriate preview feedback may be provided to the user. For example, as object 1901 is dragged over the first child object listed (“Persisted AutoList A”), a preview feedback 2101 indicating that, should object 1901 be dropped there, the properties of object 1901 would be modified to add “Work” to its Keyword property and “Client XYZ” to its Client property. This is likely because Persisted AutoList A defines criteria that require these properties of any object that is referenced by it.


As the user continues to drag object 1901 down over window 2001, object 1901 may eventually be positioned over List E, as shown in FIG. 22. In this case, preview feedback 2201 is presented that indicates that object 1901 would be referenced by List E upon dropping object 1901 over it. The user may choose to do so. The user may alternatively choose not to drop object 1901 on any of the child objects shown in window 2001, and instead either abort the drag/drop or drag onto a completely different folder. In this case, user may drag object 1901 away from folder 1902 and window 2001, as shown in FIG. 23. As shown, in response to dragging object 1901 away from folder 1902 and/or window 2001, window 2001 automatically disappears. This may provide for a convenient way for the user to drop objects onto other objects located deep in a hierarchy without having to manually open and close container objects such as folder, lists, and persisted auto-lists.


CONCLUSION

Thus, an improved way of managing objects in an electronic file system has been described. In accordance with various aspects of the present disclosure, the drag/drop operation has become a powerful tool for dealing with the concepts of lists, persisted auto-lists, and stacks, for example. In addition, to deal with this increasing power and the complexity that goes with it, the user is now able to preview which of a number of different possible actions will be taken in response to a completed drag/drop operation.

Claims
  • 1. A computer-readable storage medium storing computer-executable instructions for performing steps comprising: responsive to detecting a first request to associate a first object with a folder in a graphical user interface, presenting to a user one of feedback that the first object will be moved into the folder or feedback that the first object will be copied into the folder as a result of the first request to associate the first object with the folder and either moving the first object into the folder or copying the first object into the folder;responsive to detecting a second request to associate a second object with a list in the graphical user interface, presenting feedback to a user that a shortcut will be added to the second object in the list as a result of the second request to associate the second object with the list and adding a shortcut to the second object in the list; andresponsive to detecting a third request to associate a third object with a persisted auto-list in the graphical user interface, presenting feedback to a user that a property will be added, removed, or modified as a result of the third request to associate the third object with the persisted auto-list and conforming one of an intrinsic property associated with the third object or an intrinsic property of a copy of the third object in a manner that depends on a criterion defined by the persisted auto-list, wherein the persisted auto-list is a dynamic list containing a set of objects that meet one or more criteria associated with the list and wherein the set of objects in the persisted auto-list automatically changes in accordance with a change in properties of various objects and wherein the intrinsic property is a property that is stored with the item.
  • 2. The computer-executable instructions of claim 1, wherein the third object is outside a scope of the persisted auto-list, wherein the step of conforming further includes copying the third object to generate the copy of the third object, and wherein the copy of the third object is located within the scope of the persisted auto-list.
  • 3. The computer-executable instructions of claim 1, wherein the first, second, and third objects are each an item.
  • 4. The computer-executable instructions of claim 1, wherein the first, second, and third objects are each a folder containing an item, and wherein the property is an intrinsic property of the item.
  • 5. The computer-executable instructions of claim 1, wherein the first, second, and third objects are each a list referencing an item, and wherein the property is an intrinsic property of the item.
  • 6. The computer-executable instructions of claim 1, wherein the first request is a drop operation of the first object onto the folder, the second request is a drop operation of the second object onto the list, and the third request is a drop operation of the third object onto the persisted auto-list.
  • 7. The computer-executable instructions of claim 1, wherein the first request is a paste operation of the first object to the folder, the second request is a paste operation of the second object to the list, and the third request is a paste operation of the third object to the persisted auto-list.
  • 8. The computer-executable instructions of claim 1, wherein the computer-executable instructions are further for: responsive to a drag operation of the first object over the folder, generating a first icon for display;responsive to a drag operation of the second object over the list, generating a second icon for display, wherein the second icon is different from the first icon; andresponsive to a drag operation of the third object over the persisted auto-list, generating a third icon for display, wherein the third icon is different from the first and second icons.
  • 9. A computing device comprising: one or more processing units; anda computer-readable storage medium coupled to the one or more processing units, the computer-readable storage medium storing computer- executable instructions that when executed by the one or more processing units perform operations comprising: (1) responsive to detecting a first request to associate a first object with a folder in a graphical user interface, presenting to a user one of feedback that the first object will be moved into the folder or feedback that the first object will be copied into the folder as a result of the first request to associate the first object with the folder and either moving the first object into the folder or copying the first object into the folder;(2) responsive to detecting a second request to associate a second object with a list in the graphical user interface, presenting feedback to a user that a shortcut will be added to the second object in the list as a result of the second request to associate the second object with the list and adding a shortcut to the second object in the list; and(3) responsive to detecting a third request to associate a third object with a persisted auto-list in the graphical user interface, presenting feedback to a user that a property will be added, removed, or modified as a result of the third request to associate the third object with the persisted auto-list and conforming one of an intrinsic property associated with the third object or an intrinsic property of a copy of the third object in a manner that depends on a criterion defined by the persisted auto-list, wherein the persisted auto-list is a dynamic list containing a set of objects that meet one or more criteria associated with the list and wherein the set of objects in the persisted auto-list automatically changes in accordance with a change in properties of various objects and wherein the intrinsic property is a property that is stored with the item.
  • 10. The computing device of claim 9, wherein the third object is outside a scope of the persisted auto-list, wherein the step of conforming further includes copying the third object to generate the copy of the third object, and wherein the copy of the third object is located within the scope of the persisted auto-list.
  • 11. The computing device of claim 9, wherein the first, second, and third objects are each an item.
  • 12. The computing device of claim 9, wherein the first, second, and third objects are each a folder containing an item, andwherein the property is an intrinsic property of the item.
  • 13. The computing device of claim 9, wherein the first, second, and third objects are each a list referencing an item, andwherein the property is an intrinsic property of the item. Image Page 17
  • 14. The computing device of claim 9, wherein the first request is a drop operation of the first object onto the folder, the second request is a drop operation of the second object onto the list, and the third request is a drop operation of the third object onto the persisted auto-list.
  • 15. The computing device of claim 9, wherein the first request is a paste operation of the first object to the folder, the second request is a paste operation of the second object to the list, and the third request is a paste operation of the third object to the persisted auto-list.
  • 16. The computing device of claim 9, wherein the computer- executable instructions are further for: responsive to a drag operation of the first object over the folder, generating a first icon for display;responsive to a drag operation of the second object over the list, generating a second icon for display, wherein the second icon is different from the first icon; andresponsive to a drag operation of the third object over the persisted auto- list, generating a third icon for display, wherein the third icon is different from the first and second icons.
Parent Case Info

This application claims priority to, and is a continuation-in-part of, U.S. patent application Ser. No. 10/440,035, filed May 16, 2003, entitled “System and Method for Filtering and Organizing Items Based on Common Elements,” which is a continuation-in-part of U.S. patent application Ser. No. 10/403,341, filed Mar. 27, 2003, and of the same title, and to which priority is also claimed herein; both of which are incorporated by reference herein as to their entireties.

US Referenced Citations (469)
Number Name Date Kind
4881179 Vincent Nov 1989 A
5060135 Levine et al. Oct 1991 A
5241671 Reed et al. Aug 1993 A
5297250 Leroy et al. Mar 1994 A
5327529 Fults et al. Jul 1994 A
5333266 Boaz et al. Jul 1994 A
5333315 Saether et al. Jul 1994 A
5388196 Pajak et al. Feb 1995 A
5420605 Vouri et al. May 1995 A
5461710 Bloomfield et al. Oct 1995 A
5499364 Klein et al. Mar 1996 A
5504852 Thompson-Rohrlich Apr 1996 A
5513306 Mills et al. Apr 1996 A
5544360 Lewak et al. Aug 1996 A
5546527 Fitzpatrick et al. Aug 1996 A
5550852 Patel et al. Aug 1996 A
5559948 Bloomfield et al. Sep 1996 A
5583982 Matheny et al. Dec 1996 A
5590259 Anderson et al. Dec 1996 A
5596702 Stucka et al. Jan 1997 A
5598524 Johnston, Jr. et al. Jan 1997 A
5600778 Swanson et al. Feb 1997 A
5606669 Bertin et al. Feb 1997 A
5625783 Ezekiel et al. Apr 1997 A
5630042 McIntosh et al. May 1997 A
5648795 Vouri Jul 1997 A
5652876 Ashe et al. Jul 1997 A
5675520 Pitt, III et al. Oct 1997 A
5680563 Edelman Oct 1997 A
5696486 Poliquin et al. Dec 1997 A
5696914 Nahaboo et al. Dec 1997 A
5710926 Maurer Jan 1998 A
5757925 Faybishenko May 1998 A
5760770 Bliss et al. Jun 1998 A
5790121 Sklar et al. Aug 1998 A
5802516 Shwarts et al. Sep 1998 A
5831606 Nakajima et al. Nov 1998 A
5835094 Ermel et al. Nov 1998 A
5838317 Bolnick et al. Nov 1998 A
5838322 Nakajima et al. Nov 1998 A
5855446 Disborg Jan 1999 A
5867163 Kurtenbach Feb 1999 A
5870088 Washington et al. Feb 1999 A
5875446 Brown et al. Feb 1999 A
5875448 Boys Feb 1999 A
5878410 Zbikowski et al. Mar 1999 A
5886694 Breinberg et al. Mar 1999 A
5899995 Millier et al. May 1999 A
5905973 Yonezawa et al. May 1999 A
5907703 Kronenberg et al. May 1999 A
5907837 Ferrel et al. May 1999 A
5909540 Carter et al. Jun 1999 A
5923328 Griesmer Jul 1999 A
5929854 Ross Jul 1999 A
5930801 Falkenhainer et al. Jul 1999 A
5933139 Feigner et al. Aug 1999 A
5935210 Stark Aug 1999 A
5973686 Shimogori et al. Oct 1999 A
5987454 Hobbs Nov 1999 A
5987506 Carter et al. Nov 1999 A
6003040 Mital et al. Dec 1999 A
6008806 Nakajima et al. Dec 1999 A
6014137 Burns Jan 2000 A
6016692 Schaenzer et al. Jan 2000 A
6021262 Cote et al. Feb 2000 A
6023708 Mendez et al. Feb 2000 A
6024843 Anderson et al. Feb 2000 A
6025843 Sklar Feb 2000 A
6037944 Hugh Mar 2000 A
6055540 Snow et al. Apr 2000 A
6055543 Christensen Apr 2000 A
6061059 Taylor et al. May 2000 A
6061692 Thomas et al. May 2000 A
6061695 Slivka et al. May 2000 A
6065012 Balsara et al. May 2000 A
6078924 Ainsbury et al. Jun 2000 A
6097389 Morris et al. Aug 2000 A
6101509 Hanson et al. Aug 2000 A
6144968 Zellweger Nov 2000 A
6147601 Sandelman et al. Nov 2000 A
6160552 Wilsher et al. Dec 2000 A
6175364 Wong et al. Jan 2001 B1
6181342 Niblack Jan 2001 B1
6202061 Khosla et al. Mar 2001 B1
6216122 Elson Apr 2001 B1
6237004 Dodson et al. May 2001 B1
6237011 Ferguson et al. May 2001 B1
6240407 Chang et al. May 2001 B1
6240421 Stolarz May 2001 B1
6243094 Sklar Jun 2001 B1
6243724 Mander et al. Jun 2001 B1
6246411 Strauss Jun 2001 B1
6256031 Meijer et al. Jul 2001 B1
6268852 Lindhorst et al. Jul 2001 B1
6275829 Angiulo et al. Aug 2001 B1
6279016 De Vorchik et al. Aug 2001 B1
6301586 Yang et al. Oct 2001 B1
6308173 Glasser et al. Oct 2001 B1
6317142 Decoste et al. Nov 2001 B1
6324541 De L'etraz Nov 2001 B1
6324551 Lamping et al. Nov 2001 B1
6326953 Wana Dec 2001 B1
6330007 Isreal et al. Dec 2001 B1
6339767 Rivette et al. Jan 2002 B1
6341280 Glass et al. Jan 2002 B1
6342907 Petty et al. Jan 2002 B1
6356863 Sayle Mar 2002 B1
6356915 Chtchetkine et al. Mar 2002 B1
6363377 Kravets et al. Mar 2002 B1
6363400 Chtchetkine et al. Mar 2002 B1
6369840 Barnett et al. Apr 2002 B1
6377283 Thomas et al. Apr 2002 B1
6401097 McCotter et al. Jun 2002 B1
6405265 Kronenberg et al. Jun 2002 B1
6408298 Van et al. Jun 2002 B1
6411311 Rich et al. Jun 2002 B1
6425120 Morganelli et al. Jul 2002 B1
6425121 Phillips et al. Jul 2002 B1
6430575 Dourish et al. Aug 2002 B1
6437807 Berquist et al. Aug 2002 B1
6438590 Gartner et al. Aug 2002 B1
6448985 McNally Sep 2002 B1
6453311 Powers, III Sep 2002 B1
6453319 Mattis et al. Sep 2002 B1
6462762 Ku Oct 2002 B1
6466228 Ulrich et al. Oct 2002 B1
6466238 Berry et al. Oct 2002 B1
6466932 Dennis et al. Oct 2002 B1
6470344 Kothuri et al. Oct 2002 B1
6473100 Beaumont et al. Oct 2002 B1
6480835 Light Nov 2002 B1
6483525 Tange Nov 2002 B1
6505233 Hanson et al. Jan 2003 B1
6513038 Hasegawa et al. Jan 2003 B1
6519612 Howard et al. Feb 2003 B1
6526399 Coulson et al. Feb 2003 B1
6535229 Kraft Mar 2003 B1
6535230 Celik Mar 2003 B1
6539399 Hazama et al. Mar 2003 B1
6544295 Bodnar et al. Apr 2003 B1
6549217 De Greef et al. Apr 2003 B1
6549916 Sedlar Apr 2003 B1
6563514 Samar May 2003 B1
6571245 Huang et al. May 2003 B2
6573906 Harding et al. Jun 2003 B1
6573907 Madrane Jun 2003 B1
6583799 Manolis et al. Jun 2003 B1
6590585 Suzuki et al. Jul 2003 B1
6606105 Quartetti Aug 2003 B1
6613101 Mander et al. Sep 2003 B2
6628309 Dodson et al. Sep 2003 B1
6636238 Amir et al. Oct 2003 B1
6636250 Gasser Oct 2003 B1
6638313 Freeman et al. Oct 2003 B1
6658406 Mazner et al. Dec 2003 B1
6662198 Satyanarayanan et al. Dec 2003 B2
6684222 Cornelius et al. Jan 2004 B1
6721760 Ono et al. Apr 2004 B1
6735623 Prust May 2004 B1
6738770 Gorman May 2004 B2
6745206 Mandler et al. Jun 2004 B2
6745207 Reuter et al. Jun 2004 B2
6751626 Brown et al. Jun 2004 B2
6754829 Butt et al. Jun 2004 B1
6760721 Chasen et al. Jul 2004 B1
6762776 Huapaya Jul 2004 B2
6762777 Carroll Jul 2004 B2
6763458 Watanabe et al. Jul 2004 B1
6763777 Rosenberg Jul 2004 B1
6768999 Prager et al. Jul 2004 B2
6784900 Dobronsky et al. Aug 2004 B1
6784925 Tomat et al. Aug 2004 B1
6795094 Watanabe et al. Sep 2004 B1
6801909 Delgado et al. Oct 2004 B2
6801919 Hunt et al. Oct 2004 B2
6803926 Lamb et al. Oct 2004 B1
6813474 Robinson et al. Nov 2004 B2
6816863 Bates et al. Nov 2004 B2
6820083 Nagy et al. Nov 2004 B1
6823344 Isensee et al. Nov 2004 B1
6826443 Makinen Nov 2004 B2
6847959 Arrouye et al. Jan 2005 B1
6853391 Bates et al. Feb 2005 B2
6865568 Chau Mar 2005 B2
6871348 Cooper Mar 2005 B1
6876900 Takeda et al. Apr 2005 B2
6876996 Czajkowski et al. Apr 2005 B2
6880132 Uemura Apr 2005 B2
6883009 Yoo Apr 2005 B2
6883146 Prabhu et al. Apr 2005 B2
6906722 Hrebejk et al. Jun 2005 B2
6910049 Fenton et al. Jun 2005 B2
6922709 Goodman Jul 2005 B2
6925608 Neale et al. Aug 2005 B1
6938207 Haynes Aug 2005 B1
6944647 Shah et al. Sep 2005 B2
6947959 Gill Sep 2005 B1
6948120 Delgobbo et al. Sep 2005 B1
6950818 Dennis et al. Sep 2005 B2
6950989 Rosenzweig et al. Sep 2005 B2
6952714 Peart Oct 2005 B2
6952724 Prust Oct 2005 B2
6980993 Horvitz et al. Dec 2005 B2
7010755 Anderson et al. Mar 2006 B2
7024427 Bobbitt et al. Apr 2006 B2
7028262 Estrada et al. Apr 2006 B2
7043472 Aridor et al. May 2006 B2
7047498 Lui et al. May 2006 B2
7051291 Sciammarella et al. May 2006 B2
7062500 Hall et al. Jun 2006 B1
7062718 Kodosky et al. Jun 2006 B2
7068291 Roberts et al. Jun 2006 B1
7100150 Polk Aug 2006 B2
7106843 Gainsboro Sep 2006 B1
7139811 Lev Ran et al. Nov 2006 B2
7149729 Kaasten et al. Dec 2006 B2
7168051 Robinson et al. Jan 2007 B2
7194743 Hayton et al. Mar 2007 B2
7203948 Mukundan et al. Apr 2007 B2
7216289 Kagle May 2007 B2
7216301 Moehrle May 2007 B2
7219302 O'Shaughnessy et al. May 2007 B1
7240292 Hally et al. Jul 2007 B2
7243334 Berger et al. Jul 2007 B1
7275063 Horn Sep 2007 B2
7290245 Skjolsvold Oct 2007 B2
7293031 Dusker et al. Nov 2007 B1
7383494 Krolczyk et al. Jun 2008 B2
7409382 Kido Aug 2008 B2
7415484 Tulkoff et al. Aug 2008 B1
20010034733 Prompt et al. Oct 2001 A1
20010034771 Hutsch et al. Oct 2001 A1
20010047368 Oshinsky et al. Nov 2001 A1
20010049675 Mandler et al. Dec 2001 A1
20010053996 Atkinson Dec 2001 A1
20010056434 Kaplan et al. Dec 2001 A1
20010056508 Arneson et al. Dec 2001 A1
20020010736 Marques et al. Jan 2002 A1
20020019935 Andrew et al. Feb 2002 A1
20020033844 Levy et al. Mar 2002 A1
20020046232 Adams et al. Apr 2002 A1
20020046299 Lefeber et al. Apr 2002 A1
20020049717 Routtenberg et al. Apr 2002 A1
20020052885 Levy May 2002 A1
20020054167 Hugh May 2002 A1
20020059199 Harvey May 2002 A1
20020062310 Marmor et al. May 2002 A1
20020063734 Khalfay et al. May 2002 A1
20020070965 Austin Jun 2002 A1
20020075310 Prabhu et al. Jun 2002 A1
20020075312 Amadio et al. Jun 2002 A1
20020075330 Rosenzweig et al. Jun 2002 A1
20020087652 Davis et al. Jul 2002 A1
20020087696 Brunheroto et al. Jul 2002 A1
20020087740 Castanho et al. Jul 2002 A1
20020089540 Geier et al. Jul 2002 A1
20020091679 Wright Jul 2002 A1
20020091697 Huang et al. Jul 2002 A1
20020091739 Ferlitsch et al. Jul 2002 A1
20020095416 Schwols Jul 2002 A1
20020097278 Mandler et al. Jul 2002 A1
20020100039 Iatropoulos Jul 2002 A1
20020103998 DeBruine Aug 2002 A1
20020104069 Gouge et al. Aug 2002 A1
20020107973 Lennon et al. Aug 2002 A1
20020111942 Campbell et al. Aug 2002 A1
20020113821 Hrebejk et al. Aug 2002 A1
20020120505 Henkin et al. Aug 2002 A1
20020120604 Labarge Aug 2002 A1
20020120757 Sutherland et al. Aug 2002 A1
20020129033 Hoxie et al. Sep 2002 A1
20020138552 DeBruine et al. Sep 2002 A1
20020138582 Chandra et al. Sep 2002 A1
20020138744 Schleicher et al. Sep 2002 A1
20020144155 Bate et al. Oct 2002 A1
20020149888 Motonishi et al. Oct 2002 A1
20020152262 Arkin et al. Oct 2002 A1
20020152267 Lennon Oct 2002 A1
20020156756 Stanley et al. Oct 2002 A1
20020156895 Brown Oct 2002 A1
20020161800 Eld et al. Oct 2002 A1
20020163572 Center et al. Nov 2002 A1
20020169678 Chao et al. Nov 2002 A1
20020174329 Bowler et al. Nov 2002 A1
20020181398 Szlam Dec 2002 A1
20020184357 Traversat et al. Dec 2002 A1
20020188605 Adya et al. Dec 2002 A1
20020188621 Flank et al. Dec 2002 A1
20020188735 Needham et al. Dec 2002 A1
20020194252 Powers, III Dec 2002 A1
20020196276 Corl et al. Dec 2002 A1
20020199061 Friedman et al. Dec 2002 A1
20030001964 Masukura et al. Jan 2003 A1
20030009484 Hamanaka et al. Jan 2003 A1
20030014415 Weiss et al. Jan 2003 A1
20030018657 Monday Jan 2003 A1
20030018712 Harrow et al. Jan 2003 A1
20030028610 Pearson Feb 2003 A1
20030033367 Itoh Feb 2003 A1
20030037060 Kuehnel Feb 2003 A1
20030041178 Brouk et al. Feb 2003 A1
20030046260 Satyanarayanan et al. Mar 2003 A1
20030063124 Melhem et al. Apr 2003 A1
20030069893 Kanai et al. Apr 2003 A1
20030069908 Anthony et al. Apr 2003 A1
20030074356 Kaier et al. Apr 2003 A1
20030076322 Ouzts et al. Apr 2003 A1
20030078918 Souvignier et al. Apr 2003 A1
20030079038 Robbin et al. Apr 2003 A1
20030081002 De Vorchik et al. May 2003 A1
20030081007 Cyr et al. May 2003 A1
20030084425 Glaser May 2003 A1
20030085918 Beaumont et al. May 2003 A1
20030093321 Bodmer et al. May 2003 A1
20030093531 Yeung et al. May 2003 A1
20030093580 Thomas et al. May 2003 A1
20030097361 Huang et al. May 2003 A1
20030098881 Nolte et al. May 2003 A1
20030098893 Makinen et al. May 2003 A1
20030101200 Koyama et al. May 2003 A1
20030105745 Davidson et al. Jun 2003 A1
20030107597 Jameson Jun 2003 A1
20030110188 Howard et al. Jun 2003 A1
20030115218 Bobbitt et al. Jun 2003 A1
20030117403 Park et al. Jun 2003 A1
20030117422 Hiyama et al. Jun 2003 A1
20030120678 Hill Jun 2003 A1
20030120928 Cato et al. Jun 2003 A1
20030120952 Tarbotton et al. Jun 2003 A1
20030122873 Dieberger et al. Jul 2003 A1
20030126136 Omoigui Jul 2003 A1
20030126212 Morris et al. Jul 2003 A1
20030135495 Vagnozzi Jul 2003 A1
20030135513 Quinn Jul 2003 A1
20030135517 Kauffman Jul 2003 A1
20030135659 Bellotti et al. Jul 2003 A1
20030140115 Mehra Jul 2003 A1
20030154185 Suzuki et al. Aug 2003 A1
20030158855 Farnham et al. Aug 2003 A1
20030177422 Tararoukhine et al. Sep 2003 A1
20030184587 Ording et al. Oct 2003 A1
20030195950 Huang et al. Oct 2003 A1
20030210281 Ellis et al. Nov 2003 A1
20030212664 Breining Nov 2003 A1
20030212680 Bates et al. Nov 2003 A1
20030212710 Guy Nov 2003 A1
20030222915 Marion et al. Dec 2003 A1
20030225796 Matsubara Dec 2003 A1
20030227480 Polk Dec 2003 A1
20030227487 Hugh Dec 2003 A1
20030233419 Beringer Dec 2003 A1
20040001106 Deutscher et al. Jan 2004 A1
20040002993 Toussaint et al. Jan 2004 A1
20040003247 Fraser et al. Jan 2004 A1
20040004638 Babaria Jan 2004 A1
20040006549 Mullins et al. Jan 2004 A1
20040008226 Manolis et al. Jan 2004 A1
20040019584 Greening et al. Jan 2004 A1
20040019655 Uemura et al. Jan 2004 A1
20040019875 Welch Jan 2004 A1
20040030731 Iftode et al. Feb 2004 A1
20040044696 Frost Mar 2004 A1
20040044776 Larkin Mar 2004 A1
20040054674 Carpenter et al. Mar 2004 A1
20040056894 Zaika et al. Mar 2004 A1
20040056896 Doblmayr et al. Mar 2004 A1
20040059755 Farrington Mar 2004 A1
20040068524 Aboulhosn et al. Apr 2004 A1
20040070612 Sinclair et al. Apr 2004 A1
20040073705 Robert, Jr. Apr 2004 A1
20040083433 Takeya Apr 2004 A1
20040085581 Tonkin May 2004 A1
20040088374 Webb et al. May 2004 A1
20040091175 Beyrouti May 2004 A1
20040098370 Garland et al. May 2004 A1
20040098379 Huang May 2004 A1
20040098742 Hsieh et al. May 2004 A1
20040103073 Blake et al. May 2004 A1
20040103280 Balfanz et al. May 2004 A1
20040105127 Cudd Jun 2004 A1
20040117358 Von Kaenel et al. Jun 2004 A1
20040117405 Short Jun 2004 A1
20040128322 Nagy Jul 2004 A1
20040133572 Bailey et al. Jul 2004 A1
20040133588 Kiessig et al. Jul 2004 A1
20040133845 Forstall Jul 2004 A1
20040142749 Ishimaru et al. Jul 2004 A1
20040143349 Roberts Jul 2004 A1
20040148434 Matsubara et al. Jul 2004 A1
20040153451 Phillips et al. Aug 2004 A1
20040153968 Ching et al. Aug 2004 A1
20040167942 Oshinsky et al. Aug 2004 A1
20040168118 Wong Aug 2004 A1
20040174396 Jobs et al. Sep 2004 A1
20040177116 McConn et al. Sep 2004 A1
20040177148 Tsimelzon, Jr. Sep 2004 A1
20040177319 Horn Sep 2004 A1
20040181516 Ellwanger Sep 2004 A1
20040183824 Benson et al. Sep 2004 A1
20040189704 Walsh et al. Sep 2004 A1
20040189707 Moore et al. Sep 2004 A1
20040193594 Moore et al. Sep 2004 A1
20040193599 Liu et al. Sep 2004 A1
20040193600 Kaasten et al. Sep 2004 A1
20040193621 Moore et al. Sep 2004 A1
20040193672 Samji et al. Sep 2004 A1
20040193673 Samji et al. Sep 2004 A1
20040199507 Tawa Oct 2004 A1
20040205168 Asher Oct 2004 A1
20040205625 Banatwala et al. Oct 2004 A1
20040205633 Martinez et al. Oct 2004 A1
20040205698 Schliesmann et al. Oct 2004 A1
20040215600 Aridor et al. Oct 2004 A1
20040220899 Barney et al. Nov 2004 A1
20040223057 Oura et al. Nov 2004 A1
20040225650 Cooper et al. Nov 2004 A1
20040230572 Omoigui Nov 2004 A1
20040230599 Moore et al. Nov 2004 A1
20040230917 Bales et al. Nov 2004 A1
20040233235 Rubin Nov 2004 A1
20040243597 Jensen et al. Dec 2004 A1
20040249902 Tadayon et al. Dec 2004 A1
20040255048 Lev Ran et al. Dec 2004 A1
20040257169 Nelson Dec 2004 A1
20050004928 Hamer et al. Jan 2005 A1
20050010860 Weiss et al. Jan 2005 A1
20050015405 Plastina et al. Jan 2005 A1
20050027757 Kiessig et al. Feb 2005 A1
20050050470 Hudson et al. Mar 2005 A1
20050055306 Miller et al. Mar 2005 A1
20050071355 Cameron et al. Mar 2005 A1
20050080807 Beilinson et al. Apr 2005 A1
20050097477 Camara et al. May 2005 A1
20050114672 Duncan et al. May 2005 A1
20050120242 Mayer et al. Jun 2005 A1
20050131903 Margolus et al. Jun 2005 A1
20050131905 Margolus et al. Jun 2005 A1
20050138567 Smith et al. Jun 2005 A1
20050149481 Hesselink et al. Jul 2005 A1
20050165753 Chen et al. Jul 2005 A1
20050166159 Mondry et al. Jul 2005 A1
20050171947 Gautestad Aug 2005 A1
20050192953 Neale et al. Sep 2005 A1
20050192966 Hilbert et al. Sep 2005 A1
20050243993 McKinzie et al. Nov 2005 A1
20050246331 De Vorchik et al. Nov 2005 A1
20050246643 Gusmorino et al. Nov 2005 A1
20050246664 Michelman et al. Nov 2005 A1
20050256909 Aboulhosn et al. Nov 2005 A1
20050257169 Tu Nov 2005 A1
20050283476 Kaasten et al. Dec 2005 A1
20060004692 Kaasten et al. Jan 2006 A1
20060020586 Prompt et al. Jan 2006 A1
20060036568 Moore et al. Feb 2006 A1
20060053066 Sherr et al. Mar 2006 A1
20060053388 Michelman Mar 2006 A1
20060059204 Borthakur et al. Mar 2006 A1
20060080308 Carpentier et al. Apr 2006 A1
20060090137 Cheng Apr 2006 A1
20060129627 Phillips et al. Jun 2006 A1
20060173873 Prompt et al. Aug 2006 A1
20060200455 Wilson Sep 2006 A1
20060200466 Kaasten et al. Sep 2006 A1
20060200832 Dutton Sep 2006 A1
20060218122 Poston et al. Sep 2006 A1
20060277432 Patel et al. Dec 2006 A1
20070168885 Muller et al. Jul 2007 A1
20070180432 Gassner et al. Aug 2007 A1
20070186183 Hudson Aug 2007 A1
Foreign Referenced Citations (24)
Number Date Country
1421800 Nov 2001 CN
2329492 Mar 1999 GB
09244940 Sep 1997 JP
2001067250 Mar 2001 JP
2001142766 May 2001 JP
2001154831 Jun 2001 JP
2001188702 Jul 2001 JP
2002182953 Jun 2002 JP
2002334103 Nov 2002 JP
2002269145 Apr 2004 JP
2002099565 Apr 2005 JP
WO9322738 Nov 1993 WO
WO9412944 Jun 1994 WO
WO9414281 Jun 1994 WO
9938092 Jul 1999 WO
WO9949663 Sep 1999 WO
WO0051021 Aug 2000 WO
0163919 Aug 2001 WO
WO0157867 Aug 2001 WO
WO0167668 Sep 2001 WO
WO 0225420 Mar 2002 WO
WO03001720 Jan 2003 WO
WO 2004107151 Sep 2004 WO
2004097680 Nov 2004 WO
Related Publications (1)
Number Date Country
20060070007 A1 Mar 2006 US
Continuation in Parts (2)
Number Date Country
Parent 10440035 May 2003 US
Child 11179804 US
Parent 10403341 Mar 2003 US
Child 10440035 US