This blog’s about the history and mystery of Manifest Edit: how it started; how user feedback helped to improve it; and how it’s evolving.
What is Manifest Edit?
Manifest Edit is a tool we created for users who experience difficulties using a single manifest to meet the needs of every device. Closely tied to Unified Origin and Unified Packager, the feature boosts device control and compatibility, making it possible to serve even more viewers with personalized streams.
Manifest Edit: how it started
Like all features and solutions, Manifest Edit was thought up long before its actual release.
Way back when, during conversations with customers and via support cases, we recognized a recurring pattern of viewers experiencing limited playback due to specific edge-case challenges with third-party components. Which made sense. Delivering content to countless smart TVs, set-top boxes, streaming boxes, phones, laptops, and tablets meant grappling with countless intricacies and quirks.
Customers needed a fix that they could quickly deploy to resolve device-specific issues — and that lay beyond the boundaries of standard Origin and Packager outputs, and outside of specifications.
The promise of straightening out all the kinks in the stream, while maintaining the integrity of our own code, inspired us to wonder. What if we could create a solution that could cleverly deviate from specifications — and that we could support easily?
Enter Manifest Edit.
Oddities and obstacles
Hardware gets old, and software versions are supplanted by newer, better-supported, less bug-ridden versions. For Manifest Edit to work well, it had to be able to clear many hurdles.
Here are a few examples from users with particular challenges.
Extending accessibility and inclusive content
New regulations and requirements for playback can mean more accessible and inclusive content for viewers, but they present challenges for VOD content. Some encoders don’t have the capability to signal SDH (Subtitles for the Deaf or Hard-of-Hearing) tracks appropriately, meaning regulation quotas may not be met. When viewers can’t enjoy their favorite programs fully, they probably switch off their devices.
Customizing regional streams
For streaming services delivering to multiple regions, it’s common for a single manifest to present English as its default, followed by three or four other languages. In Sweden, specific devices always start on the default settings, so every time a viewer in the country hits play, the program starts in English. For Swedish, the viewer has to switch to it manually. This may be tolerable once or twice, but encountering this extra step every time may sour Swedes on the streaming service.
Eliminating external traffic
A customer requested that we replace the standard UTC time server with a time server of their choice. While most customers don’t need to change the time server, they had a specific reason: the need to run a closed network for security purposes.
What we set out to do
Our aim was to give customers more control to respond to particular non-standard device and player issues that were sometimes relevant only to them.
For customers, accessing centralized workarounds in a tool that comes with support would mean that instead of spending time troubleshooting, raising bugs, and coding bespoke sidesteps, they could focus on creating high-value features essential to their offerings.
Making the solution lightweight, simple, and quick to start couldn’t hurt. And keeping our support/ops team in mind, we wanted to build the tool so that support cases could be resolved easily. (While we’re at it, why not help ourselves?)
We wanted customers to be able to:
Force a video player to start at a specific bitrate to optimize Quality of Experience (QoS) the moment viewers hit the play button.
Bring viewers even closer to a stream that feels personal to them by setting their preferences as the default in a stream, so the viewers could understand and enjoy content from the get-go.
Re-process existing manifests quickly and edit dynamically in just-in-time (JIT) streaming delivery workflows.
Did we achieve what we tried to achieve?
Yes, we did — and in a way, no, not exactly.
We did create a solution for streaming services that delivered content to multiple players. We did increase control over third-party devices and how they read manifests. And we did pave a way for our support/ops team to resolve support cases in a flexible way. Our Manifest Edit proved to be lightweight, simple, and quick to get up and running, too.
But in our quest to maximize efficiency and diversity of operability, we exposed too much implementation detail, making our solution appear more complicated than it actually is. Since our original idea was to create something separate from Unified Origin and Unified Packager, we had to add a configuration step during installation and upgrades. This step brought us feedback from customers like “I don’t want to install another tool in my already complicated toolchain.”
And, beyond Manifest Edit’s launch, our features library wasn’t generic enough to cover a wider array of changes.
What we learned
For starters, we reflected on the old axiom “if it ain’t broke, don’t fix it.” For those customers who had older but proven workarounds, migrating to something new wouldn’t be a priority. And we understood why. Nevertheless, we’re grateful to those who share their weird and wonderful setups with us — we genuinely enjoy hearing about creative approaches, and nerding out on intricate complexities. Not only that, this information proved to be quite insightful. Anything we learn from one customer that can help ten more with the same issue is a win in our book.
Though fewer than anticipated, other customers who could solve specific problems by deploying Manifest Edit were glad to have a recommended and supported option. Which made us glad too.
Looking back, one of the missteps we made was in marketing. Rather than pitch Manifest Edit as a stand-alone tool apart from Origin and Packager, we should have announced and promoted it as a feature that comes standard. A plugin per use case had a limited appeal and applicability. A universally interchangeable library of solutions that could address more than one use case would have been better. And yes, the installation process of Manifest Edit could have stood more streamlining.
We also learned that sharing stories is key. Since we were one more step removed from devices than our users, we didn’t get direct exposure to the scope of issues that our customers get in their complex workflows.
How we adapted
To shift the ‘add-on’ perception, we switched the installation. Now, the solution is automatically installed and pre-configured by default. Since the solution’s full capabilities are already baked in, there are no additional steps a user must take.
We also integrated Manifest Edit more tightly with the Origin so that it could take advantage of the already powerful manifest logic. Reframing how we think and talk about the solution simplifies the very tool that stands for simplification. Manifest customization is a solution enabled by the Manifest Edit origin feature. The user doesn’t need to find it or add it. Right out of the box, it’s there.
So, what’s new?
Manifest Edit remains a lightweight, flexible solution that customers feel safe using, knowing it’s a fully supported, trusted way to step away from specification. Certainly, it is built well and with attention to detail, and is grounded in years of experience. Instead of thinking about it as an add-on, customers can consider it a perk — a free differentiator — that is tightly integrated with Unified Origin.
In its reimagined form, Manifest Edit offers customers the ability to address a wider range of use cases with a new and improved library of preset options. And there is no barrier to entry. Customers don’t need to bother re-configuring or re-starting their webserver. They can just browse the library, find their issue’s solution, make their own version, and get customizing.
What the future holds
As the announcers on linear television used to say before an ad break: “stick around, we’ll be back right after this.”
Starting with “simple” features that would grow in complexity as the toolset matured originally was — and still is — one of our targets.
Addressing an even broader range of use cases with the default tool set is well underway. We also aim to deliver new out-of-the-box integrations and more complex features. For instance, CMAF (Common Media Application Format) with CBCS (Cipher Block Chaining System) encryption and single period to multiperiod use cases are waiting in the wings. If you’re looking for either of these options we want to hear from you! In the future, amending not only manifests, but media, too, may be possible. The past and present have focused nearly solely on VOD, but the future of Manifest Edit will include live cases.
We encourage users to think creatively about the possible different ways of combining and chaining various use cases to realize specific changes they may need. Get in touch with us to share your stories, ideas, and frustrations. We’re happy to think alongside you to reach a solution.
To realize the full potential of your complex workflows, and avoid any bugs, we always recommend using the latest version of our software. If you already have an Origin or Packager setup installed and would like to try out this feature in its new and improved form with even more preset use cases, upgrade to our latest GA.
If you’re new to our software and would like to try it out, please sign up for a free trial.