Application Management

The Application Management service (also known as UI Core) controls the application lifecycle: starting, switching, activating, sleeping, and terminating. It also provides a means of restricting the services that applications can use. UI Core includes Screen, a component that allows multiple applications built with disparate technologies to share the same physical display real estate.

The figure below shows the main UI Core components: the application installer, the authorization manager (authman), Screen, and Launcher.

Figure 1. UI Core components

The application installer unpackages the application, validates its signature, and installs the application on the QNX CAR platform.

Launcher enables any application to launch any other application in any UI environment (subject to system permissions).

The authman module controls which APIs and system services can be used by each application, enforcing the security model that the system developers have defined. This authorization ensures that downloaded applications can't use interfaces they aren't authorized to use. See Application and Window Management for details.

The Screen module integrates multiple graphics and UI technologies into a single scene that can be rendered on the display. Developers can create a separate pane for the output of each rendering engine (such as HTML5, Qt, Video, or OpenGL ES). Each frame buffer can be transformed (scaling, translation, rotation, alpha blend, etc.) to build the final display. Whenever possible, Screen uses GPU-accelerated operations to build the display as optimally as possible, falling back on software only when the hardware can't satisfy a request.

As an example, consider the screenshot of the Torch browser application below:

Figure 2. Torch browser application

What appears to be a single homogeneous display is actually made up of the following:

Screen provides a lightweight composited windowing system. Unlike traditional windowing systems that arbitrate access to a single buffer associated with a display, a composited windowing system combines individual off-screen buffers holding window contents into one image, which is associated with a display.

For more information about Screen, see the Screen Graphics Subsystem Developer's Guide.