Telescript (programming language)

Telescript could even migrate a running program; the language included features to marshal a program's code and serialized state, transfer it to another Telescript engine (on a device or a server) to continue execution, and finally return to the originating client or server device to deliver its output.

When they began to generate some press buzz in 1992, Apple decided to enter the same market with their Newton tablet computer.

General Magic were unable to find a niche within the market, and Telescript services were soon deprecated in favor of new products unrelated to mobile computing.

Key members of the early team were Porat, and famous Macintosh developers Bill Atkinson and Andy Hertzfeld.

The new company, General Magic (GM), was created in May 1990 with Apple, Sony and Motorola each holding a 10% stake.

The company ranks soon filled out with other Macintosh alumni, including Joanna Hoffman, Susan Kare, Dan Winkler, Bruce Leak and Phil Goldman.

[1] By 1992 GM had signed development agreements with a number companies to work with the Magic Cap environment, including Sony, Motorola, Matsushita, Philips, British Telecom and AT&T Corporation.

[3] Apple had by this time started the Newton project, a design for a larger hand-held tablet-like computer more similar to the full-sized iPad.

A new team developed the Portico telephone-based personal assistant system, which lives on today as the basis of OnStar.

The original handheld group was spun off in 1998 as DataRover Mobile Systems Incorporated and later renamed Icras in 2000,[4] serving a number of vertical markets before shutting down in 2001.

[1] User-facing programs would consist of a number of such agents, which might run locally, on the provider's hosts, or even be forwarded to 3rd party servers.

In the Telescript model, the application would instead build a new agent populated with the data from the request, stamp it with their name and address, and then send that to a store place on a server for processing.

For instance, if the user chooses to buy one of the barbecues they found in their previous search, in a conventional system the task of filling out the order forms and confirming payment would be accomplished through direct communications between the user's device and the remote server, requiring a "live" communications channel throughout the process.

The following code defines the interface for objects of the type Pie:[10][N 1] Note the use of the keyword op, which corresponds to the function or sub found in other languages.

The implementation of the Pie could be used in one or more class objects, which can be organized into moduless in a fashion similar to Visual Basic .NET's namespace construct.

If it did not succeed, for instance, if the stock was empty, it then builds a new PieBuyer object of its own, sends that request off to another shop, and then waits for a response.

When this chain of events concludes, either with a pie or unsuccessfully, the PieSeller place finally returns that to the calling PieBuyer.

One common source of errors in Telescript was that while a collection as a whole could be passed back in an agent, individual items within it were owned by the place.