User Interface Software 2000 Benchmark


Frame by Frame Video Editor



This benchmark is a simple movie editor, where the users load animations. They are represented by the series of frames that compose them. Users edit an animation by selecting, moving, deleting, inserting, copying, cutting and pasting frames. Finally they play and save the resulting video.


This editor resembles more the slide sorter view of PowerPoint than other existing video editing tools. As a benchmark, it will evaluate the support that different user GUI toolkits offer for direct manipulation, editing and multimedia. It will also test the use of very large number of items and the dynamic creation of objects, and the support for the MPEG video format. The screenshot in Figure 1 shows a possible implementation of this benchmark.



The system uses a multiple document interface, allowing users to edit at the same time several videos. The document windows will show the frames in rows, with a line separating them. If not all of the frames fit in the window, scrollbars appear.

The following actions will be supported (not necessarily with the same name or organization):
File operations

Open animation:

Opens a dialog box allowing the user to specify an MPEG file; then it displays the animation’s frames in a new window.

Save animation:

If the currently selected window is associated with an MPEG file it saves the corresponding animation. Else it opens a Save As dialog.

Save as:

Opens a dialog box allowing the user to specify a file name to save the current window in.

Save all:

Saves all windows.


Closes the current window, prompting the user to save if there was any modification done to the video.

Close all:

Closes all windows.

Save frame:

Opens a dialog box allowing the user to specify a file name to save the current frame as an image file.

Insert frame:

Opens a dialog box allowing the user to specify an image file; then it inserts a new frame based in the contents of the file.

Exit / quit

Closes all the windows and then exits the application. T



Selection operations

Selected frames are represented with a thick border.  The user can point to frames by clicking, or by using the arrow keys and moving a caret. Clicking also moves the caret. The caret may be between frames.

Select frame:

Unselects the previous selection and selects the current frame.

Select frames:

Dragging the mouse while selecting allows multiple frame selection; also clicking outside of a frame dragging creates a bounding box.

Selection Modifiers

Extend selection:

Pressing shift (or other key) while selecting a frame extends the selection to the selected frame, including all the frames in between.

Toggle selection:

Pressing control (or other key) while selecting inverts the selected status of the frames.



Edit operations


When dragging a selection the caret appears between the frames the pointer is on; if the user drops the selection there, all the selected frames are moved to the new position. Frames may be moved from one window to another.



Move and copy:

Pressing control (or other key) when moving a selection actually makes a copy of the selected frames.




Moves the selected frames to the clipboard.


Puts a copy of the selected frames into the clipboard.


Copies the frames in the clipboard into the caret or replacing the selected frame.


Deletes the selected frames.


Undoes the last action that isn’t already undone.


Redoes the last action that was undone if no new action has taken place.



Grouping Operations

Even a short animation may contain hundreds or thousands of frames. Grouping frames may be a way to handle scalability. When loading a large animation the system automatically groups sets of frames by key frames or seconds. This feature would also allow grouping full scenes and the like, making the edition more natural. Grouped frames would look like a small stack with only the first frame visible, and would respond to actions like copy, move and delete as a whole. Groups may contain recursively other groups.


Groups the selected frames. Each sequence of contiguous selection becomes one new group.


Any group in the selection is ungrouped.

Group every…:

Groups all the frames into groups with a size (in seconds or number of frames) specified by the user.



Other operations


The contents of one window may be played as a continuous animation in a pop up window. The caret/selection follows the animation (the frame being displayed). This may not be in real time.


The frames may be scaled to a different size.


The document windows may be minimized, arranged and tiled.


Figure 1 Artist's rendition of the benchmark, showing one animation window (with its frames displayed in two rows and no frame groups).