All through my early career as a software engineer, standards dominated the development of products. Video formats, communication protocols, and for a poor graduate software engineer the literally irrational fractions involved in drop frame timecode seemed almost sadistic. However, engineers developed to these standards and our products all worked with each other, well most of the time!
There are of course two types of standards, the official ones created by formal bodies/institutions such as SMPTE 259M – SDI, and then de facto standards such as Sony 9 pin protocol for serial device control which become standards through mass adoption. Our industry relies on both, so when is it right to formalise standards and when should we take the arguably simpler approach of adopting a manufacturer’s implementation?
When we go down the formal standardisation approach, I think we face the standards paradox – the more use cases the standard encompasses the less standard it becomes. Let me illustrate my point with a non-technical example: if I wanted to define a ‘standard’ sweater that everyone could wear, the definition of the sweater would end up being very large to accommodate different body shapes, something like size XXXL. The problem is that while most people can put the sweater on, it doesn’t fit the needs of the majority.
I’ve used a size analogy because the standardisation problem becomes worse with size, the broader the definition the greater the scope for incompatibility. I remember at the time that MXF (Media Exchange Format) was being worked on, I heard the phrase “compliant does not equal compatible”. Unfortunately, I can’t remember who to credit this phrase to, but it wonderfully captures our standards paradox. More specifically what it means is that two systems can both be compliant with a standard to exchange information, but this compliance doesn’t guarantee they are compatible and interoperable. If the standard encompasses many different data formats and structures, each system could have implemented different parts of the standard, so are compliant but will never work together.
A real-life example of the compliant/compatible standards paradox is the existence of the AIMS Alliance. The excellent work that was done in the creation of the SMPTE 2110 standard for broadcast video over IP still left significant issues with interoperability. This was addressed by the creation of a consortium of businesses coming together (AIMS) to address interoperability within the standard. Is this a failing or shortfall in the 2110 specification? No, I don’t believe so, it is more a reflection that as we move into a world where generic IT equipment is being used for a wide range of media applications the creation of a standard is massively more complicated. We have moved from a world where products were predominantly single-function hardware devices with point-to-point connections for media and control, to a world where generic computers and networks are required to fulfil wide-ranging media operations, a far more difficult environment to introduce standards into.
The next logical question is, should we just forget attempting to define open standards? Look at the success of NDI, another form of video over IP. Often, and inaccurately, positioned as a competitor to the SMPTE 2110 standard, NDI is a proprietary licensed technology for video over networks that has seen incredible adoption. The single point of truth (or more accurately control) also alleviates the type of interoperability work fulfilled by AIMS. Is this a better approach for standards in our industry? Clearly it has worked with NDI, but the counterargument is that open standards aim to prevent any commercial advantage for specific businesses, and should avoid the risk of financial exploitation. For many companies, this will be key in deciding whether to adopt a standard.
So, with the complications and different approaches in the world of standards, are they still useful, and should we invest in them? In my view they are essential, both open standards and proprietary. Our industry is constantly pushing the boundaries of technology, and we have a large number of vendors whose systems must effectively interoperate for our customers’ businesses to function.
The simple answer is that we just need standards that encompass “everything, everywhere, all at once”, and I’ll leave that requirement to our industry’s technical leaders to grapple with.