OpenCable Applications Platform standard for interactive television.

OCAP was established as a standard by CableLabs in the United States as part of the OpenCable project.

OCAP is based on the DVB MHP Multimedia Home Platform, consistent with the specification for Globally Executable MHP or GEM.

OCAP provides a middleware software specification intended to enable the developers of interactive television services and applications to design such products so that they will run successfully on any cable television system in North America, independent of set-top box or television receiver hardware or operating system. It is also aims to promote a retail market for set-top boxes, television receivers or other devices that will support all services delivered by cable operators to devices currently available to consumers via lease from cable operators.

There are two main types of OCAP application: procedural and declarative.

Procedural execution engine applications are written in Java and are referred to as OCAP-J applications or Xlets and consist of a set of class files that are broadcast with a service.

Declarative presentation engine applications are based on HTML pages that are broadcast as part of a service and consist of XHTML, CSS and ECMAScript. Support for such presentations was added in the second version of OCAP.

Three models of application are supported: bound, unbound and native.

Bound applications are associated directly with the currently tuned channel and terminate when the viewer selects another channel.

Unbound applications are not tied to a particular channel and remain in scope even if a viewer selects another channel.

Native are applications written for a specific host and are not related to a specific broadcast. These may be stored in the firmware of the set-top box.