Concepts & Architecture

Overview

7min

This chapter focuses on providing an overview of the concepts and the architecture of the NativeWaves EXP framework.

Framework Approach and Extensibility

With NativeWaves EXP we have adopted a framework approach that enables integration with existing partners and other technologies. We understand the importance of respecting the technology choices and existing partnerships of broadcasters and streaming platforms. Our objective is not to replace current systems with a white-label product, but rather to take existing experiences to the next level. By doing so, we target concerns regarding the technical complexities associated with creating next level watching experiences and make this process easy.

Our products provide seamless integration capabilities for various elements such as custom content resolution, metrics and user analytics, and custom media players.

When it comes to the final front-end integration, we provide two options to our customers. The first option is to utilize pre-built user experiences developed by NativeWaves for different event and sport types. These experiences can be further customized and themed according to preferences. The second option is to build a custom user experience using the NativeWaves EXP engine as a technical foundation.

The EXP Framework

The NativeWaves EXP Framework consists of multiple parts, visualized in the diagram below:

  • EXP Engine
  • EXP Manifest
  • EXP AppConfig
  • EXP Selectors + EXP Handler
  • EXP Watching Experiences
EXP Components Overview
EXP Components Overview


EXP Engine

The exp engine is the heart of the EXP Framework. It has the following responsibilities:

  • Responsible for one watching experience
  • Needs to be independent of UI (can work with any UI by connecting to pre-defined interfaces)
  • Needs to be framework independent (e.g. independent from React)
  • Can handle multiple EXP Manifests (e.g. for conference experience)
  • Enables communication between different experiences (common communication interface)

At the moment, the EXP Engine is primarily a conceptual element and will mostly align with the EXP Core SDKs that are described in the later section for the Web, Android and iOS SDKs.

Please find more information can be found in the EXP Engine section.

EXP Manifest

The EXP Manifest serves as a repository of relevant information for the Event Watching Experience. It focuses on time information, AV (audio/video) playback, and specific details related to an event.

More information can be found in the EXP Manifest section.

EXP AppConfig

The EXP AppConfig enables remote configuration and control of pre-built NativeWaves experiences. It handles theming, customization options, and more, providing a centralized platform for easy management.

More information can be found in the EXP App Config section.

EXP Selectors & EXP Handlers

An EXP selector is the part of the app that selects and chooses which experience should be loaded. This can be done using the selection logic from the EXP App Config or by implementing your custom decision logic inside your app.

The EXP Handler is the part of your app that manages an instance of an event watching experience.

EXP Watching Experiences

The EXP watching experience is the actual part where the playback, Playback Controls, Data Integration, etc. is rendered and visualised.