Chapter 7. Data Transfer

The user interacts with elements, such as objects, data, and menu items, to perform tasks. This chapter describes the basic interactions the user performs and discusses the techniques for accomplishing those interactions, including drag and drop and clipboard transfer.

Transferring Data

Data transfer refers to how a user manipulates data, including:

  • Moving elements

  • Copying elements

  • Creating elements

  • Deleting elements

  • Sharing elements

  • Linking elements

This section describes these data transfer interactions. “Using Transfer Techniques” describes the transfer techniques.

Moving Elements

A user moves elements to change their location. For example, the user can move a file to a new directory, move a graphic to a different position in a piece of artwork, or move text to a different section in a letter.

The user moves an object by pressing the SELECT button, dragging the object under the pointer, and releasing the SELECT button as shown in Figure 7-1.

Figure 7-1. Moving an Element


Copying Elements

A user copies an element in order to work with a duplicate while keeping the original element intact. For example, the user might copy a file into a different directory (or folder) as a backup of the original, copy a graphic from one piece of art into another as a logo, or copy text from one letter into another letter.

Figure 7-2 illustrates copying an object from one folder to another folder.

Figure 7-2. Copying an Element


Creating Elements

A user can create new elements from existing elements. This is different from copying elements in that new information is generated at the time of creation. For example, a user can create a new memo from an existing memo and use new, system-generated information, such as the time and date, or add a name and address to the heading of the memo. A user can create an object by using the original object as a template or by requesting a new object from an application.

Figure 7-3 illustrates creating a new folder element.

Figure 7-3. Creating a New Element


Deleting Elements

Deleting elements removes unwanted elements. For example, a user can drag a document to a trash can icon to delete it or press the Delete key to delete a character in the text of the document.

Figure 7-4 illustrates deleting an element.

Figure 7-4. Deleting an Element


Sharing Elements

A user can share an element to make it accessible from multiple locations. For example, the user can share a spreadsheet in a composite document. When the user simply copies the spreadsheet, any changes to the original are not reflected in the copy. When the user specifies the spreadsheet as a shared element, any changes in the original are reflected in the shared version.

Linking Elements

Linked elements have established relationships between them. The exact functions of the links can vary. For example, your application may let the user create a link in the target element to a selected source object or to a region of selected data in the source. Within the target, you can represent the link as an icon. The user can then use the link to view the current contents of the source object or the selected region. Alternately, the application can immediately display the link in the target element as a shared view of the object contents or the selected region.

You should associate selected data in the source object with related data (which is often of a different type) in the target data. Changes to the source data are reflected in the target data (and possibly vice versa). For example, when the user links a graph object to a spreadsheet object, any changes made to the graph will cause changes to the spreadsheet data.

Create a hypertext link in the target to information selected in the source. This link will allow the user to navigate from one to the other. For example, a user might create a link within a letter to a graph that is in a different file. Any changes made to the graph within the letter are also made to the graph at its source.

Using Transfer Techniques

Depending on the number of intervening steps the user must take to complete a transfer operation, transfer techniques span two categories: direct manipulation and indirect manipulation.

Direct manipulation 

Allows the user to perform actions on elements by interacting directly with the elements. Dragging an element with a mouse and dropping it onto another element is one form of direct manipulation.

Direct manipulation is similar to interacting with things in the real world; when users need to throw something away, they simply pick it up and put it in a trash can. Similarly, users can drag a file and drop it on a trash can icon in the interface. Direct manipulation is usually more efficient than performing the equivalent actions through navigating menu items.

Indirect manipulation 

Allows the user to interact with an element through controls (push buttons, dialog boxes, and so forth) and menus.

By using a keyboard exclusively, a user can obtain results equivalent to those available through direct manipulation.

Direct and indirect manipulation represent two ends of a range. In reality, manipulation techniques often fall somewhere between direct and indirect manipulation. For example, using a pop-up menu is more direct than using other kinds of menus, but it is less direct than dragging an element.

Transfer techniques fall into the following range, from direct to indirect manipulation:

  1. Drag and drop

  2. Primary transfer

  3. Quick transfer

  4. Clipboard transfer

Drag and Drop

Drag and drop provides a quick and simple method of transferring data. The technique is called drag and drop because it involves moving an element from one place (dragging) and leaving it at another (dropping). The user can drag and drop single or multiple elements.

The result of a drag and drop depends on the relationship between the source element and the target element.

Source element 

A source element is usually an item that contains information to be transferred.

Target element 

A target element is usually an item that the user is transferring information to.

Within a collection (set of elements), the user can either drag a selected subset of elements, a single unselected element, or the entire collection depending on the following:

  • In text-like collections, initiating a drag in a selected region drags the text selection (including all pieces if it is discontiguous).

  • In list-like and graphics-like collections, initiating a drag on a selected element drags the entire selection.

  • In list-like and graphics-like collections, initiating a drag on an unselected element drags just that element. If the collection contains a selection, the selection must not be affected (except if the drop occurs in the same collection).

  • In list-like and graphics-like collections, initiating a drag in the background of a contiguous selected region drags the selection.

Figure 7-5 illustrates dragging a file into a trash can.

Figure 7-5. Drag and Drop

For more information, see the Data Transfer, Direct Manipulation , and Drag and Drop Transfer reference pages.

Primary Transfer

Primary transfer allows the user to transfer a primary selection from a source directly to a destination without dragging it and without using a storage mechanism, such as a clipboard. There are three primary transfer operations: primary copy, primary link, and primary move.

For example, a user can select a paragraph in help text, move the mouse pointer to the target area in another window, and transfer the paragraph by pressing the TRANSFER button.

Figure 7-6 illustrates a primary transfer.

Figure 7-6. Primary Transfer

For more information, see the Primary Transfer reference page.

Quick Transfer

Quick transfer allows the user to make a temporary selection that does not affect the current selection within the scope of selection. The user can then immediately copy, move, or link that selection to the insertion point in the control in which the user is interacting. There are three quick transfer operations: quick copy, quick cut (or quick move), and quick link.

Figure 7-7 illustrates a quick transfer.

Figure 7-7. Quick Transfer

For more information, see the Quick Transfer reference page.

Clipboard Transfer

The clipboard is an area of storage provided by the operating system to hold data temporarily. A user can cut, copy, and paste elements to and from the clipboard. For example, the clipboard can hold a single line of text or an entire document, a single data record or an entire database, a single line segment or an entire graphic.

The user can perform the clipboard transfer operations cut, copy, and paste from the Edit menu. Standard keyboard bindings must also be available in every editable data collection.

Except when necessary to prevent the corruption of data, you should not restrict the user from placing any elements or parts of elements onto the clipboard.

Figure 7-8 illustrates a clipboard transfer.

Figure 7-8. Clipboard Transfer

For more information, see Appendix B, “Keyboard Model and Key Bindings” and the Clipboard and Cut, Copy, Paste reference pages.