WO2008109281A2 - Animation d'objets de données déplacés dans un environnement de projet - Google Patents

Animation d'objets de données déplacés dans un environnement de projet Download PDF

Info

Publication number
WO2008109281A2
WO2008109281A2 PCT/US2008/054887 US2008054887W WO2008109281A2 WO 2008109281 A2 WO2008109281 A2 WO 2008109281A2 US 2008054887 W US2008054887 W US 2008054887W WO 2008109281 A2 WO2008109281 A2 WO 2008109281A2
Authority
WO
WIPO (PCT)
Prior art keywords
data object
user
sort
user interface
workspace
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/US2008/054887
Other languages
English (en)
Other versions
WO2008109281A3 (fr
Inventor
Egan Schulz
Andrew Lin
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Apple Inc
Original Assignee
Apple Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Apple Inc filed Critical Apple Inc
Publication of WO2008109281A2 publication Critical patent/WO2008109281A2/fr
Publication of WO2008109281A3 publication Critical patent/WO2008109281A3/fr
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0486Drag-and-drop

Definitions

  • Software programs often include features that allow users to display, view, move, and sort items on screen. For example, suppose a user is using a file manager program to display files located in a directory of a computer file system. Within the file manager, the user can view and sort files based on a few pre-determined criteria (e.g., alphabetically, by modification date, etc). In some cases, however, the user may want to sort the files into folders based on their own criteria. Hence, the user may create folders on the computer into which he can place the files. For example, on his computer, the user may create folders such as "Taxes", "Work”, and “Personal", "Music", and "Photos" into which the user can sort documents and files located on the computer.
  • pre-determined criteria e.g., alphabetically, by modification date, etc.
  • the user may want to sort the files into folders based on their own criteria.
  • the user may create folders on the computer into which he can place the files. For example, on his computer, the user may
  • a photo-editing program imports photographs taken by a photographer and displays them on a computer screen.
  • the photo- editing software allows the user to sort the images based on a variety of criteria. For example, the user can sort the images by the date on which they were taken, based on a perceived quality of the photo, based on who was in the photograph, etc.
  • the photographer has to manually assign an image to a "bucket".
  • a bucket refers to the location on screen where the image is placed.
  • a bucket in the photo-editing program could be a work project folder for photographs taken in the course of the photographer's work, or a bucket may be a workspace location indicating the perceived quality of an image. But, as with the file manager, the user has to manually pick up each image and drag the image to the bucket where the user believes the photograph should properly be placed.
  • FIG. 1 is a depiction of an example workspace user interface in a photo- editing tool, according to an embodiment of the invention
  • FIG. 2 is a depiction of an example workflow for defining workspaces, according to an embodiment of the invention.
  • FIG. 3 is a depiction of an example workspace user interface for sorting images, according to an embodiment of the invention.
  • FIG. 4 is a depiction of an example workspace user interface for throwing images into sort buckets, according to an embodiment of the invention
  • FIG. 5 is a depiction of an example workspace user interface selecting and refining the images in a sort bucket, according to an embodiment of the invention
  • FIG. 6 is a flowchart illustrating an example procedure for animating thrown data objects in a workspace, according to an embodiment of the invention
  • FIG. 7 is a block diagram of a computer system upon which embodiments of the invention may be implemented.
  • Tools and techniques described herein provide mechanisms which allow data objects to be animated as they are "thrown” in a user interface.
  • to "throw" a data object means to select a data object displayed in the user interface using a mouse or other input device and, subsequently, to use the mouse or other input device to cause the data object to move without further user input.
  • mechanisms may animate the display of such movement of the data object so that it appears that the object was thrown by the user.
  • the thrown data object is caught and stored in a bucket. In this way, the user can sort data objects into separate buckets with very little wasted motion.
  • a photo-editing tool includes mechanisms that allow a user to throw images across a screen.
  • the user may input instructions into the photo-editing tool that cause an image to move across the photo-editing tool's workspace, as if the image was thrown.
  • the photo-editing tool includes a set of bucket areas into which the images are sorted. A user can sort the images in the photo-editing tool by throwing each image into a particular bucket (e.g., into a bucket for portraits, a bucket for photos with red-eye, etc.).
  • the tools and techniques described herein provide mechanisms that animate a thrown data object in a way that simulates the trajectory of a real world object after it has been thrown. For example, the faster the user moves the mouse or other input device, the faster the data object moves away from its original position. In addition, as the data object moves away from its original position, the thrown data object may slow down over time (e.g., as if being acted upon by friction) to further simulate the appearance of a real world object. [0017] Once a data object has been thrown, the tools and techniques described herein provide mechanisms which animate the data object after it has been caught in a bucket.
  • the data object may bounce against the walls of the bucket in a manner similar to how a billiard ball bounces against the sides of a table.
  • the tools and techniques described herein visually animate throwing a data object in a user interface.
  • Additional tools and techniques described herein provide mechanisms which allow a user to create and arrange the buckets the data objects are thrown into.
  • a project environment generally refers to a software application, a user interface, or other tool that allows the user to sort data objects.
  • Sorting can refer to more than just sorting a data object. Sorting may also include viewing, browsing, editing, selecting, placing, moving, categorizing, or manipulating in some fashion a data object.
  • the techniques and tools described herein are often described in terms of sorting images in a photo-editing tool.
  • This environment is meant to serve as an exemplary environment in which the techniques of the present invention are employed.
  • the techniques and tools may be employed in other environments, such as a file manager, multimedia players, a desktop environment, an operating system environment, a Web browsing environment (e.g., an online store, online shopping cart, wish list, etc.), and other environments that allows the user to sort data objects.
  • a project environment may include one or more workspaces, sort buckets, and user interface components in order to facilitate interaction with data objects.
  • Data objects include those items thrown by users in a project environment.
  • Data objects generally refer to any type of data structure, object, document, image, graphic, or file accessible to a user in a project environment.
  • data objects are not limited to any particular structure or format.
  • a data object can refer to an image in a photo-editing tool, a document in a file manager application, a database record in a database system, a network object in a network administration program, an image or frame in a Web page design application, a music file in a sound editing program, a data structure in a programming language object, and other types of objects.
  • a workspace user interface generally refers to the portion of a project environment's user interface that displays the collection of data objects. It is the workspace that provides the user interface controls that allow a user to throw a data object from one location on-screen to another. In one embodiment, the user can throw a data object from one workspace to another. In fact, in one embodiment, the user can throw a data object across multiple workspaces and/or from one project environment to another.
  • the workspace can be a desktop, a window within an application, a palette, some other type of user interface control, or a set of user interface controls within a project environment. An example workspace is illustrated in FIG. 1.
  • FIG. 1 it depicts example workspace 100 that includes nine grid areas 110-118, a workflow indicator 105, and four sort buckets 120-123.
  • workspace 100 includes a number of data objects (labeled as images) in each grid area.
  • a workspace may include a different set of features.
  • a grid area as illustrated in FIG. 1 is an area in a workspace that allows large collections of data objects to be split up into more manageable chunks of data. For example, suppose the data objects displayed into workspace 100 are photographs retrieved from a digital camera's memory card. Often a digital camera's memory card contains hundreds (maybe even thousands) of images. To display that many photographs in one workspace, the images have to be reduced in size. Multiple grid areas allow the user to split the images into smaller, more manageable collections of data.
  • workspace 100 includes over 100 data objects (e.g., each grid area 110-118 includes 12 data objects).
  • the number of data objects in a grid area can vary based on the total number of data objects in the workspace, the size of the workspace, the size of a grid area, screen resolution, user preference, and other such factors.
  • Splitting the workspace into grid areas allows the user to select a grid area and sort the data objects in that particular grid area. For example, if a user selects grid area 110, then grid area 110 becomes the focus of workspace 100 (e.g., the grid area is expanded, and, possibly, moved to the center of the workspace). In one embodiment, the display size of the data object in grid area 110 is also expanded.
  • grid area 110 when grid area 110 becomes the focus, the other grid areas 111-118 and the objects in those grid areas are reduced in size.
  • grid area 110 is enlarged to fill the entire workspace 100.
  • FIG. 3 illustrates an example of a grid area that has been enlarged to fill the entire workspace.
  • a workspace does not necessarily need to include grid areas. In many cases, data objects may be displayed in the same grid area.
  • the number of grid areas in a workspace may vary based on implementation, the number of data objects in the workspace, user preference, and a number of other such factors. In other implementations, a workspace may contain more or less than nine grid areas.
  • Sort buckets generally refer to those locations in a workspace where data objects collect when thrown by a user.
  • FIG. 1 shows four separate buckets for workspace 100.
  • workspace 100 includes bucket 120 at the top of the workspace, bucket 121 at the right edge of the workspace, bucket 122 at the bottom of the workspace, and bucket 123 on the left edge of the workspace.
  • the type and number of sort buckets in a workspace may differ. They may differ based on a variety of factors such as the type of data object, user preference, screen size, the number of data objects being sorted, etc.
  • a user managing music files on their computer may want to have a separate sort bucket for a each type of music they own (e.g., a bucket for "Classical”, “Hip-Hop”, “Jazz”, “Rock”, “Classic Rock”, “The Beatles”, “Reggae”, etc.).
  • buckets 120-123 are used to sort images displayed in a photo- editing tool.
  • bucket 122 is a collection location in the workspace where the user throws his favorite images (e.g., his five-star images).
  • Buckets 120 and 121 collects images that are not of the same quality as those in bucket 122 (e.g., the images in those buckets are one-star and three-star images).
  • Workspace 100 may also include reject bucket 123.
  • reject bucket 123 acts like a trash can; it is a location in workspace 100 where the user throws images that the user does not wish to keep.
  • a project environment comes with a set of pre-defined sort buckets which the user can use to sort data objects.
  • the project environment allows the user to define a set of sort buckets.
  • the sort buckets in a project environment can be a mix of user-defined and predefined buckets.
  • sort buckets 120-123 are movable. This means that a user can "tear" a sort bucket from a screen location and move it to another location within the workspace. As used herein, tearing a sort bucket from a screen location
  • sort buckets are selectable. A user can use his mouse to select a sort bucket, causing the content of the selected sort bucket to be displayed. According to one embodiment, the sort bucket's contents are displayed in their own separate workspace.
  • sort bucket 122 For example, suppose a user throws ten data objects into sort bucket 122. The user may then want to sort those ten data objects. To do so, the user selects sort bucket 122, which causes the sort bucket to expand and become the focus. In one embodiment, after the sort bucket has been expanded the ten data objects in sort bucket 122 are displayed in greater detail to the user.
  • a sort bucket can have filters and property templates associated with it.
  • filters and other properties in a project environment can be automatically applied to a data object when the data object is placed in a sort bucket.
  • a user may assign a red-eye reduction filter to sort bucket 122 so that every image thrown into sort bucket 122 is automatically filtered for red-eye.
  • the user may designate a 50% reduction in brightness for all images sent to the three-star sort bucket.
  • other filters and properties may be assigned to sort buckets.
  • a workflow generally refers to the mechanism in a project environment that defines how workspaces are interrelated. Basically, a workflow describes a set of interconnected workspaces in a project environment.
  • FIG. 2 illustrates an example workflow 200 that may be used in connection with an embodiment of the invention.
  • a set of workspaces (205-265) are linked together to form workflow 200.
  • the linked workspaces correspond to sort buckets. For example, suppose a user sorts images in a photo-editing tool. In workflow 200, the images are initially displayed in the "rate pictures" workspace 205.
  • the rate pictures workspace 205 includes the same sort buckets as those described in connection with workspace 100 in FIG. 1.
  • the user sorts the images in workspace 205 by throwing them into the available sort buckets.
  • the user decides to further refine how the images are categorized.
  • the user selects a sort bucket in the rate pictures workspace 205.
  • a sort bucket in one embodiment, a second workspace corresponding to the sort bucket.
  • the newly opened workspace reveals the contents of the selected sort bucket. For instance, in rate pictures workspace 205, if the user throws several images into a five-star sort bucket, then when the user selects the five-star sort bucket new workspace 225 (e.g., the five-star workspace with its own set of sort buckets) opens in response to the selection.
  • the five-star sort bucket new workspace 225 e.g., the five-star workspace with its own set of sort buckets
  • Workflow 200 illustrates how each workspace in a project environment is connected to other workspaces. As illustrated in FIG. 2, the rate pictures workspace 205 is linked to the five-star workspace 225, the one-star workspace 210, the rejects workspace 215, and three-star workspace 220. When the user navigates to a new workspace, the connected workspaces can change.
  • the connected workspaces also change (e.g., five-star workspace is 225 connected to a contrast workspace 230, white balance workspace 240, and exposure workspace 235). Sort buckets representing each of these connected workspaces are displayed in the five-star workspace 225.
  • the user may continue sorting the images and selecting sort buckets until all the images have been sorted.
  • the user may place images into the needs further adjustments workspace 255, those that cannot be fixed workspace 265, images that are meant for Web publishing or print workspaces 245 and 250, or into an images sent to client workspace 260.
  • a workflow in a project environment can be created, edited, and modified by a user.
  • a workflow is predefined, e.g., provided by the project environment based on a set of predetermined preferences, including input from users.
  • the photo-editing tool allows the user to modify or add workspaces to the workflow. For example, in FIG. 2, assume that workspaces 205, 210, 215, and 220 are part of a default workflow 200 provided by a photo-editing tool.
  • the user determines that he needs additional workspaces to categorize the images in a different way.
  • the user can select an "add”, “edit”, or “delete” workspace control in the workspace user interface.
  • the user then proceeds to add, edit, or delete workspaces in the workflow.
  • the user may create a workflow from scratch.
  • the add, edit, or delete workspace feature can also be part of the photo-editing tool's user interface.
  • a corresponding workspace is created for the sort bucket.
  • workflow indicator 105 generally indicates the overall layout of the workflow in a project environment. As illustrated in FIG. 1, workflow indicator 105 includes several small rectangles that represent workspaces in the current workflow. In other implementations, the workflow indicator may use a different type of visual effect to represent workflow. For example, the workflow indicator could use words, circles, a grid, or some other mechanism to indicate workflow. In some cases, not every workspace is shown by the workflow indicator. This could be because of the number of connected workspace, the size of the workflow, user preference, etc. [0044] The workflow indicator 105 highlights the current workspace. For example, in FIG. 1, workspace 100 happens to be the first workspace in the workflow. Therefore, it is highlighted. If the user wishes to switch to a different workspace in the workflow, in one embodiment, the user need only select one of the other rectangles in the workflow indicator.
  • the user can sort the data objects by throwing them into sort buckets. Accordingly, the user sorts the displayed data objects by selecting a data object with their mouse and throwing it in the direction of a sort bucket.
  • FIG. 3 illustrates workspace 300, which is an example of what grid area 110 may look like after it has become the focus.
  • workspace 300 represents a virtual light surface table where data objects are arranged for sorting. In this case, the data objects are images.
  • sort bucket 320 At the top of workspace 300 is sort bucket 320 that is designed to hold photographs that the user classifies as one-star images.
  • Workspace 300 also includes three-star sort bucket 321, five-star sort bucket 322, and reject bucket 323 similar to those defined in connection with FIG. 1.
  • the displayed images can be actual photograph files or representations of those files (e.g., thumbnails).
  • Workflow indicator 305 shows that the user has moved from the initial workspace 100 to a second workspace (e.g., the highlighted box indicates the user's new location in the workflow).
  • the user begins sorting the images by throwing them into the sort buckets. For example, after importing a set of images into a photo-editing tool, one of the first things a photographer may do is sort through the images to find his four or five best shots. In FIG.
  • sort buckets 420-423 correspond to sort buckets 120-123 described in connection with FIG. 1.
  • the user can evaluate an image based on a particular quality, characteristic, or rating, and then throw the image into the sort bucket that corresponds to that particular quality, characteristic, or rating.
  • the user can quickly sort through images 401-412. The user looks at an image, selects it with his mouse or other input device, determines where to throw the image (e.g., which sort bucket it should be sorted into), and throws the images in the direction of the sort bucket.
  • the user begins sorting the images shown in FIG. 4.
  • the user looks at image_l 401, evaluates the image, and determines that the image is slightly out of focus and, therefore, unusable.
  • the user then throws image_l 401 into rejects sort bucket 423.
  • Throwing the image involves inputting a throw command.
  • the throw command can be as simple as selecting an image with a mouse by clicking on it and flicking the mouse toward rejects sort bucket 423.
  • the command could also be more involved, for example, the user may
  • the user input indicating a throw command can vary based on a wide variety of factors, such as the type of input device being used (e.g., joystick, pointer, keyboard, touchpad, or multi-touch pad), user preference, the type of application, etc.
  • a throw command from a keyboard may consist of a series of keystrokes.
  • the user selects an object and then enters "CTRL-T" followed by an "Up- Arrow” command.
  • the CTRL-T indicates the command to throw the data object, and the Up- Arrow indicates the direction of the sort bucket.
  • the goal of throwing an object is to reduce the amount of movement a user must make when sorting data objects.
  • the user when a user uses a mouse to throw data objects, the user inputs only enough data (e.g., mouse movement) to indicate a throw command and a throw direction. For instances, the user clicks down on a data object and flicks the data object in the direction of the sort bucket (e.g., up, down, left, right, down to the left, down to right, etc.) There is very little waste of motion and movement.
  • the user picks a first image to begin the sorting process (e.g., image_l 401), throws the image at a sort bucket, and quickly picks another image to sort. In this way, a user can traverse a whole group of images using very few input device movements (especially when compared to conventional sorting techniques).
  • the user may select more than one data object to throw for a given throw command. For example, in FIG. 4, the user selects multiple images in workspace 400 and throws them together towards the same bucket.
  • a user throws multiple objects in one implementation, he first performs a unifying selection.
  • a unifying selection occurs when all the data objects act temporarily as a single data object. Examples of making a unifying selection include selecting multiple images by CTRL-clicking on multiple data objects, performing a drag selection, or highlighting data objects in some other way.
  • the unified data objects are shown in the workspace as a "stacked" object (e.g., the data objects are placed on top of each other). Then, in an embodiment, when the user throws the stacked object, upon landing at the desired location (e.g., a sort bucket), the stacked object separates into its respective data objects.
  • a stacked object e.g., the data objects are placed on top of each other.
  • throwing a data object also involves animating the data object after the user inputs the throw command. For example, after the user has input a
  • the thrown data object continues to move in the throw direction (e.g., the direction indicated by the throw command).
  • the data object is animated.
  • the way the data object is animated may vary based on a variety of criteria such as performance, aesthetics, ease of implementation, etc.
  • when a data object is thrown it is animated in a way that mimics how real-life objects travel when they are thrown. For example, if a data object in a workspace is thrown "hard” (e.g., with more force, speed, or velocity), then the data object moves with greater velocity across the screen. Similarly, if a data object is thrown "softly” (e.g., with very little force, speed, or velocity), then the data object moves more slowly across the screen.
  • the data object decelerates (as if being acted upon by friction) until it stops.
  • the data object may move at the same speed until it reaches a sort bucket.
  • the data object stops after it has lost its momentum.
  • image_3 403 is an example of an image that was thrown by the user in the direction of sort bucket 420. In this case, the user gently throws image_3 403 in the direction of sort bucket 420. Image_3 403 moves across workspace 400 until it lands in sort bucket 420. In one embodiment, image_3 403 stops immediately upon reaching sort bucket 420. Alternatively, if image_3 403 has enough speed upon entering sort bucket 420, image_3 continues moving until it bounces against the other side of sort bucket 420.
  • Image_4 404 is an example of a data object that was thrown hard enough that when it reaches sort bucket 421 it bounces off the outside edge of workspace 400 and eventually settles in the middle of the sort bucket.
  • a sort bucket catches thrown data objects. For example, in FIG. 4, suppose a user throws image_3 403 towards sort bucket 420. When image_3 403 reaches sort bucket 420, it is caught and remains in the sort bucket. In one embodiment, when a data object, such as image_4 404, is thrown into a sort bucket, the data object bounces back and forth off the edges of the sort bucket until it comes to a rest.
  • the data objects are displayed at the location where they end up as a result of being thrown. For example, suppose a user throws two or three data objects into the same sort bucket and those data objects end up overlapping each other. In one embodiment, the data objects are maintained in their overlapping and disorganized state. In this way, the project environment offers a workspace that imitates the real world. Alternatively, the data objects once caught into a sort bucket can be automatically rearranged in an ordered fashion.
  • the user may select a sort bucket to further narrow how the data objects are sorted. For example, suppose the user in FIG. 4 sorts each of the images 401-412 into one of the sort buckets 420-423. As result, four images are sorted into five-star sort bucket 422. The user then selects sort bucket 422. In one embodiment, by selecting sort bucket 422, the user moves to a new workspace in the workflow, where the user can further narrow how the images are sorted. In one embodiment, the move from one workspace to another is reflected in workflow indicator 405. [0060] FIG. 5 illustrates an example of a workspace 500 that opens as a result of the user selecting sort bucket 422.
  • Workflow indicator 505 also illustrates that the user has moved from one location in the workflow to another.
  • the images are rearranged into an ordered collection (e.g., into rows and columns).
  • the data objects increase in display size since now fewer data objects are contained in each subsequent sort bucket. For instance, in workspace 500, since there are only four images displayed (as opposed to the twelve images displayed in workspace 400), the four images 502, 505, 507, and 512 are displayed as larger data objects.
  • the user may proceed to sort the data by throwing images 502, 505, 507, and 512 into sort buckets 520-523.
  • the user may throw image_2 502 into the "contrast” sort bucket 523, image_5 into the white balance sort bucket, etc.
  • procedure 600 for sorting images in a user interface by allowing a user to select a data object and input a "throw" command that indicates where the user would like to send the data object.
  • procedure 600 allows a user to sort images by throwing the images into sort buckets.
  • procedure 600 is discussed below in terms of a photographer sorting images using a photo-editing tool, the principles described in connection with procedure 600 can be applied to a wide variety of other scenarios such as sorting music files, moving documents from one folder to another, and other situations.
  • the photo-editing tool includes, among other things, a workspace user interface that allows the user to display images, sort the images, and edit and save the images.
  • the photo-editing tool includes controls and the necessary underlying logic to create and/or edit sort buckets into which the photographer may wish to sort the images.
  • the step of displaying the images may include importing the images into the photo-editing tool from a digital camera or other device.
  • displaying the images may also include displaying a compressed or compact representation of the image.
  • the images may be displayed as thumbnails or some other compressed version of the underlying images themselves.
  • the content and format of the images opened in the photo-editing tool can vary from one project to the next and from one implementation to the next.
  • the photo-editing tool should be able to recognize multiple image file formats, such as JPG, GIF, TIF, RAW, BMP, etc.
  • the workspace in the photo-editing tool corresponds to workspace 100 illustrated in FIG. 1.
  • the images are displayed to John.
  • the sheer number of images on display in the workspace makes it difficult for John to view and sift through the images (e.g., because they are small).
  • the photo- editing tool includes grid areas that divide the workspace up into smaller collections of data. John selects grid area 110 in workspace 100.
  • grid area 110 and its images are expanded and become the focus of the tool, thus, making it easier for John to see and sort the images.
  • a completely new workspace that includes all of the images from grid area 110 is opened when John selects grid area 110.
  • this subsequent workspace corresponds to workspace 300 in FIG. 3.
  • John begins to sort the images displayed in the current workspace. To do so, he evaluates the images on display and throws them towards sort buckets located somewhere on screen.
  • the throwing motion in this case involves receiving input indicating a "throw" command (e.g., selecting an image in the current workspace and using his mouse to throw it in the direction of a sort bucket). For example, John uses his mouse or other input device to click on an image in the workspace (thereby selecting it) and flicking the mouse toward a sort bucket, while simultaneously releasing the mouse button. And the image glides to the sort bucket.
  • a "throw" command e.g., selecting an image in the current workspace and using his mouse to throw it in the direction of a sort bucket.
  • John uses his mouse or other input device to click on an image in the workspace (thereby selecting it) and flicking the mouse toward a sort bucket, while simultaneously releasing the mouse button. And the image glides to the sort bucket.
  • other tools, input devices, or input commands may be used to indicate a throw command.
  • John does not necessarily need to sort the images in the workspace in any particular order. He could select any photo at any location in the workspace to throw into a sort bucket. For example, he may want to first get rid of any blank or darkened images. Thus, he starts the sorting process by selecting the blank and darkened images to throw into a rejects sort bucket. John uses his mouse or other input device to select the images and throw them into a sort bucket. As he continues to sort the images, he works his way from the middle of the workspace out. Although, in some implementations, the sort buckets may be placed in a different location, so he may end up moving from right to left, left to right, middle to out, up down, down up, etc.
  • FIG. 4 illustrates an example way of sorting through the displayed images.
  • John may define the number, type, and names of the sort buckets that are used during the sorting process. For example, referring to FIG. 4, John could define a one-star bucket 420, three-star bucket 421,
  • FIG. 4 illustrates example images being thrown into sort buckets.
  • John wants to sort the images in workspace 400 into sort buckets 420-423. To do so, he looks at an image, evaluates it, and throws the image into the sort bucket that best represents his perception of it.
  • John looks at image_l 401 and notices that the image is blank, so he throws image_l 401 into the rejects sort bucket 423.
  • John looks at image_2 402 and decides that this image looks amazing. It is a picture of a flower that he would definitely consider sending to the nature magazine.
  • image_2 402 is thrown into the five-star sort bucket 422.
  • the image slows down over time.
  • the speed and distance which the image travels in the workspace can be based on how hard it is thrown. For example, when John selects image_l he may softly flick his mouse in the direction of the reject sort bucket 423. In this case, image_l 401 may travel slowly toward the sort bucket. John may then throw image_2 402 hard to make it travel faster to the five-star bucket.
  • the photo-editing tool includes controls that allow the user to select and modify how an image moves after it is thrown (e.g., how fast it moves, how much friction effects the image, whether to show the image flying across the workspace, or just placing the image in the sort bucket that is in the direction indicated by the user).
  • step 640 when an image reaches a sort bucket the image is caught and stopped.
  • a sort bucket when an image reaches a sort bucket it immediately comes to rest. Alternatively, the image bounces against the walls of the sort bucket until it comes to an eventual stop. For example, suppose John throws image_4 404 hard toward sort bucket 421. Image_4 404 is caught in the sort bucket 421 but continues moving until it bounces against the sort bucket's far edge. It might then bounce back and collide with the sort bucket's other wall, and continue bouncing until it has lost momentum, coming to a rest somewhere in the middle of the sort bucket. [0076] In this way, a sort bucket can act like a one way valve, once an image has entered the sort bucket, it cannot get out.
  • images that bounce and glide into an area feel more realistic and can be more aesthetically pleasing to the user.
  • an image stops in a sort bucket is irrelevant. For example, John might continue throwing additional images into the five-star bucket so that the images overlap.
  • workspace 400 provides John with a control to reorder the images in an organized way.
  • the images are disorganized after being thrown into a sort bucket, those images are reordered when John selects the sort bucket. In other words, once John selects a sort bucket with images in it, the images are reordered and realigned in the display.
  • the sort buckets represent specific image properties and characteristics that may need to be modified. For example, as John looks in greater detail at image_2 502, he decides it needs to have the contrast modified slightly to make the flower pictured in the image stand out more.
  • sort bucket 523 acts as a holding place for the image until John has time to come back and edit it later.
  • John may assign some predetermined adjustments or filters to a sort bucket so that when an image is thrown into a sort bucket that particular filter or property adjustment is automatically applied. For example, John may have set a filter on sort bucket 523 so that images thrown into it automatically have their contrast adjusted by 10%.
  • John could also set a filter by first editing an image and then saving those edits as a property template or filter to be applied to subsequent images. For example, John throws image_2 502 into sort bucket 523, modifies the image at that time, and then saves the modifications to the image as a template. Subsequent images thrown in sort bucket 523 then have that same filter or applied.
  • the back bucket 520 connects to the previous workspace (e.g., workspace 410) and allows John to throw images back to the original workspace. For example, after John gets a closer look at image_12 512, he decides he was mistaken: image_12 512 is not a five-star image. However, he still likes the image and would like to keep it. Accordingly, he throws it into the back bucket. The image is placed back in the previous workspace.
  • John can select the back bucket 520 or alternatively a different workspace from the workflow indicator
  • John can save the project and come back to it later. He can modify the images, save them, export them, get them ready to send to the nature magazine, etc. In one embodiment, John can save the entire group of images as a single project. Alternatively, each collection of images in a workspace is saved as its own collection. According to one embodiment, John can save images individually.
  • FIG. 7 is a block diagram that illustrates a computer system 700 upon which an embodiment of the invention may be implemented.
  • Computer system 700 includes a bus 702 or other communication mechanism for communicating information, and a processor 704 coupled with bus 702 for processing information.
  • Computer system 700 also includes a main memory 706, such as a random access memory (RAM) or other dynamic storage device, coupled to bus 702 for storing RAM.
  • main memory 706 such as a random access memory (RAM) or other dynamic storage device
  • Main memory 706 also may be used for storing temporary variables or other intermediate information during execution of instructions to be executed by processor 704.
  • Computer system 700 further includes a read only memory (ROM) 708 or other static storage device coupled to bus 702 for storing static information and instructions for processor 704.
  • ROM read only memory
  • a storage device 710 such as a magnetic disk or optical disk, is provided and coupled to bus 702 for storing information and instructions.
  • Computer system 700 may be coupled via bus 702 to a display 712, such as a cathode ray tube (CRT), for displaying information to a computer user.
  • a display 712 such as a cathode ray tube (CRT)
  • An input device 714 is coupled to bus 702 for communicating information and command selections to processor 704.
  • cursor control 716 is Another type of user input device
  • cursor control 716 such as a mouse, a trackball, or cursor direction keys for communicating direction information and command selections to processor 704 and for controlling cursor movement on display 712.
  • This input device typically has two degrees of freedom in two axes, a first axis (e.g., x) and a second axis (e.g., y), that allows the device to specify positions in a plane.
  • the invention is related to the use of computer system 700 for implementing the techniques described herein. According to one implementation of the invention, those techniques are performed by computer system 700 in response to processor 704 executing one or more sequences of one or more instructions contained in main memory 706. Such instructions may be read into main memory 706 from another machine-readable medium, such as storage device 710. Execution of the sequences of instructions contained in main memory 706 causes processor 704 to perform the process steps described herein. In alternative implementations, hardwired circuitry may be used in place of or in combination with software instructions to implement the invention. Thus, implementations of the invention are not limited to any specific combination of hardware circuitry and software.
  • machine-readable medium refers to any medium that participates in providing data that causes a machine to operation in a specific fashion.
  • various machine-readable media are involved, for example, in providing instructions to processor 704 for execution.
  • Such a medium may take many forms, including but not limited to, non-volatile media, volatile media, and transmission media.
  • Non-volatile media includes, for example, optical or magnetic disks, such as storage device 710.
  • Volatile media includes dynamic memory, such as main memory 706. Transmission
  • 20 media includes coaxial cables, copper wire and fiber optics, including the wires that comprise bus 702.
  • Transmission media can also take the form of acoustic or light waves, such as those generated during radio-wave and infra-red data communications. All such media must be tangible to enable the instructions carried by the media to be detected by a physical mechanism that reads the instructions into a machine.
  • Machine -readable media include, for example, a floppy disk, a flexible disk, hard disk, magnetic tape, or any other magnetic medium, a CD- ROM, any other optical medium, punchcards, papertape, any other physical medium with patterns of holes, a RAM, a PROM, and EPROM, a FLASH-EPROM, any other memory chip or cartridge, a carrier wave as described hereinafter, or any other medium from which a computer can read.
  • Various forms of machine-readable media may be involved in carrying one or more sequences of one or more instructions to processor 704 for execution.
  • the instructions may initially be carried on a magnetic disk of a remote computer.
  • the remote computer can load the instructions into its dynamic memory and send the instructions over a telephone line using a modem.
  • a modem local to computer system 700 can receive the data on the telephone line and use an infra-red transmitter to convert the data to an infra-red signal.
  • An infra-red detector can receive the data carried in the infra-red signal and appropriate circuitry can place the data on bus 702.
  • Bus 702 carries the data to main memory 706, from which processor 704 retrieves and executes the instructions.
  • the instructions received by main memory 706 may optionally be stored on storage device 710 either before or after execution by processor 704.
  • Computer system 700 also includes a communication interface 718 coupled to bus 702.
  • Communication interface 718 provides a two-way data communication coupling to a network link 720 that is connected to a local network 722.
  • communication interface 718 may be an integrated services digital network (ISDN) card or a modem to provide a data communication connection to a corresponding type of telephone line.
  • ISDN integrated services digital network
  • communication interface 718 may be a local area network (LAN) card to provide a data communication connection to a compatible LAN.
  • LAN local area network
  • Wireless links may also be implemented.
  • communication interface 718 sends and receives electrical, electromagnetic or optical signals that carry digital data streams representing various types of information.
  • Network link 720 typically provides data communication through one or more networks to other data devices.
  • network link 720 may provide a connection through local network 722 to a host computer 724 or to data equipment operated by an Internet Service Provider (ISP) 726.
  • ISP 726 in turn provides data communication services through the world wide packet data communication network now commonly referred to as the "Internet" 728.
  • Internet 728 uses electrical, electromagnetic or optical signals that carry digital data streams.
  • the signals through the various networks and the signals on network link 720 and through communication interface 718, which carry the digital data to and from computer system 700, are exemplary forms of carrier waves transporting the information.
  • Computer system 700 can send messages and receive data, including program code, through the network(s), network link 720 and communication interface 718.
  • a server 730 might transmit a requested code for an application program through Internet 728, ISP 726, local network 722 and communication interface 718.
  • the received code may be executed by processor 704 as it is received, and/or stored in storage device 710, or other non- volatile storage for later execution. In this manner, computer system 700 may obtain application code in the form of a carrier wave.

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

L'invention concerne des techniques permettant à un utilisateur de trier des objets de données dans une interface utilisateur. L'utilisateur peut trier des objets de données en les déplaçant dans l'interface utilisateur. Par exemple, un utilisateur importe une collection d'objets de données dans une interface utilisateur. Les objets de données sont alors affichés graphiquement dans l'interface utilisateur. L'utilisateur trie les objets de données en les sélectionnant avec un dispositif d'entrée et en les déplaçant vers un emplacement distinct sur l'écran. L'emplacement sur l'écran où l'utilisateur déplace les objets de données s'appelle un compartiment. Un compartiment capture les objets de données déplacés dans sa direction. Une fois que les objets de données ont été triés, l'utilisateur peut utiliser des commandes pour améliorer la manière dont les objets de données sont triés. Par exemple, l'utilisateur peut trier des objets de données dans un compartiment, modifier les objets de données, ajouter des compartiments supplémentaires à l'interface utilisateur, et exécuter d'autres fonctions similaires.
PCT/US2008/054887 2007-03-05 2008-02-25 Animation d'objets de données déplacés dans un environnement de projet Ceased WO2008109281A2 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/714,393 2007-03-05
US11/714,393 US20080222540A1 (en) 2007-03-05 2007-03-05 Animating thrown data objects in a project environment

Publications (2)

Publication Number Publication Date
WO2008109281A2 true WO2008109281A2 (fr) 2008-09-12
WO2008109281A3 WO2008109281A3 (fr) 2009-05-14

Family

ID=39739018

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2008/054887 Ceased WO2008109281A2 (fr) 2007-03-05 2008-02-25 Animation d'objets de données déplacés dans un environnement de projet

Country Status (2)

Country Link
US (1) US20080222540A1 (fr)
WO (1) WO2008109281A2 (fr)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2214088A2 (fr) * 2009-01-28 2010-08-04 Sony Corporation Traitement d'informations
US8767019B2 (en) 2010-08-31 2014-07-01 Sovanta Ag Computer-implemented method for specifying a processing operation
US8972467B2 (en) 2010-08-31 2015-03-03 Sovanta Ag Method for selecting a data set from a plurality of data sets by means of an input device

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7936341B2 (en) * 2007-05-30 2011-05-03 Microsoft Corporation Recognizing selection regions from multiple simultaneous inputs
EP2201443A4 (fr) * 2007-09-11 2013-05-01 Smart Internet Technology Crc Pty Ltd Système et procédé permettant de manipuler des images numériques sur un écran
JP2010539567A (ja) * 2007-09-11 2010-12-16 スマート・インターネット・テクノロジー・シーアールシー・プロプライエタリー・リミテッド 遠隔ファイル転送のためのシステム及び方法
EP2201523A4 (fr) * 2007-09-11 2010-12-15 Smart Internet Technology Crc Système et procédé permettant de capturer des images numériques
JP5468005B2 (ja) * 2007-09-11 2014-04-09 スマート・インターネット・テクノロジー・シーアールシー・プロプライエタリー・リミテッド コンピュータインターフェースのためのインターフェースエレメント
US20090237363A1 (en) * 2008-03-20 2009-09-24 Microsoft Corporation Plural temporally overlapping drag and drop operations
KR20110059009A (ko) * 2009-11-27 2011-06-02 삼성전자주식회사 휴대용 단말기에서 사용자 메뉴 설정을 위한 장치 및 방법
KR101694154B1 (ko) * 2010-06-29 2017-01-09 엘지전자 주식회사 휴대 단말기 및 그 동작 제어방법
US20120159401A1 (en) * 2010-12-16 2012-06-21 Microsoft Corporation Workspace Manipulation Using Mobile Device Gestures
US9501150B2 (en) 2011-10-01 2016-11-22 Oracle International Corporation Moving an object about a display frame by combining classical mechanics of motion
US9557876B2 (en) 2012-02-01 2017-01-31 Facebook, Inc. Hierarchical user interface
US9229613B2 (en) 2012-02-01 2016-01-05 Facebook, Inc. Transitions among hierarchical user interface components
US9645724B2 (en) 2012-02-01 2017-05-09 Facebook, Inc. Timeline based content organization
WO2014019077A1 (fr) * 2012-08-02 2014-02-06 Tastefilter Inc. Navigation basée sur le goût à de multiples niveaux de granularité
US9755995B2 (en) 2012-11-20 2017-09-05 Dropbox, Inc. System and method for applying gesture input to digital content
US9729695B2 (en) 2012-11-20 2017-08-08 Dropbox Inc. Messaging client application interface
US9935907B2 (en) 2012-11-20 2018-04-03 Dropbox, Inc. System and method for serving a message client
US10353548B2 (en) * 2016-07-11 2019-07-16 International Business Machines Corporation Random access to properties for lists in user interfaces
GB201907377D0 (en) * 2019-05-24 2019-07-10 Masters Ian Method for managing gesture-based movement of a UI object

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US43318A (en) * 1864-06-28 Grain-separator
US5072412A (en) * 1987-03-25 1991-12-10 Xerox Corporation User interface with multiple workspaces for sharing display system objects
JPH08249357A (ja) * 1994-12-22 1996-09-27 Fuji Xerox Co Ltd 情報処理装置
US6097431A (en) * 1996-09-04 2000-08-01 Flashpoint Technology, Inc. Method and system for reviewing and navigating among images on an image capture unit
US5838326A (en) * 1996-09-26 1998-11-17 Xerox Corporation System for moving document objects in a 3-D workspace
US6141007A (en) * 1997-04-04 2000-10-31 Avid Technology, Inc. Newsroom user interface including multiple panel workspaces
US6920619B1 (en) * 1997-08-28 2005-07-19 Slavoljub Milekic User interface for removing an object from a display
US7028264B2 (en) * 1999-10-29 2006-04-11 Surfcast, Inc. System and method for simultaneous display of multiple information sources
US6722987B2 (en) * 2002-04-16 2004-04-20 Microsoft Corporation Processing collisions between digitally represented mobile objects and free form dynamically created electronic ink
US20040001073A1 (en) * 2002-06-27 2004-01-01 Jan Chipchase Device having a display
US7231609B2 (en) * 2003-02-03 2007-06-12 Microsoft Corporation System and method for accessing remote screen content
GB0508073D0 (en) * 2005-04-21 2005-06-01 Bourbay Ltd Automated batch generation of image masks for compositing
US20070064004A1 (en) * 2005-09-21 2007-03-22 Hewlett-Packard Development Company, L.P. Moving a graphic element

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2214088A2 (fr) * 2009-01-28 2010-08-04 Sony Corporation Traitement d'informations
US8767019B2 (en) 2010-08-31 2014-07-01 Sovanta Ag Computer-implemented method for specifying a processing operation
US8972467B2 (en) 2010-08-31 2015-03-03 Sovanta Ag Method for selecting a data set from a plurality of data sets by means of an input device

Also Published As

Publication number Publication date
US20080222540A1 (en) 2008-09-11
WO2008109281A3 (fr) 2009-05-14

Similar Documents

Publication Publication Date Title
US20080222540A1 (en) Animating thrown data objects in a project environment
JP5171386B2 (ja) コンテンツ管理装置、コンテンツ管理方法、プログラム及び記録媒体
CA2507405C (fr) Interface graphique pour visualisation en 3d d'une collecte de donnees sur la base d'un attribut des donnees
US7458034B2 (en) Data organization support method and program product therefor
JP5009371B2 (ja) 映像データ編集のためのインターフェースシステム
US6301586B1 (en) System for managing multimedia objects
US7188316B2 (en) System and method for viewing and editing multi-value properties
US20050188174A1 (en) Extensible creation and editing of collections of objects
EP1645950A1 (fr) Empilement automatique d'images en fonction du temps
US20150268832A1 (en) Single action selection of data elements
JP2005276178A (ja) デジタルファイルおよびデータのための高速可視的ソート
DE212007000053U1 (de) Medienspieler mit bildbasiertem Browsen
WO2006036290A1 (fr) Coquille de systeme de fichiers
WO2007008524A2 (fr) Interface d'utilisateur a glissement et deplacement, riche
JP5566447B2 (ja) コンテンツ管理装置、コンテンツ管理装置の制御方法、プログラム及び記録媒体
CN108920536A (zh) 一种数据呈现方法、电子设备和可读存储介质
Jin et al. GIA: design of a gesture-based interaction photo album
US20040145611A1 (en) Method, program, and system for editing contents of multimedia
MXPA04005719A (es) Creacion y edicion extensible de colecciones integradas.
JP7392788B2 (ja) 情報処理装置及びプログラム
Prasad et al. Artificial Intelligence Driven Pile User Interface for Selection and Triage of Digital Content
JP2023160049A5 (fr)
Hußmann Informed Browsing of Digital Image Collections
HK1086640A (en) Auto stacking of time related images

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 08730648

Country of ref document: EP

Kind code of ref document: A2

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 08730648

Country of ref document: EP

Kind code of ref document: A2