Apps‎ > ‎

GAMBAS Middleware

The GAMBAS Middleware Android (Google Play) app incorporates the main components of the GAMBAS middleware and provides the runtime environment for other Android applications built on top of GAMBAS technology. From a user’s perspective, it provides a common user interface to control the features made available to applications and to other services and users. The following details the main user interface of the GAMBAS Middleware Android application and describes the underlying functionality controlled through it.



Start Screen

The start screen consists of an action bar with two buttons, a settings button on the left and an about button on the right. The main screen only contains a checkbox that can be used to start and stop GAMBAS and see whether the middleware is currently running. While the middleware is running, there is a persistent notification displayed in the notification area. Clicking the notification will open up the applications screen and thus, allow you to start your apps quickly. 

Since the GAMBAS middlware has been specifically designed to protect the resources on your device, it needs to be executed to provide services to applications. While some applications might be usable even when GAMBAS is not executed and running, most applications will not be usable. An application developer may request the startup of the middleware programmatically. This, however, can only be done through a user interface dialog so that GAMBAS will only enable itself when you want it. 

Note that in order to access the settings area, you will also have to start the middleware such that it can access the underlying storage system. 




Settings Screen

The main settings screen consists of an action bar with a back button that brings you back to the start screen. The main screen contains the following 6 categories that can be opened by tapping them:
  • Identity: This category displays information about your identity and enables you to exchange private keys with other users, either through NFC or through Facebook.
  • Privacy: This category displays services and users that your device can connect to. For each service and device you may configure permissions that limit the amount of information that can be shared with them.
  • Features: This category displays controls for different middleware features which can be activated and deactivated. This allows you, for example, to disable different types of sensors to protect your privacy or to disable remote communication in order to safe battery power.
  • Applications: This category displays a list of applications installed on your device. For each application, you will see the set of features that may be used by it. Features that are not marked here are not available to the application.
  • Download: This category opens the Google Play store to search for applications that have been built using the GAMBAS middleware.
  • Developer: This category displays options relevant for application developers. Furthermore, it is possible to show a log with debugging information.


Identity Screen
The identity screen consists of an action bar with a back button that brings you back to the settings screen. The main screen shows information about your identity and allows you to exchange keys with other persons through NFC or Facebook. To do this, the screen shows the following elements:

  • Current: The first entry in the list shows your current pseudonym. This is your online identity which is basically a long number. You do not have to know it but you can change it, for example, in order to invalidate all keys that you share with other devices.
  • Generate: To change your pseudonym, you can press the generate button. This will create a new pseudonym and restart the middleware. Changing the pseudonym makes it harder for services to continuously track you.
  • Exchange: If you have two NFC enabled devices, you can use this option to exchange a secret key. To do this, enable NFC on both devices, hold the NFC antennas close to each other and press exchange. 
  • Facebook: This option enables you to integrate GAMBAS with Facebook in order to automatically exchange keys with your friends that are also using GAMBAS with Facebook integration. To start using Facebook tap this option and follow the instructions, i.e. sign in to Facebook and allow GAMBAS to read and post on your behalf.



Privacy Screen

The privacy screen consists of an action bar with a back button that brings you back to the settings screen and an add button that enables you to add entries. Once you select entries in the list shown on the main screen, an additional edit and delete button will appear allowing you to modify and delete existing entries. Furthermore, a share button will enable you to configure the access permissions. The main screen enables you to view the access permissions that you have configured for other persons and services.

The list shows one entry for each service and there is a special entry called “others”. This entry is used to configure the basic access permissions for all users. The remaining entries are the corresponding access permissions for individual users and services that have been created by you, e.g. your friends, by GAMBAS when performing a key exchange or using the Facebook integration, or a GAMBAS enabled application, e.g. in order to encrypt your data when transferring it to a service.

To select an entry you can tap it on the list. This will bring up more options in the action bar. To modify the level of access that the user or service may have on your data, you can use the share option. To delete the entry use the delete option and to rename or modify it use the edit option.


Features Screen

The features screen consists of an action bar with a back button that brings you back to the settings screen. The main screen shows a number of different options grouped in three categories, namely acquisition, communication and automation. The following briefly describes the individual functions in these categories:

  • Audio Sensing: This option can be used to prevent GAMBAS applications from performing audio recording.
  • Location SensingThis option can be used to prevent GAMBAS applications from using the device's built-in location providers.
  • Motion Sensing: This option can be used to prevent GAMBAS applications from recording accelerometer or gyroscope measurements.
  • Ambient Sensing: This option can be used to prevent GAMBAS applications from using the device's temperature, barometric pressure and other ambient sensors.

  • Remote Communication: This option can be used to prevent applications from connecting to the discovery services which are used to enable remote communication. 
  • Wifi Communication: This option can be used to prevent applications from using peer-to-peer communication via WIFI.
  • Bluetooth CommunicationThis option can be used to prevent applications from using peer-to-peer communication via Bluetooth.

  • Automatic Boot: This option can be used to automatically start the GAMAS middleware when the device is rebooted.

Applications Screen

The applications screen consists of an action bar with a back button that brings you back to the settings screen. The main screen shows a list of available or installed applications. For available applications that are not installed, the list shows a grayed out icon. For installed applications the normal application icon is displayed. 

Appart from a description of the application and the icon, the list also shows the features of the middleware that the application may be using. A ticked checkbox means that the application has requested to use the feature, an unticked ckeckbox means that this feature has not been requested and will also not be made available to the application. Overall the features are groupped into four categories:
  • Storage: The application is using the local storage of the device to store information persistently.
  • Query: The application is using the query processor to retrieve data from the local storage or a remote service.
  • Transfer: The application is transfering data to some remote storage or service.
  • Acquisition: The application is using the sensors of the device in order to determine the current user's context.


Download Screen

The download screen is actually provided by the Google Play store. It is generated by running a query for "GAMBAS Middleware" against the store. The result list will typically include all applications built on top of GAMBAS. By clicking an item, you can get more information about the application and you can install or update it, in case it is not up-to-date.



















Developer Screen

The developer screen consists of an action bar with a back button that brings you back to the settings screen and a log button that shows a detailed log generated by the different middleware components. The main screen shows a number of options that are useful for development. The following list briefly describes them:
  • Gateway Address: This option enables you to set a non-standard address for the gateway that is used to enable communication between different devices. Setting this can be used to isolate the application from others during testing.
  • Gateway PortThis option enables you to set a non-standard portfor the gateway that is used to enable communication between different devices. Setting this can be used to isolate the application from others during testing.
  • Log Redirect: This option enables you to redirect the logging information into the log that can be displayed in the application. Enabling this requires more memory.
  • Log Level: This option enables you to set the verbosity of the logging. Setting a higher value will generate more log messages but may also slowdown the system significantly.
  • Restart Service: This option enables you to force a full restart of the GAMBAS middleware. This can be helpful in order to test the robustness of the applications against lifecycle changes in the core service.
  • Delete Facebook Credentials: This option enables you to delete the Facebook credentials. This is primarily useful for middleware developers.