When Comcast began introducing the Reference Design Kit (RDK) to MSOs, it was mostly the United States market that actively considered it for next generation set-top box (STB) software, but as things progressed, cable operators from around the world began evaluating the RDK as well, hopeful that it would provide the right set of features.  

As stated by the RDK Management LLC, “the RDK was created to accelerate the deployment of next-generation video products and services. It enables TV service providers to standardize certain elements of these devices, but also to easily customize the applications and user experiences that ride on top.”

RDK is continuing to mature with each release, but it’s important to understand the architecture and what other functionality an operator might need to complete the offering.

RDK consists of a number of open source and RDK LLC licensed components that provide particular feature sets needed in a STB to deliver media, this includes a media pipeline, user interface (UI) framework, various supporting libraries for graphics and other utilities. Some features are actually provided as part of the system-on-a-chip (SoC), but others are part of the platform software that lies above the SoC.

At first many operators had the impression you would be able to download RDK and it would provide essentially a working STB, but that isn’t really the intent. Every operator needs to integrate their UI, security, back office systems and their unique business rules. It is also important to understand that many of the components within RDK are frameworks for implementing features, but the implementation, which is often custom for an operator, is not actually included.

Application Framework

Along with implementing the components of RDK, to complete a deployment it is generally important to have an application framework that works in concert with RDK to implement the UI, back office provisioning systems and operators unique business rules.

The application framework can be custom built by an operator’s own development team or provided by a systems integrator. A number of important features that might be included are:

• Browser – Delivers optimal performance and advanced features for HTML5 UX implementations with tight integration to low level graphic acceleration libraries.

• Application Life Cycle Management – Allows operators to have more than one application running simultaneously, where the remote knows which is active and when and how to quit.

• Support for Multiple Operating Systems – Allows operators to have multiple OSs running on the same platform.

• Window Management – Provides server/client window handling and event management.  It also controls the device-driver layer to process graphics drawing requests from the client.

  • Media Control – Manages bi-directional communications for tuning and service information handling, such as acquisition, decryption (DTCP-IP/DRM), decoding, presentation, and trick play for all Ul devices. This requires managing all possible delivery streams and various destination specifications, including providing secure content delivery.
  • Device Administration –  Supports tools for network and STB monitoring, management and service configuration

A sample of RDK STB software solution requirements.


Another important component that completes the offering is security. With the plethora of devices that are emerging on the market, security can become a complex issue. There are now a number of offerings for IP that do not use the traditional CableCard based security. As well, with the recent FCC waivers there is movement away from CableCards embedded in STBs.  Operators need to decide on their complement of devices they plan to offer. Will it be a headed or headless gateway with hubs, will it be more cloud centric, will it include consumer devices; likely a mixed offering.

To support this new TV Everywhere paradigm, security becomes more challenging. Operators are not only supporting content delivery through RDK STBs, but also delivering over IP directly to mobile and tablet devices. As well some operators are integrating other content solutions that may require specific DRM security.

RDK does not provide the security solution, so operators need to determine their security plan. If they are headed to an ecosystem without CableCARDS they can consider downloadable and exchangeable conditional access (CA) software. This allows them to remotely download the security solution and frees them from vendor lock-in. It also helps them easily upgrade security as needed. In any case, once deciding on their hardware targets, this is another area operators must consider outside of the RDK software.

Collaborative Code Management

Lastly it is important to understand what code management means in an environment that is essentially made up of open sourced software. Having a code management structure that allows the operator a full view of all the components and easy access for all providers to test and check-in their code is even more critical than ever.   

As a principal architect with a top-5 MSO recently explained, “before RDK we had no power to do our own deep investigation into issues.  Now, we can dig down into the source code.  Troubleshooting is a matter of hours and days, not weeks and months”.

Developing at the tip of the RDK source code trunk is very important.  It provides operators the ability to capitalize on the continuous improvement velocity from the open source community.  Dev/Ops procedures need to be managed in order to tightly orchestrate the operator’s platform vendors to achieve maxim effectiveness

Code collaboration environment with SoC/OEM/RDK and operator software contributors.

To manage all the software sources a robust Collaborative Development environment is needed that allows for managed builds, testing and releases. This framework should allow all developers easy access to submit and update their source with a view of the whole ecosystem.

Collaborative code development and test workflow using a continuous integration process.

As operators move to an open source solution there are a lot of benefits. RDK provides an excellent foundation to build upon.  The open source community can help build features for everyone, and the SoC manufacturers can create viable solutions for a variety of deployments. Operators will also have transparency and are less likely to feel locked in with vendors. But open doesn’t equate to simple, so it’s important to evaluate other parts of the solution like an Application Framework, Security and Code Management when moving to RDK.

A thoughtful approach to building an RDK solution will benefit the operator both during and after deployment, making future support and subsequent releases a much smoother process.