Taking a Game Engine Approach to OTT Development
How a user interface engine can solve multiscreen development challenges
When we explain You.i Engine One’s approach to multiscreen development, we make the comparison to game engines. Both types of engines follow a build once, deploy everywhere approach. Build game elements—or in You.i Engine One’s case—an app UI, once and deploy to every supported platform. It’s the dream scenario for our customers in the OTT sector.
Naturally, we are asked, “So, why not use a game engine to develop my OTT apps?”
It’s a fair question. Game engines are undoubtedly a powerful tool for their chosen market. It’s why we at You.i TV have modelled You.i Engine One after gaming engine principles. We embrace the concepts but augment for app UIs—which are a whole different beast entirely. User interface design across multiple platforms brings its own unique set of challenges. It requires a tool specifically built for it. A user interface engine, if you will.
First, you might be wondering why even go down an engine route? In the world of multiple platforms, SDKs, tools, and runtimes, it’s difficult to get a consistent user experience—let alone an engaging one. An engine solves the issues of design control, ease of development, and deployment across a plethora of platforms.
For app user interfaces, an engine should provide a seamless way for designers to create experiences that can be implemented quickly and repeatedly to accommodate rapid design changes during the development phase.
Game engine tooling enables artists to bring their vision to life without being concerned about how the engine works under the hood. A good game engine is also able to provide a consistent experience across the supported platforms without the platform limitations inhibiting the creative process. It must include a toolchain and suite of building blocks to help animators create content. As well as provide tools for the developer’s full control of the gameplay logic to produce an experience that entices the player. This separation of design and development is key. Art and science need to work together but they aren’t mutually exclusive. The developers are not expected to handle recreating the complex animations that the animators have designed. They only need to ensure they work correctly and in correlation with each other during gameplay to create the experience.
User Interface Engine
User interface engines need to embrace the separation of art and science. This is much more complex than simply using a video game engine (and tooling) as a substitute. Game design requires animators and sculptors, whereas user interface design requires interaction designers and visual designers. Very different skill sets. Game engines are not designed to function as user interface engines. Especially for video-centric solutions with heavy personalization, large content stores, and highly dynamic experiences.
During the design phase of a typical OTT application, an interaction designer may go through numerous prototypes, usually created using external tools such as Photoshop, Sketch or After Effects. These prototypes are a visual feast, but until they are built as either functional prototypes or implemented in the UI tool, the actual usability remains unknown. The cost of having software developers constantly trying to recreate these changes can greatly impact timelines and even code quality as corners are cut. Game engines require heavy development cycles catered to visual design. App UIs need to be fluid and open to change. How many times have we seen incredible conceptual designs that never leave the cutting room floor due to limitations of the UI tooling or development schedule constrictions?
A user interface solution that does not provide separation between the designer and developer limits the creativity of both the designer, who’s vision must be compromised, and the developer, who must now spend precious development cycles trying to recreate complex design animations and behaviors.
The second major value in any UI engine is the ability to provide a consistent experience across multiple platforms. This becomes very complex when dealing with the multitude of screen sizes, aspect ratios, resolutions and input methods available. The single biggest cost of developing a video application comes from having to rebuild it to support new platforms. This occurs when platforms are unable to run the underlying engine correctly. Resulting in having to rewrite and maintain custom ports of the application on multiple platforms.
Unlike the gaming world where platforms tend to play nice, there are some hardware options in streaming that only support a single way to build applications. Roku, for example, requires developers to use BrightScript, a BASIC style language that is unique to the platform. This normally requires a custom application to be built and maintained with dedicated teams and varying release cycles. Trying to juggle everything means timelines are affected, features aren’t consistent, and worst, customers are not happy because of inconsistent user experiences.
I’ll dive deeper into these cross-platform challenges in another post. Until then, here’s an overview of how we brought Roku into our existing development environment.
User interface engines also have unique challenges, such as efficiently handling constantly changing content, multiple languages and language layout considerations, video playback, analytics, digital rights management, etc.
You.i Engine One is a true user interface engine that provides a patented solution that embraces designer tools, creating a unique separation between visual presentation and application business logic. The designers are free to build in the tools they are familiar with, even modifying complex nested animations and visual layouts, without any developer interaction or intervention. Software developers are free to build the application business logic and content management system integrations without needing to be concerned about design changes. A/B testing of different designs can be done without any developer impact at all. This results in a clean separation of responsibilities, which in turn means shorter development cycles, more accurate sprint planning, and less ‘hacking’.
It’s the only user interface solution that seamlessly allows designers and programmers to develop for streaming platforms without needing to maintain independent development teams.
I hope this post has helped shed some light on 1) the benefits of an engine approach for OTT development, and 2) why UI challenges require a UI solution. Game engines, although powerful, are not set-up to handle the demands of certain industries. Game engines cannot support the breadth of devices required by the streaming sector. They can’t optimize for lower-end devices. They don’t support complex video features such as seeking, thumbnails, or required DRM support. Their tools are custom and aimed at animators and sculptors.
You.i Engine One, in contrast, is a framework specifically designed for UI development across multiple platforms. We can reach lower-performing devices, like Roku, without a separate development environment. We have proven experience working with popular video integrations. We also have industry-standard visual design tools, aimed at visual designers. For a complete end-to-end explanation of You.i Engine One, watch our fundamentals series.