Blog

Taking a Different Approach to NMOS Software Development

In 2021, we were warned developing NMOS support in our low-latency encoders and decoders would be painful. We were told numerous horror stories (that exist to this day) about all the problems implementing the protocol and the interoperability challenges with third-party control systems.

It was clear that a different approach was needed to develop our NMOS implementation. Instead of developing NMOS as part of our product, we initially developed an “NMOS pathfinder”, a simulator of the NMOS protocol that we could then send to customers for testing. We took inspiration from the concept of a “pathfinder” in the aerospace industry, a test-article with partial functionality of a finished article, to understand challenges. This blog post explains how this approach allowed for rapid iteration to implement the protocol quickly and efficiently.

What is NMOS?

Networked Media Open Specifications (NMOS) is a family of free, open, vendor-neutral APIs developed by the Advanced Media Workflow Association (AMWA) to promote interoperability between networked media applications. It defines how the different devices in the network should communicate with each other. Put simply it allows ST-2110 receivers to join uncompressed flows, and for ST-2110 senders to advertise their flows.

The Challenge of NMOS Development

In previous blog posts we have written about some of the challenges with NMOS. One example is the difficulty of understanding NMOS SDP files. Practically, the challenge is we would need to test with numerous third-party devices and control systems, and in some cases particular customer-specific variations of NMOS. It would be impossible to have all these combinations in our lab.

We therefore sought a more flexible and efficient development strategy, and finally settled on one inspired by the aerospace industry’s concept of a “pathfinder.” The Space Shuttle Enterprise pictured above is an example of this – it lets engineers test elements of a design, in this case the ability to land like a glider, but unlike a prototype it has reduced functionality, in this case it can’t actually go to Space.

While our encoders and decoders were already fully developed and deployed, we used this pathfinder approach for our NMOS software development, enabling us to test and iterate quickly without affecting our existing product functionality. Most importantly, the complexity of NMOS didn’t affect existing areas such as SDI and ST-2022-6.

Separating the Feature from the Product

Typically, features like NMOS are added as a feature to a fully-fledged product. Instead, we took the feature out of the product and sent it to our customers to test for compatibility. Our “NMOS Pathfinder” behaved like a fully functional product from an NMOS perspective but actually was a simulator. Only when NMOS was validated across all customer sites and control systems did we integrate it into the product.

This separation between feature and product allowed us to iterate rapidly. An automated build system allowed building a new version in around a minute. This was key to understanding the behaviours of numerous control systems at different customer sites.

In the end this led us to develop NMOS much faster than other manufacturers, with a working implementation in a few months, where others took years. This was because we were unburdened by NMOS being tied to our actual product – the two could be developed separately and joined later. A few months after the creation of the pathfinder, its work was done and it was integrated into the product – but the “nmos-pathfinder” name lives on internally.

What’s notable is months of work of a complex protocol ended up boiling down to around six trivial SNMP SET commands to our product. But that’s the price of progress…

Conclusion

By leveraging the pathfinder concept, we have navigated the complexities of NMOS in a more agile manner – quickly and effectively. Today, our encoders and decoders have native support for NMOS, up to 100 Gigabit Ethernet support and wide interoperability with third-party control systems. Learn more about our low-latency encoders and decoders.

Open Broadcast Systems

About Open Broadcast Systems