1. Application module
Handles application internal logic and User Interface (UI) look and feel. Accepts user inputs and presents data to the user.
2. Software Development Kit (SDK) module
Handles communication between Application module on one side and backend server and TV middleware software on the other side.
3. Core module
The starting point for a TV application. It represents a central point which connects UI with backend and database APIs as shown in Figure 2. This module contains a set of abstractions for all basic and advanced features as well as a set of APIs which are used as guidelines for application development. It is a highly optimized library which introduces a very small memory footprint.
A particular abstraction can be used for different projects and different clients (e.g. BackendHandler provides a set of APIs used by application module and can be embedded in different backend implementation). This way once developed UI application can be considered as backend agnostic because a different BackendHandler can be added as a plugin to the Core module if needed. This enables us to use the same application and the same logic for different projects and clients because an application always calls the same API abstraction without actually knowing what is in layer beneath it. The same approach can be applied to TV middleware or player used for decoding TV stream of VoD content.
GuiDE composition
Main module that contains API abstractions and Graphical framework for rendering scenes
Pre-integrated offline data provider
Pre-integrated online data provider
Utility tools
Set of examples and tests
PC tool used for creating GuiDE navigation files
Payment feature APIs and Utility Tools
Ads feature APIs and Utility Tools
Web communication utilities
Easy to use tool for creating UI app prototypes