 |
» |
|
|
 |
The scenarios in this section illustrate how the ToolTalk
service helps users solve their work problems. The message protocols
used in these scenarios are hypothetical. Using the ToolTalk Desktop Services Message Set |  |
The ToolTalk Desktop Services Message Set allows an application
to integrate and control other applications without user intervention.
This section illustrates two scenarios that show how the Desktop
Services Message Set might be implemented. A common user requirement for a graphic user interface (GUI)
front-end is the ability to have data files be aware (or "know")
of their applications. To do this, an application-level program
is needed to interpret the user's requests. An example of this application-level
program (known as smart desktops) is the Common Desktop Environment
(CDE) File Manager. The key common requirements for smart desktops
are: Takes a file. Determines its application. Invokes the application.
The ToolTalk Service encompasses additional flexibility by
allowing classes of tools to edit a specific data type. The following
scenario illustrates how the Desktop Services Message Set might
be implemented as a smart desktop transparent to the end-user. Quinn double-clicks the File Manager
icon. The File Manager opens and displays the files in Quinn's
current duirectory. Quinn double-clicks an icon for a data file. Quinn manually edits the file.
Another significant application for which the Desktop Services
Message Set can be implemented is integrated toolsets. These environments
can be applied in vertical applications or in horizontal environments
(such as compound documents). Common to both of these applications
is the premise that the overall solution is built out of specialized
applications designed to perform one particular task well. Examples
of integrated toolset applications are text editors, drawing packages,
video or audio display tools, compiler front-ends, and debuggers.
The integrated toolset environment requires applications to interact
by calling on each other to handle user requests. For example, to
display video, an editor calls a video display program; or to check
a block of completed code, an editor calls a compiler. The following
scenario illustrates how Desktop Services Message Set might be implemented
as an integrated toolset: Kaia is working on a compound document
using her favorite editor. She decides to change some of the source
code text. Kaia double-clicks the source code text. The Document Editor first determines
that the text represents source code and then determines what file
contains the source code. The Document Editor first determines that the text
represents source code and then determines what file contains the
source code. The ToolTalk session manager matches the pattern
in the edit message to a registered application (in this case, the
Source Code Editor), and finds an instance of the application running
on Kaia's desktop.  |  |  |  |  | NOTE: If the ToolTalk session manager does not find a running
instance of the application, it checks the statically defined ptypes
and starts an application that best matches the pattern in the message.
If none of the ptypes match, the session manager returns failure
to the File Manager application. |  |  |  |  |
The Source Code Editor accepts the edit message
request. The Source Code Editor determines that the source
code file is under configuration control, and sends a messgae to
check out the file. The Source Code Control application accepts the
message and creates a read/write copy of the requested file. It
then passes the name of the file back to the Source Code Editor. The Source Code Control Editor opens a window that
contains the source file.
Kaia edits the source code text.
Using the ToolTalk Document and Media Exchange Message
Set |  |
The ToolTalk Document and Media Exchange Message Set is very
flexible and robust. This section illustrates three applications
of the ToolTalk Document and Media Exchange Message Set: Integrating multimedia into an authoring
application. Adding multimedia extensions to an existing application. The Source Code Control application accepts the
message and creates a read/write copy of the requested file. It
then passes the name of the file back to the Source Code Editor. Extending the cut and paste facility of X with a
media translation facility.
Integrating Multimedia Functionality Integrating multimedia functionality into an application allows
end-users of the application to embed various media types in their
documents. Typically, an icon that represents the media object is embedded
in the document. Upon selection of an embedded object, the ToolTalk
service automatically invokes an appropriate external media application
and the object is played as illustrated in the following scenario. Dana opens a document that contains multimedia objects. Dana opens a document that contains multimedia objects. Dana double-clicks the sound icon. A sound application
(called a player) is launched and the embedded recording is played. To edit the recording, Dana clicks the icon to select
it and uses the third mouse button to bring up an Edit menu. An
editing application is launched and Dana edits the media object
Adding Multimedia Extensions to Existing ApplicationsThe ToolTalk Document and Media Exchange Message Set also
allows an application to use other multimedia applications to extend
its features or capabilities. For example, a calendar manager can
be extended to use the audiotool to play a sound file as a reminder
of an appointment, as illustrated in the following scenario: Mollie opens her calendar manager and sets an appointment. Mollie clicks an audio response button, which causes
the soundtool to pop up. Mollie records her message; for example, "Bring
the report." When Mollie's appointment reminder is executed,
the calendar manager will start the audiotoolk and play Mollie's
recorded reminder.
Extending the X Cut and Paste FacilityThe ToolTalk Document and Media Exchange Message Set can support
an extensible, open-ended translation facility. The following scenario
illustrates how an extensible multimedia cut and paste facility
could work: Art opens two documents that are different media types. Art selects a portion of Document A and cuts the
portion using the standard X-windowing cut facility. Art then pastes the cut portion into Document B.
Document B negotiates the transfer
of the cut data with Document A. If Document B does not understand any of the types
offered by Document B, it requests a tagged media type.
Document B uses the tagged media type to broadcast a ToolTalk message
requesting a translation of the media type to a media type it understands. A registered translation utility accepts the request
and returns the translated version of the media type to Document
B. The paste of the translated data into Document B
is performed.
|