This module mainly consists of components that are deployed within a mobile device (which acts as a peer node in a network of peer devices) and operate “under-the-hood” to offer a set of network-aware services. More specifically, it consists of the following (cf. figure below):
- Core app: This includes all the application logic, ranging from the implementation of the “standard” features (e.g. program browsing, search, my films, rating, etc.) to the control of the middleware components described below.
- DASH recording and streaming: This implements the DASH video adaptation encoder and decoder, which adapts the video streaming depending on the network conditions.
- Peer-to-peer IPsetter: This maintains an index of the peer devices IP addresses by polling them at regular intervals. It exposes the index through the infotainment API.
- My Media: This implements the app/UI view of the peer-to-peer video/trailer streaming functionality, enabling users to assign categories to videos they stream and to select the categories of videos they want to play.
- 2D Map: This implements the 2D map visualization, including overlays of different pieces of information, e.g. tweets, venues, screenings, etc. and components such as the timeslider.
- 3D Vis: 3D map visualization relies on a server-side component. The functionality is available to the mobile app end users through an embedded Chrome browser.