An Xlet is very similar to a Java applet and is originally introduced in Sun's Java TV specification to support applications for Digital TV. Though Xlet looks superficially different from other application models in Java such as applet and MIDlet, it is actually meant to be a generalization of such models. X in Xlet means an unknown, meaning Xlet may be used in any context rather than specific to Digital TV. Accordingly Xlet has later been re-introduced as a part of Personal Basis Profile in javax.microedition.xlet package, which is slightly different from the original design in Java TV specification.
Xlets provision of a pause/resume feature is essential for a set-top box (STB) environment, which has limited memory resources and restrictions on bandwidth from the headend provider. The current practice and intent of the Xlet framework is to provide downloadable applications for Personal Basis Profile (PBP) platforms. In particular, the BD-J platform uses Xlets as its programming framework.
While Sun has provided a Java TV reference implementation within which they provide a simple Xlet runner called RunXlet, at least one other open-source effort to implement an Xlet run has been made.