- How do applications and DCMs present a User Interface on another HAVi device?
- How does an FAV find Havlets?
- Why does HAVi need two UI mechanisms?
1. How do applications and DCMs present a User Interface on another HAVi device?
A HAVi application or DCM that has a User Interface (UI) can present that interface simultaneously on other HAVi devices in the network that have a display. HAVi offers two different mechanisms for this:
In a declarative way called DDI (Data Driven Interaction).
With DDI, an application or DCM can offer a DDI description of its UI. This description can be retrieved simultaneously by any HAVi device with a display. The user can interact with the UI in a way that is completely local to the HAVi device with the display. Such interaction will cause messages to be sent to the remote DCM or application that will interpret these messages and control the activity of the application or device. Any DDI description can be displayed on any type of display. Each display will match the DDI description of the UI to its own capability, which can vary from a high end graphics screen on a TV, to a simple text-only LCD screen.
Changes in the UI due to user actions or unsolicited changes in the state of the device (for example, if a user pushes a button directly on the device, or an application calls a control API of the DCM) are signaled to the display to indicate that new information has to be displayed.
On FAVs with a display.
On FAVs with a display, it is possible to draw a UI on the display via the HAVi defined Graphical User Interface (GUI) Java APIs. Java applications that do this are called Havlets.
2. How does an FAV find Havlets?
DCMs or applications that are designed to use the Java GUI APIs on an FAV, contairue;Havlet t at can be uploaded by an FAVs. Whether an application or DCM contains such a Havlet is indicated in the HAVi Registry (one of the System Software Elements in HAVi). If an FAV detects an application or DCM that has a Havlet, and if the FAV offers the Java GUI APIs, it can be designed to upload and install the Havlet. A DCM or application cannot enforce the FAV to upload and install its Havlet.
3. Why does HAVi need two UI mechanisms?
HAVi has specified the Java GUI APIs to give developers of Java applications and DCMs a 'normal' programming interface to build a UI. HAVi did not want to force developers to use DDI, which is a very different way of doing things. IAV devices, however, do not support Java, and therefore need a different mechanism, which is why DDI was invented.
To assure that a UI can be displayed on any IAV or FAV device by any other IAV or FAV, the following situation exists:
- IAVs have to use DDI to display their own UI on other IAVs
- IAVs may use DDI or Havlets to display their own UI on other FAVs
- FAVs have to use DDI to display their own UI on other IAVs
- FAVs have to support DDI to display the UI of other IAVs that do not use Havlets
- FAVs have to support the Java GUI APIs to display the UI of other FAVs and IAVS that use Havlets
|