TELESCRIPT: THE FOUNDATION FOR THE ELECTRONIC MARKETPLACE GENERAL MAGIC, INC.
TELESCRIPT WHITE PAPER #1 PAGE 1
Telescript
The Foundation for the Electronic Marketplace
30 November 1993
James E. White
General Magic, Inc.
Contents
Contents ............................................................................................................... 1	
Introduction ......................................................................................................... 3	
New Products .............................................................................................................. 3	
New Applications ........................................................................................................ 3	
New Network............................................................................................................... 3	
Telescript Advantages......................................................................................... 4	
Current Approach ....................................................................................................... 4	
New Approach ............................................................................................................. 5	
New Approach in Reverse........................................................................................... 5	
Tactical Advantage ..................................................................................................... 6	
Strategic Advantage ................................................................................................... 6	
Telescript Concepts ............................................................................................. 7	
Places........................................................................................................................... 7	
Agents.......................................................................................................................... 8	
Travel........................................................................................................................... 8	
Meetings ...................................................................................................................... 9	
Connections ............................................................................................................... 10	
Putting Things Together .......................................................................................... 11	
Safety Precautions............................................................................................. 11	
Interpretation............................................................................................................ 11	
Credentials ................................................................................................................ 12	
Permits ...................................................................................................................... 13	
The Telescript System....................................................................................... 14	
Telescript Language ................................................................................................. 14	
Telescript Engine ...................................................................................................... 15	
Telescript Protocols................................................................................................... 16	
Telescript Products ................................................................................................... 17	
Three Asides ...................................................................................................... 18	
Network Management .............................................................................................. 18	
Electronic Mail.......................................................................................................... 18	
The Enterprise .......................................................................................................... 19	
Conclusion.......................................................................................................... 20
TELESCRIPT: THE FOUNDATION FOR THE ELECTRONIC MARKETPLACE GENERAL MAGIC, INC.
TELESCRIPT WHITE PAPER #1 PAGE 2
Foundation ................................................................................................................ 20	
Construction.............................................................................................................. 20	
Getting Started ......................................................................................................... 21
TELESCRIPT: THE FOUNDATION FOR THE ELECTRONIC MARKETPLACE GENERAL MAGIC, INC.
TELESCRIPT WHITE PAPER #1 PAGE 3
Introduction
New Products
The economics of computing, the convergence of computers and communica-
tion, and recent advances in graphical user interfaces enable powerful new
electronics products1 to be placed in the hands of the consumer. Personal
digital assistants, or personal intelligent communicators as we call them
here, provide one example. Intelligent televisions, providing access to vast
amounts of scheduled program material and video on demand, offer another.
In principle, such products could put people in closer touch with one another
(e.g., by means of electronic postcards), simplify their relationships (e.g., by
helping them make and even keep appointments), provide them with infor-
mation (e.g., television schedules, traffic conditions, restaurant menus, and
stock market results), and assist them in carrying out financial transactions
(e.g., purchase theater tickets, order flowers, and buy and sell stock).
New Applications
Devices alone will not deliver to the consumer services like those above. Also
required is a new breed of computer software we call the communicating ap-
plication. Unlike the word processing and spreadsheet programs of today’s
personal computer, communicating applications will adeptly use the commu-
nication infrastructure, to which the new devices will provide access, to find
and interact with people and information, on the consumer’s behalf.
Communicating applications will have qualities of timeliness and effective-
ness that today’s uncommunicative applications do not. One such application
would maintain my stock portfolio, buying and selling stock under conditions
that I establish for it in advance. Another might arrange—every Friday
evening—that a romantic comedy it selects is ready for viewing on my televi-
sion, and that my favorite pizza (no surprises here) is delivered to my door.
New Network
Today’s communication infrastructures, or networks, pose a barrier to the de-
velopment of communicating applications. The barrier stems from the need
for such applications to distribute themselves among the computers that are
dedicated to individual users and the computers that users share, the servers.
The barrier posed by a nationwide public network is insurmountable. While a
user of an enterprise network might be allowed to install any application he
or she wishes on her own desktop computer, and while she even might suc-
ceed in persuading her network administrator to install a new application on
the departmental servers, a user of a public network would quickly find that
no amount of cajoling would suffice to get her software onto a public server.
1 Some of these products will employ Magic Cap™, a software
platform from General Magic that makes computer technology
accessible to the consumer.
TELESCRIPT: THE FOUNDATION FOR THE ELECTRONIC MARKETPLACE GENERAL MAGIC, INC.
TELESCRIPT WHITE PAPER #1 PAGE 4
The information superhighway will languish if third-party developers are not
engaged in its development as they were in the development of the personal
computer—if only because the network will respond much too slowly to new
requirements. The state-of-the-art in networking, however, creates a conflict
making such participation impossible. The developer of the application that
manages my stock portfolio would require that I place, outside of my personal
communicator and inside a public server, the part of the application that
monitors the market. The company operating the public server, however, can-
not reasonably provide me with such access to its critical shared resource.
General Magic has developed a software technology that resolves this
conflict. That technology, Telescript, enables the creation of a new breed of
network that supports the development of communicating applications by
making the network a platform for developers. Telescript provides the “rules
of the road” for the information superhighway, which leads to the electronic
marketplace.
Telescript Advantages
Current Approach
Today networking is based upon remote procedure calling (RPC). A network
carries messages—data—which either request services or respond to such re-
quests. The sending and receiving computers agree in advance upon the mes-
sages they will exchange. Such agreements constitute a protocol.
A client computer with work for a server computer to accomplish orchestrates
the work with a series of remote procedure calls. Each call comprises a re-
quest, sent from client to server, and a follow-up response, sent from server to
client. To delete from a file server, for example, all client files that are at
least two weeks old might require one call to list the files and to obtain their
dates of modification, and a subsequent call for each file to be deleted. The
analysis that determines which files are old enough to delete is done by the
client. If there are N old files, a total of 2(N+1) messages must be sent and re-
ceived.
Client Service
PC Server
Network
The salient characteristic of remote procedure calling is that each interaction
between client and server entails two acts of communication, the first to ask
the server to carry out a task, the second to inform the client that indeed the
server did what was asked of it. Thus interaction requires ongoing communi-
cation.
TELESCRIPT: THE FOUNDATION FOR THE ELECTRONIC MARKETPLACE GENERAL MAGIC, INC.
TELESCRIPT WHITE PAPER #1 PAGE 5
New Approach
A different approach to networking is remote programming (RP). The net-
work carries objects—data and procedures—which the receiving computer
executes. We call such objects agents to highlight the fact that they act on
behalf of the sending computer even while in the receiving computer.
To execute an agent is to perform its procedure in the context of its data. The
procedure is a sequence of instructions, each chosen from a set of allowed in-
structions. Some instructions enable the agent to examine and modify its
data. Others enable the agent to make requests of the service and to obtain
the service’s responses—as if the agent and service were exchanging mes-
sages. Still other instructions enable the agent to make decisions which influ-
ence its behavior. The two computers agree in advance upon the instructions
from which procedures are formed. Such agreements constitute a language.
A client computer with work for a server computer to accomplish orchestrates
the work by sending to the server an agent whose procedure makes the re-
quired requests (e.g., “delete”) using the data (e.g., “two weeks”). Deleting the
old files—no matter how many—requires just the message that transports
the agent between computers. All of the orchestration, including the analysis
deciding which files are old enough to delete, is done “on-site” at the server.
Service
PC Server
Network Client
Agent
The salient characteristic of remote programming is that client and server
computers can interact without the network’s help once it has transported an
agent between them. Thus interaction does not require ongoing communica-
tion.
New Approach in Reverse
The opportunity for remote programming is bi-directional. Server computers,
like client computers, can have agents, and a server agent can transport itself
to and from a client computer. Imagine, for example, that a client computer
makes its graphical user interface accessible to server agents. The client
computer might do this, for example, by accepting a form from a server agent,
displaying the form to the user, letting the user fill it out, and returning the
completed form to the agent. The completed form might instruct a file
server’s agent to retrieve files meeting specified criteria.
TELESCRIPT: THE FOUNDATION FOR THE ELECTRONIC MARKETPLACE GENERAL MAGIC, INC.
TELESCRIPT WHITE PAPER #1 PAGE 6
Server
Service
Agent
PC
Client
Network
Tactical Advantage
The new approach offers a tactical advantage, one of performance. Rather
than “shout” commands across a network, an agent transports itself to the
computer where work must be done and directs the work locally, rather than
remotely. Thus the network is called upon to carry fewer messages. The more
work the agent must do, the more messages remote programming avoids.
The performance advantage of remote programming depends partly upon the
network: the lower its throughput or the higher its latency or cost, the great-
er the advantage. The public telephone network presents a greater perfor-
mance improvement opportunity than does an Ethernet. Current wireless
networks provide greater opportunities still. Thus remote programming is
well suited to personal communicators, whose networks are slower and more
expensive than those, for example, of personal computers in an enterprise.
Remote programming is especially well-suited to computers that are con-
nected to a network not permanently, but rather only occasionally. If a user
instructs an agent to carry out a task—or a long sequence of tasks—the
user’s computer must be connected to the network only long enough to send
the agent on its way and, later, welcome it home. It need not be connected
while the agent actually carries out its assignment. Thus remote program-
ming enables occasionally connected devices to do things that would be pro-
hibitively expensive with remote procedure calling. Thus the new approach
provides to such devices a qualitative, not just a quantitative advantage.
Note that personal communicators—especially wireless ones—fall into this
category.
Strategic Advantage
The new approach offers a second advantage, one with far reaching implica-
tions. This strategic advantage is customization. With agents, manufacturers
of client software can extend the functionality offered by manufacturers of
server software. If a file server, for example, provides one operation for listing
files and another for deleting a file by name, a client can add to that reper-
toire an operation that deletes all old files. The new operation, which takes
the form of an agent, effectively customizes the server for that client. In a
similar way, manufacturers of server software can extend the functionality
offered by manufacturers of client software. A file server might provide an
agent that effectively extends a client user interface to encompass filing.
TELESCRIPT: THE FOUNDATION FOR THE ELECTRONIC MARKETPLACE GENERAL MAGIC, INC.
TELESCRIPT WHITE PAPER #1 PAGE 7
The remote procedure call paradigm assumes that programs are immobile.
Thus each component of a distributed or communicating application is stati-
cally installed on a client or server computer. Remote programming enables
programs to move between computers. Thus a communicating application,
statically installed on a client computer, for example, can dynamically install
its server components on the appropriate server computers.
The advantage of remote programming is significant in an enterprise net-
work, but profound in a public one whose servers are owned and operated by
public service providers. In a public network based upon remote procedure
calling, introducing a new communicating application requires a business de-
cision, for example, on the part of CompuServe™. A network using remote
programming requires a buying decision on the part of one user. Remote pro-
gramming thus makes a network, like a personal computer, a platform.
Telescript Concepts
Places
Telescript seeks to integrate an electronic world of computers and the net-
works that interconnect them. The computers include everything from per-
sonal intelligent communicators to mainframes. The networks include both
local and wide area networks, public and private. We describe the Telescript
world as an electronic marketplace, because, in practice, Telescript might pro-
vide a setting within which providers and consumers of goods and services,
both electronic and physical, could find and interact with one another. In-
deed, such a marketplace is the ultimate expression of the Telescript vision.
The electronic marketplace is full of Telescript places. One place, represent-
ing home, might exist in a user’s communicator. Another place, representing
an electronic shopping center, might exist in a mainframe operated by a pub-
lic service provider (e.g., AT&T). Places can be nested. Thus the shopping
center might have interior places (three of which are illustrated). A ticketing
place might enable the purchasing of tickets to theater and sporting events, a
florist place the purchasing of flowers. Since these goods are physical, not
electronic, they must be delivered by physical means (e.g., the mail). A direc-
tory place might list and describe the other places in the shopping center.
Electronic Shopping CenterHome Shopping
Application
FloristTicketron
Directory
PIC Mainframe
Network
Telescript places lend structure and consistency to the electronic market-
place. As illustrated above, they provide venues for the provision of services
of all kinds. Each place represents, in the electronic world, an individual or
TELESCRIPT: THE FOUNDATION FOR THE ELECTRONIC MARKETPLACE GENERAL MAGIC, INC.
TELESCRIPT WHITE PAPER #1 PAGE 8
organization—the place’s authority—in the physical world. Several places
may have the same authority. A place’s authority is revealed by its telename.
Telescript is a programming language, and places are programmed in it.
Agents
A place is occupied by Telescript agents. Whereas places give the electronic
marketplace its static structure, agents are responsible for its dynamic activ-
ity. Agents transact the business for which the marketplace is designed.
The typical Telescript place is occupied by a Telescript agent of the place’s
authority2. The ticketing place, for example, is managed by an agent that can
provide information about events and that can sell tickets to those events.
The florist place, in a similar way, is overseen by an agent that knows about
flowers and floral arrangements and that can initiate their delivery. The di-
rectory agent offers information about the shopping center itself, for example,
directions to its other places, and thus to the agents those places contain. A
user’s home place is occupied by one or more agents representing that user.
Telescript agents, as the illustration suggests, represent potential providers
and consumers of goods and services. Like a place, an agent has a telename
which discloses its authority. Several agents may share that authority.
Electronic Shopping CenterHome Shopping
Application
FloristTicketron
Directory
PIC Mainframe
Florist
Sales
Ticketron
SalesMall
Jim
White
Network
A Telescript agent is an independent process. The Telescript environment ex-
ecutes the programs of the various agents that occupy the marketplace in
parallel with one another. The purpose and progress of one agent, therefore,
have no influence, in general, over the purpose and progress of another.
Agents, like places, are programmed in Telescript.
Travel
As described so far, the electronic marketplace is full of potential energy but
devoid of kinetic energy. The marketplace is in tension because the agents of
would-be buyers and sellers are separated by networks. The most important
characteristic of the Telescript language, by far, is that it enables this tension
to be resolved. Buyers’ and sellers’ agents can find one another by traveling.
2 This situation is so common that Telescript allows this one
agent’s functionality to be incorporated in the place, so that a
separate agent is not required.
TELESCRIPT: THE FOUNDATION FOR THE ELECTRONIC MARKETPLACE GENERAL MAGIC, INC.
TELESCRIPT WHITE PAPER #1 PAGE 9
Every Telescript agent can transport itself from one place in a network to an-
other. An agent travels to obtain a service offered remotely and to return to
its starting place. A user’s agent, for example, might travel from home to a
ticketing place to obtain two orchestra seats for Phantom of the Opera.
Electronic Shopping CenterHome Shopping
Application
FloristTicketron
Directory
PIC Mainframe
Florist
Sales
Ticketron
SalesMall
Jim
White
Network
An agent travels using go, an instruction drawn from the Telescript instruc-
tion set. The agent must present a ticket in order to travel. The ticket identi-
fies the agent’s destination, for example, using its telename. It specifies the
terms under which the trip is undertaken, for example, the time within which
it must be completed and possibly the means (e.g., wireless) by which it must
be made. If the trip fails (e.g., because it takes too long), Telescript so informs
the agent, which handles the situation programmatically however it sees fit.
An agent executes go whenever it must get from one place to another. As a
consequence of go, the next instruction in the agent’s program is executed at
the agent’s destination, not at its source. Thus Telescript reduces networking
to a single program instruction. To the programmer it’s like magic.
Meetings
Once in the same Telescript place, two Telescript agents can interact. Agents
interact so that one can obtain a service from the other. In the example we’ve
been exploring, the ticketing agent is designed to provide information about
theater tickets, a service involving information exchange. The ticketing
agent, however, also is prepared to provide (with help from the postal system)
the theater tickets themselves. This second service goes beyond information
exchange; it involves transactions. As in this example, electronic transactions
between agents can stand for and imply financial transactions between the
agents’ authorities. Thus the Telescript world can influence the real world.
Two agents must meet before they can interact. One agent initiates the meet-
ing using meet, an instruction in the Telescript instruction set. The second
agent, if present, accepts or declines the meeting (using another Telescript in-
struction). The agent initiating the meeting presents a petition. The petition
identifies the other agent, for example, by telename and specifies the terms of
the meeting, for example, how long one agent will wait for the other. If the
meeting fails, Telescript so informs the agent that initiated the meeting, and
that agent handles the situation programmatically however it wishes.
TELESCRIPT: THE FOUNDATION FOR THE ELECTRONIC MARKETPLACE GENERAL MAGIC, INC.
TELESCRIPT WHITE PAPER #1 PAGE 10
Electronic Shopping CenterHome Shopping
Application
FloristTicketron
Directory
PIC Mainframe
Florist
SalesMall
Ticketron
Sales
Jim
White
Network
An agent executes meet whenever it wants another agent’s help. As a conse-
quence of meet, the agents receive references to one another. The references
let them interact as peers using object-oriented programming techniques.
Connections
While in the same place, two agents interact by meeting. While in different
places, they interact by communicating. Agents communicate to exchange in-
formation, often for the benefit of a human user who is “browsing”. The agent
sent to purchase theater tickets, for example, might send, to an agent left at
home, a diagram of the theater that shows the seats still available. The agent
at home might present the floor plan to the user, allow him or her to indicate
the seats she prefers, and then send their locations to the agent on the road.
Two agents communicate via a connection between them. Using Telescript in-
structions, one agent requests the connection, the other accepts or declines it.
The initiating agent identifies the responding agent, the place the latter oc-
cupies, and the quality of service required of the connection. Once estab-
lished, the connection carries Telescript objects between the two agents.
If agents represent the newest communication paradigm, connections repre-
sent the oldest. Telescript makes both available for use in an integrated way.
Often, as in the illustration, the two agents that create and use a connection
are of the same authority and are parts of the same communicating applica-
tion. As a result, the protocol that governs the connection’s use is of concern
to the application’s designer alone; the protocol need not be standardized.
Directory
Electronic Shopping CenterHome Shopping
Application
FloristTicketron
PIC Mainframe
Florist
SalesMall
Ticketron
Sales
Jim
White
Jim
White
Network
TELESCRIPT: THE FOUNDATION FOR THE ELECTRONIC MARKETPLACE GENERAL MAGIC, INC.
TELESCRIPT WHITE PAPER #1 PAGE 11
Putting Things Together
The power of Telescript and its remote programming paradigm is fully appar-
ent only when one considers an agent whose program uses several basic ser-
vices in combination. Such an agent itself can provide a higher-level, compos-
ite service using the basic services as raw materials.
An agent, for example, can travel to several places in succession. It might
link trips in this way to obtain several services or to select one from among
them. Booking theater tickets, for example, might be only the first task on
our user agent’s to-do list. The second might be to travel to the florist place
and there arrange for a dozen roses to be delivered the day of the theater
event. The agent would use the results of its interaction with the ticketing
agent—namely, the day for which it obtained tickets—to influence its
interaction with the florist agent.
Electronic Shopping CenterHome Shopping
Application
FloristTicketron
Directory
PIC Mainframe
Florist
Sales
Ticketron
SalesMall
Jim
White
Network
This simple example has broad implications. Built to understand the
separate concepts of tickets and flowers, the shopping center has later come
to understand the higher-level concept of a special occasion, which involves
both tickets and flowers. This increased understanding was achieved not by
changing the shopping center, but by using it in a more sophisticated way.
Alternatively, a new place indeed might be added to the shopping center. It
would be in the business of arranging special occasions for others. A variant
of the user agent that arranged the date in our example might do nicely as its
proprietor.
Whether as shopper or shopkeeper, a Telescript agent emanating from a per-
sonal communicator can extend the functionality of the value-added commu-
nication services to which the communicator has access, provided those ser-
vices are implemented using Telescript. The agent originates as part of a
communicating application which the user purchases and installs on his or
her personal communicator. Thus Telescript makes the whole network, not
just one of the computers attached to it, a platform for such applications.
Safety Precautions
Interpretation
People have difficulty conceiving of things for which words do not exist. Their
thinking, and often their behavior, are constrained by their vocabulary. In
Telescript, this is true to an extreme degree and in a rigorous way.
TELESCRIPT: THE FOUNDATION FOR THE ELECTRONIC MARKETPLACE GENERAL MAGIC, INC.
TELESCRIPT WHITE PAPER #1 PAGE 12
The Telescript language is interpreted rather than compiled. The instructions
from which a place’s or agent’s program is constructed are not those of any
“real” computer, nor are the objects the program manipulates those of any
“real” operating system. Thus, Telescript places and agents lack even the vo-
cabulary required to directly examine or modify the memory, file system, or
other physical resources of the computers on which they execute.
Viruses are often discussed in the trade press these days. A virus is an un-
seen and unwanted program that insinuates itself into a computer and does
damage there. The typical virus is parasitic, attaching itself to an existing
program and, by means of that program, avoiding detection. Programs writ-
ten in Telescript lack the essential characteristics of a virus: access to the
physical resources of their host computer and invisibility, or anonymity. The
subjects of anonymity—and its antithesis, identification—are discussed fur-
ther below.
Credentials
Every Telescript place or agent, as already described, represents an individ-
ual or organization in the physical world, from which its authority derives. A
place’s or agent’s authority, as well as its identity, are revealed by its tele-
name, which distinguishes the place or agent from others in the marketplace.
It’s one thing to claim a particular authority, or identity, and another to actu-
ally have it. Telescript requires that such things be proved. In the electronic
marketplace, highly reliable—cryptographic—forms of proof are demanded.
Because agents move, their authorities and identities are of special concern.
An agent must prove them at various turning points in its life. In particular,
an agent’s authority and identity must be reestablished whenever the agent
goes from one region of the marketplace to another, a region being a set of
Telescript places all operated by the same individual or organization. The
destination region denies the agent entry unless its credentials are in order.
Electronic Shopping CenterHome Shopping
Application
FloristTicketron
Directory
PIC Mainframe
Florist
Sales
Ticketron
SalesMall
x
Network
An agent’s credentials play a crucial role in the electronic marketplace. They
enable a shopkeeping agent to bill a shopping agent for services rendered.
They enable the shopkeeper to provide the shopper with personalized service
or deny it service altogether. More fundamentally, an agent’s credentials pre-
vent viruses by denying agents the anonymity characteristic of viruses.
TELESCRIPT: THE FOUNDATION FOR THE ELECTRONIC MARKETPLACE GENERAL MAGIC, INC.
TELESCRIPT WHITE PAPER #1 PAGE 13
Permits
Every Telescript place or agent has a permit which limits its capabilities in
the electronic marketplace. Permits help protect the marketplace from mali-
cious or misprogrammed agents by preventing their unbridled consumption
of resources. Permits also protect the authorities under which agents operate
by providing misprogrammed agents with a safety net.
Because agents move, their permits, like their credentials, are of special con-
cern. An agent’s permit is established when the agent is created programmat-
ically, and is renegotiated whenever the agent travels between regions. The
destination region may deny the agent capabilities that it received at birth as
long as the agent is in that region. (The region may not extend the agent’s ca-
pabilities, however.) The region denies the agent entry unless it agrees to the
restrictions the region imposes. When the agent eventually leaves the region,
the restrictions are lifted (although those of another region are imposed).
Electronic Shopping CenterHome Shopping
Application
FloristTicketron
Directory
PIC Mainframe
Florist
SalesMall
Ticketron
Sales
Jim
White
x
Network
Two kinds of capability are granted an agent by its permit. One kind is the
right to use a certain Telescript instruction. An agent in the role of shop-
keeper, for example, typically is denied the use of the go instruction. Another
kind of capability is the right to use a particular Telescript resource, but only
in a certain amount. An agent is granted, among other things, a maximum
lifetime, measured in seconds (e.g., a 5-minute agent), a maximum size, mea-
sured in bytes (e.g., a 1K agent), and a maximum overall expenditure of re-
sources, the agent’s allowance, measured in teleclicks (e.g., a 50¢ agent3).
The Telescript engine that supports an agent constantly monitors its resource
consumption. If the agent exceeds any of its quantitative limits, the engine
destroys the agent unceremoniously (as shown). No grace period is extended.
As Ross Perot might say, the agent has “no place to run, no place to hide”.
An agent’s permit plays an important role in the electronic marketplace by
enabling the agent’s authority to constrain the agent’s activities a priori.
3 In theory, the teleclick is an abstract unit of measurement. In
practice, however, an “exchange rate” between teleclicks and
money is established.
TELESCRIPT: THE FOUNDATION FOR THE ELECTRONIC MARKETPLACE GENERAL MAGIC, INC.
TELESCRIPT WHITE PAPER #1 PAGE 14
The Telescript System
Telescript Language
Telescript, first and foremost, is a programming language4 designed by
General Magic to facilitate the development of communicating applications.
Telescript supplements, not replaces, such systems
programming languages as C and C++. The typical
communicating application is written partly in Tele-
script and partly, say, in C. The Telescript parts
have the inherent ability to transport themselves
between computers joined by networks. Thus Tele-
script is a language for remote programming.
Some characteristics of Telescript are shared by
other programming languages. A Telescript pro-
gram, for example, can make decisions, handle ex-
ceptional conditions, schedule its activities, and examine its surroundings. A
Telescript program can gather, organize, analyze, and modify information.
Some types of information are built into Telescript, others defined by the pro-
grammer. These capabilities are what makes Telescript a language.
Other characteristics distinguish Telescript from many—in the last case,
all—other programming languages. Each of these characteristics helps Tele-
script serve its intended purpose as a language for remote programming.
■ Telescript is object-oriented. As in SmallTalk™, for example, the program-
mer defines classes of object (not types of data), one a subclass of another.
Classes provide the basis for program modularity and permit Telescript to be
extended for particular purposes (e.g., electronic mail). Object-orientation is
the state-of-the-art.
■ Telescript is dynamic. A Telescript program can define or discover, and
then use new classes during execution. While exploring the electronic mar-
ketplace, a Telescript agent may encounter an object whose class it’s never
seen. The agent can take the object home, where it continues to function.
■ Telescript is persistent. The data gathered by a program written in a typi-
cal programming language is fragile. If the computer is turned off or crashes,
the data is lost. The program must store data on disk to secure it. A
Telescript program has no such concern. The Telescript engine secures all its
data transparently, even the program counter that marks its point of execu-
tion. Thus a Telescript program persists even in the face of computer failures.
4 Despite its name, Telescript is not a scripting language in the
usual sense of this term. Telescript doesn’t merely allow users to
create macros that direct applications written in “serious”
languages such a C. Telescript enables developers to implement
major components of their communicating applications. Indeed,
entire communicating applications can be written in Telescript
Communicating
Application
Telescript
part
C part
TELESCRIPT: THE FOUNDATION FOR THE ELECTRONIC MARKETPLACE GENERAL MAGIC, INC.
TELESCRIPT WHITE PAPER #1 PAGE 15
■ Telescript is interpreted5. A Telescript program is not executed directly by
a computer, but rather indirectly by another program, the Telescript engine,
written, for example, in C++. The engine interprets the Telescript instruc-
tions that form the program, thereby making it both portable and safe. A
Telescript program can execute anywhere a Telescript engine exists, and the
program is not a virus because it cannot access directly the computer on
which it runs.
■ Telescript, finally, is communication-centric. Just as PostScript™ is de-
signed for describing complex images, and Mathematica™ for performing
complex mathematics, so Telescript is designed for carrying out complex net-
working tasks: navigation, transportation, authentication, access control, etc.
The go and meet instructions, discussed earlier in the paper, are specific ex-
amples.
Telescript Engine
A Telescript agent or place is powerless in the absence of a Telescript engine,
which implements the Telescript language by interpreting programs written
in it. General Magic has developed two implementations of Telescript. One of
these two engines, designed for personal intelligent communicators, is inte-
gral to Magic Cap. The other, designed for use in the construction of public
services and enterprise servers, is written for portability in C++.
A Telescript engine performs several important functions. It maintains one or
more places in the electronic marketplace, as well as the agents that occupy
those places. The engine in a personal communicator might maintain just a
few places and agents, but the engine underlying a value-added communica-
tion service maintains thousands. In either case, the engine backs to disk, or
some other non-volatile storage medium, the places and agents it maintains.
It also executes their programs, concurrently. To do the latter, the engine im-
plements the constructs and features of the Telescript language, in which the
programs are expressed. Finally, a Telescript engine encodes and transports
agents to other engines, whenever they execute the go instruction.
Any Telescript engine—at least conceptually—has three application program
interfaces (APIs). Through them, the engine draws upon the resources of the
computer platform on which it runs. In the C++ implementation of Telescript
alluded to above, these APIs occur in practice, not just in principle. The en-
gine’s reliance upon these APIs is largely responsible for its portability.
5 The Telescript language actually has both compiled and
interpreted forms. A compiler, developed by General Magic,
translates between the two. Programmers employ the compiled
form, but the interpreted form is executed.
TELESCRIPT: THE FOUNDATION FOR THE ELECTRONIC MARKETPLACE GENERAL MAGIC, INC.
TELESCRIPT WHITE PAPER #1 PAGE 16
Places and Agents
Telescript
Engine
Storage
TransportExternal
Applications
APIs
A Telescript engine’s APIs give the engine access to its environment. The
storage API provides access to the platform’s non-volatile store, which the
engine uses so as to preserve the engine’s places and agents, even in the face
of a crash. The transport API provides access to the platform’s communica-
tion media, which the engine uses to send agents to other engines, and to re-
ceive agents from them. The transport API is high-level so that a wide vari-
ety of transport media can be used by means of it. The external applications
API allows the parts of a communicating application written, for example, in
C to create and interact with other parts written in Telescript, and vice versa.
Telescript Protocols
If the electronic marketplace were small enough to be maintained by a single
Telescript engine, it wouldn’t be large enough to be worth visiting, or even
building. Nationwide even to start, the electronic marketplace will be world-
wide eventually. An important part of Telescript, therefore, is the communi-
cation protocols that Telescript engines use to communicate with one
another.
Telescript engines are interconnected so that Telescript agents can be moved
between engines in response to the go instruction. Broadly speaking, the
Telescript protocols operate at two levels. The higher level encompasses the
encoding (and decoding) of agents, the lower level their transport.
TELESCRIPT: THE FOUNDATION FOR THE ELECTRONIC MARKETPLACE GENERAL MAGIC, INC.
TELESCRIPT WHITE PAPER #1 PAGE 17
Places and Agents
Telescript
Engine
Storage
External
Applications
APIs
Agent
Encoding
Agent
Transport
The Telescript encoding rules explain how an agent—its program, data, and
execution state—are encoded for transport, and how parts of the agent some-
times are omitted as a performance optimization. While engines can maintain
agents in their own, private, internal formats (e.g., on a disk), they must
agree upon a standard format for purposes of communication. Loosely
speaking, the Telescript encoding rules occupy the presentation and applica-
tion layers of the seven layer cake of Open Systems Interconnection (OSI)6.
The Telescript platform interconnect protocol (PIP) specifies how an agent’s
encoding, once formed, is transported between engines. It also describes
how—for example, using public key cryptography—the engines authenticate
one another. PIP is designed as a “thin veneer” over any of a wide variety of
communication media, existing and future.
Telescript Products
The Telescript technology is embodied in two products offered by General
Magic. Both involve the portable Telescript engine mentioned already.
The Telescript Developer’s Kit (TDK), which is available for several different
platforms, comprises object code for the Telescript engine and for platform-
specific implementations of its APIs. This product includes the tools, sample
programs, and documentation required to use Telescript to create communi-
cating applications. The product is aimed at developers of such applications.
The Telescript Porting Kit (TPK) comprises source code for the Telescript en-
gine, along with the ancillary software and documentation needed to port the
engine to a new platform. This product is aimed at platform manufacturers.
6 Telescript does not involve OSI protocols. The OSI model is
mentioned here merely to provide a frame of reference for
readers acquainted with OSI.
TELESCRIPT: THE FOUNDATION FOR THE ELECTRONIC MARKETPLACE GENERAL MAGIC, INC.
TELESCRIPT WHITE PAPER #1 PAGE 18
Additionally, General Magic has developed a communicating application that
does personal, intelligent, multi-media messaging. Parts of the application
run on Magic Cap personal communicators, the sources and destinations of
messages. Other parts run on servers, which house the mailboxes through
which messages are routed. This work, along with the Telescript software
that underlies it, is the basis for a consumer messaging service which AT&T
will offer to the public beginning in 1994. Arising from this work are addi-
tional, electronic mail-specific products available from General Magic.
Three Asides
Network Management
The electronic marketplace not only will be hosted by agents acting in the ca-
pacity of shopkeeper, and visited by agents acting in the capacity of shopper.
The electronic marketplace also will be run with the aid of agents acting in
the capacities of operator, administrator, and manager (OAM).
Electronic Shopping CenterHome Shopping
Application
FloristTicketron
Directory
PIC
Mainframe
Florist
Sales
Ticketron
SalesMall
Jim
White
OAM
Network
Manager
Network
Admin.
Network
Operator
Network
Much like the staff at Disneyland occupy subterranean places and corridors
while not “on stage” at street level, so network management places, to which
access is restricted, will exist invisibly within the electronic shopping center.
Network management agents will inspect and adjust the shops above them so
as to ensure their proper functioning and that of the shopping center overall.
Other such agents will be authorized to enter the shops themselves, just as
the security guards at a mall may enter its shops to check for problems.
Network management tools are crucial to the success of any large-scale com-
munication system. Telescript is an ideal vehicle for network management, in
part because of the ease with which trouble-shooting agents can be con-
structed to diagnose problems, many of which have never arisen before.
Electronic Mail
An important enterprise in the electronic marketplace is the electronic postal
system, comprising any number of interconnected post offices.
Telescript, as it turns out, is a perfect vehicle for the implementation of elec-
tronic mail systems. Following the remote programming paradigm, messages,
TELESCRIPT: THE FOUNDATION FOR THE ELECTRONIC MARKETPLACE GENERAL MAGIC, INC.
TELESCRIPT WHITE PAPER #1 PAGE 19
since they are mobile, are implemented as agents. Mailboxes, since they are
stationary, are implemented as places. Each mailbox is occupied by an agent
of the mailbox’s authority. A message’s delivery is a transaction between two
agents: the sender’s message and the agent attending the recipient’s mailbox.
The transaction transfers the message’s content between the two.
Electronic Post OfficeElectronic Mail
Application
MailboxMailbox
PIC Mainframe
Network
Lynn
Wright
Jim
White
Jim
White
Sue
Smith
FAX
Delivery
The beauty of Telescript, as it pertains to electronic mail, is that both the
message and the mailbox can be customized. A message is customized by the
sender, a mailbox by the receiver. Indeed, messages and mailboxes might be
considered communicating applications in their own right. (“Buy my new and
improved mailbox to replace the old and lifeless mailbox you’re using now.”)
Messages and mailboxes can be customized in numerous ways. If the post of-
fice provided an electronic directory of its subscribers, a message could be
customized to allow its recipients to be addressed by telephone number. The
message would go first to the directory, where it would use the telephone
numbers to find the telenames of the recipients’ mailboxes. Then it would go
to the mailboxes themselves. A user could customize his or her mailbox to
bring to her immediate attention, perhaps by pager, messages from her
spouse; to discard without ceremony all messages from that persistent land-
scaping company; and to hold other messages so she can deal with them
later.
As mentioned already, AT&T will offer a Telescript-based consumer messag-
ing service that brings these and related ideas to fruition.
The Enterprise
By its focus, this paper might be construed to imply that the electronic mar-
ketplace is a consumer phenomenon, not a business one. But this is not its
intent. The electronic world of Telescript encompasses the enterprise as well.
An enterprise is an electronic marketplace in its own right, just one with re-
stricted access and encompassing places and agents playing different roles.
The corporate “mall” comprises engineering and marketing departments, for
example, rather than ticketing and florist shops. Within its walls, however,
information is exchanged and transactions are carried out just the same.
Imagine, for example, an agent that electronically walks your travel expense
report up the approval ladder and that sends you an electronic note each time
it arrives on another of the electronic desktops it must visit on your behalf.
Telescript and its remote programming paradigm are as well suited to the
private commerce of the enterprise as they are to the public commerce.
TELESCRIPT: THE FOUNDATION FOR THE ELECTRONIC MARKETPLACE GENERAL MAGIC, INC.
TELESCRIPT WHITE PAPER #1 PAGE 20
General Magic, Inc.Office
Application
MarketingEngineering
Corporate
Directory
PC Servers
FilingFiling
Magic
Jim
White
Printing
Network
The public and private agent-based electronic marketplaces of the future will
coexist and be interconnected, just as are the public and private electronic
mail systems of today. The resulting composite marketplace will appeal to
and serve the whole person, whether at home, at work, or in between.
Conclusion
Foundation
The electronic marketplace is substantially software. It will comprise numer-
ous communicating applications, varied in purpose yet able to work together.
Telescript provides powerful tools for building the communicating applica-
tions that the electronic marketplace requires. Telescript places provide the
basis for shops, Telescript agents the basis for shoppers and shopkeepers.
The go instruction provides the means of transportation, the meet
instruction the means of social interaction. The language as a whole enables
agents to act purposefully and provides the basic vocabulary of electronic
commerce.
Telescript thus provides a foundation for the electronic marketplace.
Construction
Telescript is only a foundation. Before the marketplace can begin to rise on
its foundation, software developers must create particular kinds of shop—for
example, the pizza parlor—and the kinds of shopkeeper such establishments
require. A Telescript template for a pizza parlor, developed by just one com-
pany, would enable thousands of pizza parlors to open their electronic doors
for business. Also required are classes of agent, of which there can be many,
able to visit electronic pizza parlors knowledgeably and effectively.
The electronic marketplace also requires support structures. White pages,
yellow pages, information desks, and other directories are needed, as are cat-
alogs, order forms, advertisements, and other commercial accessories.
The electronic marketplace will be constructed over the course of many years,
its value growing as the number and variety of shops increase. A number of
important shops, however, can be erected almost at once. Among them are
travel places, selling airline tickets, and newspapers, publishing the news.
These and other shops can be built easily because the information upon
TELESCRIPT: THE FOUNDATION FOR THE ELECTRONIC MARKETPLACE GENERAL MAGIC, INC.
TELESCRIPT WHITE PAPER #1 PAGE 21
which they depend is already maintained and, in some cases, disseminated
electronically. In effect, these shops exist today, but lack Telescript “facades”.
Getting Started
The scale of the electronic marketplace requires that it be created by many
organizations working independently, yet collaboratively. Standards are es-
sential. The software technology used in the marketplace’s construction,
therefore, must satisfy two criteria: it must be adequate to the task, and
widely adopted for the purpose. We offer Telescript as one such standard.
Telescript will appear initially in products and services from Apple, AT&T,
Matsushita, Motorola, Philips, and Sony. We at General Magic invite other
organizations to join us in this ambitious and exciting endeavor.

Telescript White Paper #1

  • 1.
    TELESCRIPT: THE FOUNDATIONFOR THE ELECTRONIC MARKETPLACE GENERAL MAGIC, INC. TELESCRIPT WHITE PAPER #1 PAGE 1 Telescript The Foundation for the Electronic Marketplace 30 November 1993 James E. White General Magic, Inc. Contents Contents ............................................................................................................... 1 Introduction ......................................................................................................... 3 New Products .............................................................................................................. 3 New Applications ........................................................................................................ 3 New Network............................................................................................................... 3 Telescript Advantages......................................................................................... 4 Current Approach ....................................................................................................... 4 New Approach ............................................................................................................. 5 New Approach in Reverse........................................................................................... 5 Tactical Advantage ..................................................................................................... 6 Strategic Advantage ................................................................................................... 6 Telescript Concepts ............................................................................................. 7 Places........................................................................................................................... 7 Agents.......................................................................................................................... 8 Travel........................................................................................................................... 8 Meetings ...................................................................................................................... 9 Connections ............................................................................................................... 10 Putting Things Together .......................................................................................... 11 Safety Precautions............................................................................................. 11 Interpretation............................................................................................................ 11 Credentials ................................................................................................................ 12 Permits ...................................................................................................................... 13 The Telescript System....................................................................................... 14 Telescript Language ................................................................................................. 14 Telescript Engine ...................................................................................................... 15 Telescript Protocols................................................................................................... 16 Telescript Products ................................................................................................... 17 Three Asides ...................................................................................................... 18 Network Management .............................................................................................. 18 Electronic Mail.......................................................................................................... 18 The Enterprise .......................................................................................................... 19 Conclusion.......................................................................................................... 20
  • 2.
    TELESCRIPT: THE FOUNDATIONFOR THE ELECTRONIC MARKETPLACE GENERAL MAGIC, INC. TELESCRIPT WHITE PAPER #1 PAGE 2 Foundation ................................................................................................................ 20 Construction.............................................................................................................. 20 Getting Started ......................................................................................................... 21
  • 3.
    TELESCRIPT: THE FOUNDATIONFOR THE ELECTRONIC MARKETPLACE GENERAL MAGIC, INC. TELESCRIPT WHITE PAPER #1 PAGE 3 Introduction New Products The economics of computing, the convergence of computers and communica- tion, and recent advances in graphical user interfaces enable powerful new electronics products1 to be placed in the hands of the consumer. Personal digital assistants, or personal intelligent communicators as we call them here, provide one example. Intelligent televisions, providing access to vast amounts of scheduled program material and video on demand, offer another. In principle, such products could put people in closer touch with one another (e.g., by means of electronic postcards), simplify their relationships (e.g., by helping them make and even keep appointments), provide them with infor- mation (e.g., television schedules, traffic conditions, restaurant menus, and stock market results), and assist them in carrying out financial transactions (e.g., purchase theater tickets, order flowers, and buy and sell stock). New Applications Devices alone will not deliver to the consumer services like those above. Also required is a new breed of computer software we call the communicating ap- plication. Unlike the word processing and spreadsheet programs of today’s personal computer, communicating applications will adeptly use the commu- nication infrastructure, to which the new devices will provide access, to find and interact with people and information, on the consumer’s behalf. Communicating applications will have qualities of timeliness and effective- ness that today’s uncommunicative applications do not. One such application would maintain my stock portfolio, buying and selling stock under conditions that I establish for it in advance. Another might arrange—every Friday evening—that a romantic comedy it selects is ready for viewing on my televi- sion, and that my favorite pizza (no surprises here) is delivered to my door. New Network Today’s communication infrastructures, or networks, pose a barrier to the de- velopment of communicating applications. The barrier stems from the need for such applications to distribute themselves among the computers that are dedicated to individual users and the computers that users share, the servers. The barrier posed by a nationwide public network is insurmountable. While a user of an enterprise network might be allowed to install any application he or she wishes on her own desktop computer, and while she even might suc- ceed in persuading her network administrator to install a new application on the departmental servers, a user of a public network would quickly find that no amount of cajoling would suffice to get her software onto a public server. 1 Some of these products will employ Magic Cap™, a software platform from General Magic that makes computer technology accessible to the consumer.
  • 4.
    TELESCRIPT: THE FOUNDATIONFOR THE ELECTRONIC MARKETPLACE GENERAL MAGIC, INC. TELESCRIPT WHITE PAPER #1 PAGE 4 The information superhighway will languish if third-party developers are not engaged in its development as they were in the development of the personal computer—if only because the network will respond much too slowly to new requirements. The state-of-the-art in networking, however, creates a conflict making such participation impossible. The developer of the application that manages my stock portfolio would require that I place, outside of my personal communicator and inside a public server, the part of the application that monitors the market. The company operating the public server, however, can- not reasonably provide me with such access to its critical shared resource. General Magic has developed a software technology that resolves this conflict. That technology, Telescript, enables the creation of a new breed of network that supports the development of communicating applications by making the network a platform for developers. Telescript provides the “rules of the road” for the information superhighway, which leads to the electronic marketplace. Telescript Advantages Current Approach Today networking is based upon remote procedure calling (RPC). A network carries messages—data—which either request services or respond to such re- quests. The sending and receiving computers agree in advance upon the mes- sages they will exchange. Such agreements constitute a protocol. A client computer with work for a server computer to accomplish orchestrates the work with a series of remote procedure calls. Each call comprises a re- quest, sent from client to server, and a follow-up response, sent from server to client. To delete from a file server, for example, all client files that are at least two weeks old might require one call to list the files and to obtain their dates of modification, and a subsequent call for each file to be deleted. The analysis that determines which files are old enough to delete is done by the client. If there are N old files, a total of 2(N+1) messages must be sent and re- ceived. Client Service PC Server Network The salient characteristic of remote procedure calling is that each interaction between client and server entails two acts of communication, the first to ask the server to carry out a task, the second to inform the client that indeed the server did what was asked of it. Thus interaction requires ongoing communi- cation.
  • 5.
    TELESCRIPT: THE FOUNDATIONFOR THE ELECTRONIC MARKETPLACE GENERAL MAGIC, INC. TELESCRIPT WHITE PAPER #1 PAGE 5 New Approach A different approach to networking is remote programming (RP). The net- work carries objects—data and procedures—which the receiving computer executes. We call such objects agents to highlight the fact that they act on behalf of the sending computer even while in the receiving computer. To execute an agent is to perform its procedure in the context of its data. The procedure is a sequence of instructions, each chosen from a set of allowed in- structions. Some instructions enable the agent to examine and modify its data. Others enable the agent to make requests of the service and to obtain the service’s responses—as if the agent and service were exchanging mes- sages. Still other instructions enable the agent to make decisions which influ- ence its behavior. The two computers agree in advance upon the instructions from which procedures are formed. Such agreements constitute a language. A client computer with work for a server computer to accomplish orchestrates the work by sending to the server an agent whose procedure makes the re- quired requests (e.g., “delete”) using the data (e.g., “two weeks”). Deleting the old files—no matter how many—requires just the message that transports the agent between computers. All of the orchestration, including the analysis deciding which files are old enough to delete, is done “on-site” at the server. Service PC Server Network Client Agent The salient characteristic of remote programming is that client and server computers can interact without the network’s help once it has transported an agent between them. Thus interaction does not require ongoing communica- tion. New Approach in Reverse The opportunity for remote programming is bi-directional. Server computers, like client computers, can have agents, and a server agent can transport itself to and from a client computer. Imagine, for example, that a client computer makes its graphical user interface accessible to server agents. The client computer might do this, for example, by accepting a form from a server agent, displaying the form to the user, letting the user fill it out, and returning the completed form to the agent. The completed form might instruct a file server’s agent to retrieve files meeting specified criteria.
  • 6.
    TELESCRIPT: THE FOUNDATIONFOR THE ELECTRONIC MARKETPLACE GENERAL MAGIC, INC. TELESCRIPT WHITE PAPER #1 PAGE 6 Server Service Agent PC Client Network Tactical Advantage The new approach offers a tactical advantage, one of performance. Rather than “shout” commands across a network, an agent transports itself to the computer where work must be done and directs the work locally, rather than remotely. Thus the network is called upon to carry fewer messages. The more work the agent must do, the more messages remote programming avoids. The performance advantage of remote programming depends partly upon the network: the lower its throughput or the higher its latency or cost, the great- er the advantage. The public telephone network presents a greater perfor- mance improvement opportunity than does an Ethernet. Current wireless networks provide greater opportunities still. Thus remote programming is well suited to personal communicators, whose networks are slower and more expensive than those, for example, of personal computers in an enterprise. Remote programming is especially well-suited to computers that are con- nected to a network not permanently, but rather only occasionally. If a user instructs an agent to carry out a task—or a long sequence of tasks—the user’s computer must be connected to the network only long enough to send the agent on its way and, later, welcome it home. It need not be connected while the agent actually carries out its assignment. Thus remote program- ming enables occasionally connected devices to do things that would be pro- hibitively expensive with remote procedure calling. Thus the new approach provides to such devices a qualitative, not just a quantitative advantage. Note that personal communicators—especially wireless ones—fall into this category. Strategic Advantage The new approach offers a second advantage, one with far reaching implica- tions. This strategic advantage is customization. With agents, manufacturers of client software can extend the functionality offered by manufacturers of server software. If a file server, for example, provides one operation for listing files and another for deleting a file by name, a client can add to that reper- toire an operation that deletes all old files. The new operation, which takes the form of an agent, effectively customizes the server for that client. In a similar way, manufacturers of server software can extend the functionality offered by manufacturers of client software. A file server might provide an agent that effectively extends a client user interface to encompass filing.
  • 7.
    TELESCRIPT: THE FOUNDATIONFOR THE ELECTRONIC MARKETPLACE GENERAL MAGIC, INC. TELESCRIPT WHITE PAPER #1 PAGE 7 The remote procedure call paradigm assumes that programs are immobile. Thus each component of a distributed or communicating application is stati- cally installed on a client or server computer. Remote programming enables programs to move between computers. Thus a communicating application, statically installed on a client computer, for example, can dynamically install its server components on the appropriate server computers. The advantage of remote programming is significant in an enterprise net- work, but profound in a public one whose servers are owned and operated by public service providers. In a public network based upon remote procedure calling, introducing a new communicating application requires a business de- cision, for example, on the part of CompuServe™. A network using remote programming requires a buying decision on the part of one user. Remote pro- gramming thus makes a network, like a personal computer, a platform. Telescript Concepts Places Telescript seeks to integrate an electronic world of computers and the net- works that interconnect them. The computers include everything from per- sonal intelligent communicators to mainframes. The networks include both local and wide area networks, public and private. We describe the Telescript world as an electronic marketplace, because, in practice, Telescript might pro- vide a setting within which providers and consumers of goods and services, both electronic and physical, could find and interact with one another. In- deed, such a marketplace is the ultimate expression of the Telescript vision. The electronic marketplace is full of Telescript places. One place, represent- ing home, might exist in a user’s communicator. Another place, representing an electronic shopping center, might exist in a mainframe operated by a pub- lic service provider (e.g., AT&T). Places can be nested. Thus the shopping center might have interior places (three of which are illustrated). A ticketing place might enable the purchasing of tickets to theater and sporting events, a florist place the purchasing of flowers. Since these goods are physical, not electronic, they must be delivered by physical means (e.g., the mail). A direc- tory place might list and describe the other places in the shopping center. Electronic Shopping CenterHome Shopping Application FloristTicketron Directory PIC Mainframe Network Telescript places lend structure and consistency to the electronic market- place. As illustrated above, they provide venues for the provision of services of all kinds. Each place represents, in the electronic world, an individual or
  • 8.
    TELESCRIPT: THE FOUNDATIONFOR THE ELECTRONIC MARKETPLACE GENERAL MAGIC, INC. TELESCRIPT WHITE PAPER #1 PAGE 8 organization—the place’s authority—in the physical world. Several places may have the same authority. A place’s authority is revealed by its telename. Telescript is a programming language, and places are programmed in it. Agents A place is occupied by Telescript agents. Whereas places give the electronic marketplace its static structure, agents are responsible for its dynamic activ- ity. Agents transact the business for which the marketplace is designed. The typical Telescript place is occupied by a Telescript agent of the place’s authority2. The ticketing place, for example, is managed by an agent that can provide information about events and that can sell tickets to those events. The florist place, in a similar way, is overseen by an agent that knows about flowers and floral arrangements and that can initiate their delivery. The di- rectory agent offers information about the shopping center itself, for example, directions to its other places, and thus to the agents those places contain. A user’s home place is occupied by one or more agents representing that user. Telescript agents, as the illustration suggests, represent potential providers and consumers of goods and services. Like a place, an agent has a telename which discloses its authority. Several agents may share that authority. Electronic Shopping CenterHome Shopping Application FloristTicketron Directory PIC Mainframe Florist Sales Ticketron SalesMall Jim White Network A Telescript agent is an independent process. The Telescript environment ex- ecutes the programs of the various agents that occupy the marketplace in parallel with one another. The purpose and progress of one agent, therefore, have no influence, in general, over the purpose and progress of another. Agents, like places, are programmed in Telescript. Travel As described so far, the electronic marketplace is full of potential energy but devoid of kinetic energy. The marketplace is in tension because the agents of would-be buyers and sellers are separated by networks. The most important characteristic of the Telescript language, by far, is that it enables this tension to be resolved. Buyers’ and sellers’ agents can find one another by traveling. 2 This situation is so common that Telescript allows this one agent’s functionality to be incorporated in the place, so that a separate agent is not required.
  • 9.
    TELESCRIPT: THE FOUNDATIONFOR THE ELECTRONIC MARKETPLACE GENERAL MAGIC, INC. TELESCRIPT WHITE PAPER #1 PAGE 9 Every Telescript agent can transport itself from one place in a network to an- other. An agent travels to obtain a service offered remotely and to return to its starting place. A user’s agent, for example, might travel from home to a ticketing place to obtain two orchestra seats for Phantom of the Opera. Electronic Shopping CenterHome Shopping Application FloristTicketron Directory PIC Mainframe Florist Sales Ticketron SalesMall Jim White Network An agent travels using go, an instruction drawn from the Telescript instruc- tion set. The agent must present a ticket in order to travel. The ticket identi- fies the agent’s destination, for example, using its telename. It specifies the terms under which the trip is undertaken, for example, the time within which it must be completed and possibly the means (e.g., wireless) by which it must be made. If the trip fails (e.g., because it takes too long), Telescript so informs the agent, which handles the situation programmatically however it sees fit. An agent executes go whenever it must get from one place to another. As a consequence of go, the next instruction in the agent’s program is executed at the agent’s destination, not at its source. Thus Telescript reduces networking to a single program instruction. To the programmer it’s like magic. Meetings Once in the same Telescript place, two Telescript agents can interact. Agents interact so that one can obtain a service from the other. In the example we’ve been exploring, the ticketing agent is designed to provide information about theater tickets, a service involving information exchange. The ticketing agent, however, also is prepared to provide (with help from the postal system) the theater tickets themselves. This second service goes beyond information exchange; it involves transactions. As in this example, electronic transactions between agents can stand for and imply financial transactions between the agents’ authorities. Thus the Telescript world can influence the real world. Two agents must meet before they can interact. One agent initiates the meet- ing using meet, an instruction in the Telescript instruction set. The second agent, if present, accepts or declines the meeting (using another Telescript in- struction). The agent initiating the meeting presents a petition. The petition identifies the other agent, for example, by telename and specifies the terms of the meeting, for example, how long one agent will wait for the other. If the meeting fails, Telescript so informs the agent that initiated the meeting, and that agent handles the situation programmatically however it wishes.
  • 10.
    TELESCRIPT: THE FOUNDATIONFOR THE ELECTRONIC MARKETPLACE GENERAL MAGIC, INC. TELESCRIPT WHITE PAPER #1 PAGE 10 Electronic Shopping CenterHome Shopping Application FloristTicketron Directory PIC Mainframe Florist SalesMall Ticketron Sales Jim White Network An agent executes meet whenever it wants another agent’s help. As a conse- quence of meet, the agents receive references to one another. The references let them interact as peers using object-oriented programming techniques. Connections While in the same place, two agents interact by meeting. While in different places, they interact by communicating. Agents communicate to exchange in- formation, often for the benefit of a human user who is “browsing”. The agent sent to purchase theater tickets, for example, might send, to an agent left at home, a diagram of the theater that shows the seats still available. The agent at home might present the floor plan to the user, allow him or her to indicate the seats she prefers, and then send their locations to the agent on the road. Two agents communicate via a connection between them. Using Telescript in- structions, one agent requests the connection, the other accepts or declines it. The initiating agent identifies the responding agent, the place the latter oc- cupies, and the quality of service required of the connection. Once estab- lished, the connection carries Telescript objects between the two agents. If agents represent the newest communication paradigm, connections repre- sent the oldest. Telescript makes both available for use in an integrated way. Often, as in the illustration, the two agents that create and use a connection are of the same authority and are parts of the same communicating applica- tion. As a result, the protocol that governs the connection’s use is of concern to the application’s designer alone; the protocol need not be standardized. Directory Electronic Shopping CenterHome Shopping Application FloristTicketron PIC Mainframe Florist SalesMall Ticketron Sales Jim White Jim White Network
  • 11.
    TELESCRIPT: THE FOUNDATIONFOR THE ELECTRONIC MARKETPLACE GENERAL MAGIC, INC. TELESCRIPT WHITE PAPER #1 PAGE 11 Putting Things Together The power of Telescript and its remote programming paradigm is fully appar- ent only when one considers an agent whose program uses several basic ser- vices in combination. Such an agent itself can provide a higher-level, compos- ite service using the basic services as raw materials. An agent, for example, can travel to several places in succession. It might link trips in this way to obtain several services or to select one from among them. Booking theater tickets, for example, might be only the first task on our user agent’s to-do list. The second might be to travel to the florist place and there arrange for a dozen roses to be delivered the day of the theater event. The agent would use the results of its interaction with the ticketing agent—namely, the day for which it obtained tickets—to influence its interaction with the florist agent. Electronic Shopping CenterHome Shopping Application FloristTicketron Directory PIC Mainframe Florist Sales Ticketron SalesMall Jim White Network This simple example has broad implications. Built to understand the separate concepts of tickets and flowers, the shopping center has later come to understand the higher-level concept of a special occasion, which involves both tickets and flowers. This increased understanding was achieved not by changing the shopping center, but by using it in a more sophisticated way. Alternatively, a new place indeed might be added to the shopping center. It would be in the business of arranging special occasions for others. A variant of the user agent that arranged the date in our example might do nicely as its proprietor. Whether as shopper or shopkeeper, a Telescript agent emanating from a per- sonal communicator can extend the functionality of the value-added commu- nication services to which the communicator has access, provided those ser- vices are implemented using Telescript. The agent originates as part of a communicating application which the user purchases and installs on his or her personal communicator. Thus Telescript makes the whole network, not just one of the computers attached to it, a platform for such applications. Safety Precautions Interpretation People have difficulty conceiving of things for which words do not exist. Their thinking, and often their behavior, are constrained by their vocabulary. In Telescript, this is true to an extreme degree and in a rigorous way.
  • 12.
    TELESCRIPT: THE FOUNDATIONFOR THE ELECTRONIC MARKETPLACE GENERAL MAGIC, INC. TELESCRIPT WHITE PAPER #1 PAGE 12 The Telescript language is interpreted rather than compiled. The instructions from which a place’s or agent’s program is constructed are not those of any “real” computer, nor are the objects the program manipulates those of any “real” operating system. Thus, Telescript places and agents lack even the vo- cabulary required to directly examine or modify the memory, file system, or other physical resources of the computers on which they execute. Viruses are often discussed in the trade press these days. A virus is an un- seen and unwanted program that insinuates itself into a computer and does damage there. The typical virus is parasitic, attaching itself to an existing program and, by means of that program, avoiding detection. Programs writ- ten in Telescript lack the essential characteristics of a virus: access to the physical resources of their host computer and invisibility, or anonymity. The subjects of anonymity—and its antithesis, identification—are discussed fur- ther below. Credentials Every Telescript place or agent, as already described, represents an individ- ual or organization in the physical world, from which its authority derives. A place’s or agent’s authority, as well as its identity, are revealed by its tele- name, which distinguishes the place or agent from others in the marketplace. It’s one thing to claim a particular authority, or identity, and another to actu- ally have it. Telescript requires that such things be proved. In the electronic marketplace, highly reliable—cryptographic—forms of proof are demanded. Because agents move, their authorities and identities are of special concern. An agent must prove them at various turning points in its life. In particular, an agent’s authority and identity must be reestablished whenever the agent goes from one region of the marketplace to another, a region being a set of Telescript places all operated by the same individual or organization. The destination region denies the agent entry unless its credentials are in order. Electronic Shopping CenterHome Shopping Application FloristTicketron Directory PIC Mainframe Florist Sales Ticketron SalesMall x Network An agent’s credentials play a crucial role in the electronic marketplace. They enable a shopkeeping agent to bill a shopping agent for services rendered. They enable the shopkeeper to provide the shopper with personalized service or deny it service altogether. More fundamentally, an agent’s credentials pre- vent viruses by denying agents the anonymity characteristic of viruses.
  • 13.
    TELESCRIPT: THE FOUNDATIONFOR THE ELECTRONIC MARKETPLACE GENERAL MAGIC, INC. TELESCRIPT WHITE PAPER #1 PAGE 13 Permits Every Telescript place or agent has a permit which limits its capabilities in the electronic marketplace. Permits help protect the marketplace from mali- cious or misprogrammed agents by preventing their unbridled consumption of resources. Permits also protect the authorities under which agents operate by providing misprogrammed agents with a safety net. Because agents move, their permits, like their credentials, are of special con- cern. An agent’s permit is established when the agent is created programmat- ically, and is renegotiated whenever the agent travels between regions. The destination region may deny the agent capabilities that it received at birth as long as the agent is in that region. (The region may not extend the agent’s ca- pabilities, however.) The region denies the agent entry unless it agrees to the restrictions the region imposes. When the agent eventually leaves the region, the restrictions are lifted (although those of another region are imposed). Electronic Shopping CenterHome Shopping Application FloristTicketron Directory PIC Mainframe Florist SalesMall Ticketron Sales Jim White x Network Two kinds of capability are granted an agent by its permit. One kind is the right to use a certain Telescript instruction. An agent in the role of shop- keeper, for example, typically is denied the use of the go instruction. Another kind of capability is the right to use a particular Telescript resource, but only in a certain amount. An agent is granted, among other things, a maximum lifetime, measured in seconds (e.g., a 5-minute agent), a maximum size, mea- sured in bytes (e.g., a 1K agent), and a maximum overall expenditure of re- sources, the agent’s allowance, measured in teleclicks (e.g., a 50¢ agent3). The Telescript engine that supports an agent constantly monitors its resource consumption. If the agent exceeds any of its quantitative limits, the engine destroys the agent unceremoniously (as shown). No grace period is extended. As Ross Perot might say, the agent has “no place to run, no place to hide”. An agent’s permit plays an important role in the electronic marketplace by enabling the agent’s authority to constrain the agent’s activities a priori. 3 In theory, the teleclick is an abstract unit of measurement. In practice, however, an “exchange rate” between teleclicks and money is established.
  • 14.
    TELESCRIPT: THE FOUNDATIONFOR THE ELECTRONIC MARKETPLACE GENERAL MAGIC, INC. TELESCRIPT WHITE PAPER #1 PAGE 14 The Telescript System Telescript Language Telescript, first and foremost, is a programming language4 designed by General Magic to facilitate the development of communicating applications. Telescript supplements, not replaces, such systems programming languages as C and C++. The typical communicating application is written partly in Tele- script and partly, say, in C. The Telescript parts have the inherent ability to transport themselves between computers joined by networks. Thus Tele- script is a language for remote programming. Some characteristics of Telescript are shared by other programming languages. A Telescript pro- gram, for example, can make decisions, handle ex- ceptional conditions, schedule its activities, and examine its surroundings. A Telescript program can gather, organize, analyze, and modify information. Some types of information are built into Telescript, others defined by the pro- grammer. These capabilities are what makes Telescript a language. Other characteristics distinguish Telescript from many—in the last case, all—other programming languages. Each of these characteristics helps Tele- script serve its intended purpose as a language for remote programming. ■ Telescript is object-oriented. As in SmallTalk™, for example, the program- mer defines classes of object (not types of data), one a subclass of another. Classes provide the basis for program modularity and permit Telescript to be extended for particular purposes (e.g., electronic mail). Object-orientation is the state-of-the-art. ■ Telescript is dynamic. A Telescript program can define or discover, and then use new classes during execution. While exploring the electronic mar- ketplace, a Telescript agent may encounter an object whose class it’s never seen. The agent can take the object home, where it continues to function. ■ Telescript is persistent. The data gathered by a program written in a typi- cal programming language is fragile. If the computer is turned off or crashes, the data is lost. The program must store data on disk to secure it. A Telescript program has no such concern. The Telescript engine secures all its data transparently, even the program counter that marks its point of execu- tion. Thus a Telescript program persists even in the face of computer failures. 4 Despite its name, Telescript is not a scripting language in the usual sense of this term. Telescript doesn’t merely allow users to create macros that direct applications written in “serious” languages such a C. Telescript enables developers to implement major components of their communicating applications. Indeed, entire communicating applications can be written in Telescript Communicating Application Telescript part C part
  • 15.
    TELESCRIPT: THE FOUNDATIONFOR THE ELECTRONIC MARKETPLACE GENERAL MAGIC, INC. TELESCRIPT WHITE PAPER #1 PAGE 15 ■ Telescript is interpreted5. A Telescript program is not executed directly by a computer, but rather indirectly by another program, the Telescript engine, written, for example, in C++. The engine interprets the Telescript instruc- tions that form the program, thereby making it both portable and safe. A Telescript program can execute anywhere a Telescript engine exists, and the program is not a virus because it cannot access directly the computer on which it runs. ■ Telescript, finally, is communication-centric. Just as PostScript™ is de- signed for describing complex images, and Mathematica™ for performing complex mathematics, so Telescript is designed for carrying out complex net- working tasks: navigation, transportation, authentication, access control, etc. The go and meet instructions, discussed earlier in the paper, are specific ex- amples. Telescript Engine A Telescript agent or place is powerless in the absence of a Telescript engine, which implements the Telescript language by interpreting programs written in it. General Magic has developed two implementations of Telescript. One of these two engines, designed for personal intelligent communicators, is inte- gral to Magic Cap. The other, designed for use in the construction of public services and enterprise servers, is written for portability in C++. A Telescript engine performs several important functions. It maintains one or more places in the electronic marketplace, as well as the agents that occupy those places. The engine in a personal communicator might maintain just a few places and agents, but the engine underlying a value-added communica- tion service maintains thousands. In either case, the engine backs to disk, or some other non-volatile storage medium, the places and agents it maintains. It also executes their programs, concurrently. To do the latter, the engine im- plements the constructs and features of the Telescript language, in which the programs are expressed. Finally, a Telescript engine encodes and transports agents to other engines, whenever they execute the go instruction. Any Telescript engine—at least conceptually—has three application program interfaces (APIs). Through them, the engine draws upon the resources of the computer platform on which it runs. In the C++ implementation of Telescript alluded to above, these APIs occur in practice, not just in principle. The en- gine’s reliance upon these APIs is largely responsible for its portability. 5 The Telescript language actually has both compiled and interpreted forms. A compiler, developed by General Magic, translates between the two. Programmers employ the compiled form, but the interpreted form is executed.
  • 16.
    TELESCRIPT: THE FOUNDATIONFOR THE ELECTRONIC MARKETPLACE GENERAL MAGIC, INC. TELESCRIPT WHITE PAPER #1 PAGE 16 Places and Agents Telescript Engine Storage TransportExternal Applications APIs A Telescript engine’s APIs give the engine access to its environment. The storage API provides access to the platform’s non-volatile store, which the engine uses so as to preserve the engine’s places and agents, even in the face of a crash. The transport API provides access to the platform’s communica- tion media, which the engine uses to send agents to other engines, and to re- ceive agents from them. The transport API is high-level so that a wide vari- ety of transport media can be used by means of it. The external applications API allows the parts of a communicating application written, for example, in C to create and interact with other parts written in Telescript, and vice versa. Telescript Protocols If the electronic marketplace were small enough to be maintained by a single Telescript engine, it wouldn’t be large enough to be worth visiting, or even building. Nationwide even to start, the electronic marketplace will be world- wide eventually. An important part of Telescript, therefore, is the communi- cation protocols that Telescript engines use to communicate with one another. Telescript engines are interconnected so that Telescript agents can be moved between engines in response to the go instruction. Broadly speaking, the Telescript protocols operate at two levels. The higher level encompasses the encoding (and decoding) of agents, the lower level their transport.
  • 17.
    TELESCRIPT: THE FOUNDATIONFOR THE ELECTRONIC MARKETPLACE GENERAL MAGIC, INC. TELESCRIPT WHITE PAPER #1 PAGE 17 Places and Agents Telescript Engine Storage External Applications APIs Agent Encoding Agent Transport The Telescript encoding rules explain how an agent—its program, data, and execution state—are encoded for transport, and how parts of the agent some- times are omitted as a performance optimization. While engines can maintain agents in their own, private, internal formats (e.g., on a disk), they must agree upon a standard format for purposes of communication. Loosely speaking, the Telescript encoding rules occupy the presentation and applica- tion layers of the seven layer cake of Open Systems Interconnection (OSI)6. The Telescript platform interconnect protocol (PIP) specifies how an agent’s encoding, once formed, is transported between engines. It also describes how—for example, using public key cryptography—the engines authenticate one another. PIP is designed as a “thin veneer” over any of a wide variety of communication media, existing and future. Telescript Products The Telescript technology is embodied in two products offered by General Magic. Both involve the portable Telescript engine mentioned already. The Telescript Developer’s Kit (TDK), which is available for several different platforms, comprises object code for the Telescript engine and for platform- specific implementations of its APIs. This product includes the tools, sample programs, and documentation required to use Telescript to create communi- cating applications. The product is aimed at developers of such applications. The Telescript Porting Kit (TPK) comprises source code for the Telescript en- gine, along with the ancillary software and documentation needed to port the engine to a new platform. This product is aimed at platform manufacturers. 6 Telescript does not involve OSI protocols. The OSI model is mentioned here merely to provide a frame of reference for readers acquainted with OSI.
  • 18.
    TELESCRIPT: THE FOUNDATIONFOR THE ELECTRONIC MARKETPLACE GENERAL MAGIC, INC. TELESCRIPT WHITE PAPER #1 PAGE 18 Additionally, General Magic has developed a communicating application that does personal, intelligent, multi-media messaging. Parts of the application run on Magic Cap personal communicators, the sources and destinations of messages. Other parts run on servers, which house the mailboxes through which messages are routed. This work, along with the Telescript software that underlies it, is the basis for a consumer messaging service which AT&T will offer to the public beginning in 1994. Arising from this work are addi- tional, electronic mail-specific products available from General Magic. Three Asides Network Management The electronic marketplace not only will be hosted by agents acting in the ca- pacity of shopkeeper, and visited by agents acting in the capacity of shopper. The electronic marketplace also will be run with the aid of agents acting in the capacities of operator, administrator, and manager (OAM). Electronic Shopping CenterHome Shopping Application FloristTicketron Directory PIC Mainframe Florist Sales Ticketron SalesMall Jim White OAM Network Manager Network Admin. Network Operator Network Much like the staff at Disneyland occupy subterranean places and corridors while not “on stage” at street level, so network management places, to which access is restricted, will exist invisibly within the electronic shopping center. Network management agents will inspect and adjust the shops above them so as to ensure their proper functioning and that of the shopping center overall. Other such agents will be authorized to enter the shops themselves, just as the security guards at a mall may enter its shops to check for problems. Network management tools are crucial to the success of any large-scale com- munication system. Telescript is an ideal vehicle for network management, in part because of the ease with which trouble-shooting agents can be con- structed to diagnose problems, many of which have never arisen before. Electronic Mail An important enterprise in the electronic marketplace is the electronic postal system, comprising any number of interconnected post offices. Telescript, as it turns out, is a perfect vehicle for the implementation of elec- tronic mail systems. Following the remote programming paradigm, messages,
  • 19.
    TELESCRIPT: THE FOUNDATIONFOR THE ELECTRONIC MARKETPLACE GENERAL MAGIC, INC. TELESCRIPT WHITE PAPER #1 PAGE 19 since they are mobile, are implemented as agents. Mailboxes, since they are stationary, are implemented as places. Each mailbox is occupied by an agent of the mailbox’s authority. A message’s delivery is a transaction between two agents: the sender’s message and the agent attending the recipient’s mailbox. The transaction transfers the message’s content between the two. Electronic Post OfficeElectronic Mail Application MailboxMailbox PIC Mainframe Network Lynn Wright Jim White Jim White Sue Smith FAX Delivery The beauty of Telescript, as it pertains to electronic mail, is that both the message and the mailbox can be customized. A message is customized by the sender, a mailbox by the receiver. Indeed, messages and mailboxes might be considered communicating applications in their own right. (“Buy my new and improved mailbox to replace the old and lifeless mailbox you’re using now.”) Messages and mailboxes can be customized in numerous ways. If the post of- fice provided an electronic directory of its subscribers, a message could be customized to allow its recipients to be addressed by telephone number. The message would go first to the directory, where it would use the telephone numbers to find the telenames of the recipients’ mailboxes. Then it would go to the mailboxes themselves. A user could customize his or her mailbox to bring to her immediate attention, perhaps by pager, messages from her spouse; to discard without ceremony all messages from that persistent land- scaping company; and to hold other messages so she can deal with them later. As mentioned already, AT&T will offer a Telescript-based consumer messag- ing service that brings these and related ideas to fruition. The Enterprise By its focus, this paper might be construed to imply that the electronic mar- ketplace is a consumer phenomenon, not a business one. But this is not its intent. The electronic world of Telescript encompasses the enterprise as well. An enterprise is an electronic marketplace in its own right, just one with re- stricted access and encompassing places and agents playing different roles. The corporate “mall” comprises engineering and marketing departments, for example, rather than ticketing and florist shops. Within its walls, however, information is exchanged and transactions are carried out just the same. Imagine, for example, an agent that electronically walks your travel expense report up the approval ladder and that sends you an electronic note each time it arrives on another of the electronic desktops it must visit on your behalf. Telescript and its remote programming paradigm are as well suited to the private commerce of the enterprise as they are to the public commerce.
  • 20.
    TELESCRIPT: THE FOUNDATIONFOR THE ELECTRONIC MARKETPLACE GENERAL MAGIC, INC. TELESCRIPT WHITE PAPER #1 PAGE 20 General Magic, Inc.Office Application MarketingEngineering Corporate Directory PC Servers FilingFiling Magic Jim White Printing Network The public and private agent-based electronic marketplaces of the future will coexist and be interconnected, just as are the public and private electronic mail systems of today. The resulting composite marketplace will appeal to and serve the whole person, whether at home, at work, or in between. Conclusion Foundation The electronic marketplace is substantially software. It will comprise numer- ous communicating applications, varied in purpose yet able to work together. Telescript provides powerful tools for building the communicating applica- tions that the electronic marketplace requires. Telescript places provide the basis for shops, Telescript agents the basis for shoppers and shopkeepers. The go instruction provides the means of transportation, the meet instruction the means of social interaction. The language as a whole enables agents to act purposefully and provides the basic vocabulary of electronic commerce. Telescript thus provides a foundation for the electronic marketplace. Construction Telescript is only a foundation. Before the marketplace can begin to rise on its foundation, software developers must create particular kinds of shop—for example, the pizza parlor—and the kinds of shopkeeper such establishments require. A Telescript template for a pizza parlor, developed by just one com- pany, would enable thousands of pizza parlors to open their electronic doors for business. Also required are classes of agent, of which there can be many, able to visit electronic pizza parlors knowledgeably and effectively. The electronic marketplace also requires support structures. White pages, yellow pages, information desks, and other directories are needed, as are cat- alogs, order forms, advertisements, and other commercial accessories. The electronic marketplace will be constructed over the course of many years, its value growing as the number and variety of shops increase. A number of important shops, however, can be erected almost at once. Among them are travel places, selling airline tickets, and newspapers, publishing the news. These and other shops can be built easily because the information upon
  • 21.
    TELESCRIPT: THE FOUNDATIONFOR THE ELECTRONIC MARKETPLACE GENERAL MAGIC, INC. TELESCRIPT WHITE PAPER #1 PAGE 21 which they depend is already maintained and, in some cases, disseminated electronically. In effect, these shops exist today, but lack Telescript “facades”. Getting Started The scale of the electronic marketplace requires that it be created by many organizations working independently, yet collaboratively. Standards are es- sential. The software technology used in the marketplace’s construction, therefore, must satisfy two criteria: it must be adequate to the task, and widely adopted for the purpose. We offer Telescript as one such standard. Telescript will appear initially in products and services from Apple, AT&T, Matsushita, Motorola, Philips, and Sony. We at General Magic invite other organizations to join us in this ambitious and exciting endeavor.