The ISTP client interprets the InterStream Media Language (ISML) for each media grid object. ISML uses XML to determine how rich media grid objects are to be presented to the client. An ISTP stream is composed of one or more Stream Blocks or rich media objects. ISML integrates and synchronizes audio and video of these rich media objects, with support for meta-data, formatting, GUI-interaction, payment, syndication, and sponsorship to enable high quality end-to-end streaming across the Internet. There are three primary purposes for ISML:
Each media grid object will have an associated ISML definition. Syndication of media grid objects occurs by using these definitions so that other playback systems and website may use the object as well as provide settlement for use of that media. Meta-data may also be associated with the object.
Specifically, ISML issues directives against a recusively sequenced block of ISTP streams. The ISTP client may pre-fetch stream blocks to be placed on a play stack. The play stack is interpreted by the client with the top element stream block "popped off" the top of the stack when the previous stream completes. Through user interaction with the client, stream blocks may also be "pushed onto" the play stack.
Users interact with the ISTP client on a television set, or, on a computer, with a mouse and keyboard. The client accepts events as defined by the operating system or brower on which the ISTP client is installed. The events are defined by a combination of a mouse or remote control "click" and an object contained within the stream. Separate information such as biometric read-out may be passed from the remote control back to the ISTP client.
In addition, the will be standard indexed intrinsics built into the ISTP client. For example:
istp://portal_name/object_identifier/?index=X refers to indexing into the object's stream at X total seconds, where X can be expressed in tenths of a second.
Each stream uses standard XML definitions to determine: