Launcher

Launcher

The Launcher is a graphical user interface for launching and managing other apps on local and remote computers. Unlike the web interface, it provides a window manager that makes it possible to run QML-based UI apps in addition to server apps.

The launcher itself is a VisionAppster app and runs on top of the Engine. Thus, it is possible to run both server and UI apps in the Launcher without an external Engine service.

The VisionAppster Launcher can be started from the start menu of your desktop environment. It opens up to show installed system apps and the apps you have exported from the Builder to the default export directory.

Launcher showing one system app and two exported user apps as tiles

Launcher showing one system app and two exported user apps as tiles

To start an app click its tile. A little "play" icon will appear to indicate the app is running. If you click a UI app, the UI will be activated.

A server application has been started by clicking the tile.

A server application has been started by clicking the tile.

To stop an app, select "Stop" from the tile's context menu. The context menu opens by right-clicking a tile.

Configuring apps

If the app needs system-dependent parameters, it cannot be started. The Launcher displays "The app is missing required configuration values" as an error message.

System-dependent parameters need to be set before starting an app.

System-dependent parameters need to be set before starting an app.

System-dependent parameters and all parameters that have been exposed to the API of an app are editable with the configurator system app. The app can be started by clicking the gear icon on the sidebar. To configure a specific app, select "Configure" in the tile's context menu or drag the tile on top of the gear icon.

Dropping a tile on top of the gear icon opens the configurator app.

Dropping a tile on top of the gear icon opens the configurator app.

Typically, you need to select which camera to use in a new environment:

Select a camera from a drop-down list.

Select a camera from a drop-down list.

Adding remotes

To contact a remote Engine, you need to know the IP of the machine the service runs in. If you have the service running in your own machine, localhost will always work as a remote Engine. To add it, click the plus icon, type "localhost" in the text field and press Enter.

Add remote Engines by entering their IP addresses or host names.

Add remote Engines by entering their IP addresses or host names.

Added remotes will be listed on the sidebar below the home button. To avoid adding the same remote again, you can stick it to the bar using the context menu.

Making a remote stick permanently to the sidebar

Making a remote stick permanently to the sidebar

Clicking the icon of an added remote opens a page that shows the apps installed on that remote. You can start, stop and configure apps just like on the home page. Remote apps are indicated by a little arrow icon on the top right corner.

Starting UI apps on remote Engines may or may not be possible, depending on configuration. However, it is usually not what you want to do. Instead, copy the app to your Launcher first and run it there.

Copying apps between remotes

To copy an app to a remote select "Copy to" from the tile's context menu.

Copying from a remote to another takes one click.

Copying from a remote to another takes one click.

Another way is to drag the app's tile and drop it on the icon of another remote on the side bar.

Note that copying an app to a remote does not copy the configuration values stored in the source Engine. You need to open the home page of the target Engine and configure the app there.

The configurator app can configure remote apps as well.

The configurator app can configure remote apps as well.

Connecting apps

When an UI app is started, it uses the Engine's ApiManager service to locate the API of the server app. If the server runs in the launcher or in any of the connected remotes, a connection will be established automatically. If the server is not found or if the connection breaks, the UI shows an error message and will try to re-establish the connection.

This is however only the mechanism used by apps created with the VisionAppster Builder. Nothing prevents one from creating a different connection mechanism in manually built apps. Once the server app is running, one can use the client API to control it remotely.