You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 9 Next »

1. Objective

1.1 What is Ripple?

Ripple is derived from Firebolt Reference implementation, it is a Rust-based Application gateway that provides support for System, Native, and 3rd party applications for Video-based devices. Ripple will provide a Firebolt Gateway which will be used by Distributors and App Developers to interact with the Application platform to discover, launch, and manage video streaming applications.

1.2 Why do we need Ripple?

Standardization: Ripple provides a secure and standardized Firebolt API gateway for 3rd party applications to communicate with the underlying platform. 

Certification: Ripple versions are certified using a stringent set of Firebolt Certification suites and it can be tested across multiple platforms. This offers increased quality control which can be scaled across devices and operators.

Abstraction: Ripple abstracts the applications from the underlying platform such that the platform can be upgraded or changed altogether.

Extensible: Ripple can extend to multiple device types and platforms through Extensions more about it here. // insert link

Configurable: Ripple uses Manifests, RFC(thunder), Contracts, and best of all Extensions to offer configurations for Operators and App developers.

Secure: Ripple uses Firebolt capabilities and defines multiple layers of checks like Supported, Availablity, Permitted, and User Grants to ensure Consumer Privacy and App Security.

Portable: Ripple is small in size and can be easily bundled into the device. App Platform developers can build Extensions by fulfilling the contracts defined in the Ripple SDK.

How is Ripple used right now?

RDK-M Video Accelerator Devices

Video Accelerator device uses Navigator UI to offer a Video Platform experience on these devices.

 Video Accelerator UI version 4 will use Ripple to offer support for Firebolt applications which are part of the catalog.

Onboarding

Repository

Ripple can be found in Github Repo https://github.com/rdkcentral/Ripple

Development

The preferred developer environment would include

  1. VsCode or Neo Vim
  2. Rust Analyzer
  3. Precommit 
  4. Rust Clippy
  5. Rust format

More instructions here

Commit Hooks

Precommit is the preferred tool used for setting up the git hook for local development.

Ripple uses Clippy for local git hooks to do format and static analysis on the code before it is committed. So always run precommit install  on a new workspace.

Detailed instructions are provided here

Contribution

CI/CD

Architecture

Reasoning

Why Rust?

Why Extensions?

Why Contracts?

HLA

Manifests

Bootstrap

IEC

ADRs

Links and Stuff

TBA



  • No labels