Graphics Platform Abstraction Layer for Cross-Platform UI Consistency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Designing a user interface (UI) that is appealing and consistent across various client platforms, such as browsers, gaming consoles, smartphones, and tablets, is complex due to platform-specific quirks and vendor details, requiring significant adaptation and rewriting of UI code for each platform.

Innovation Solution

A graphics platform abstraction layer that interfaces display node trees to underlying platform objects, allowing for platform-independent UI design by abstracting platform-specific details and using implementations like HTML, canvas, and WebGL to optimize rendering and styling across different platforms.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If UI code is adapted for each platform to handle platform-specific quirks and vendor details, then the UI operates correctly and efficiently for each platform, but the complexity and time required for UI design and development increases significantly

Engineering Contradiction:
ImproveUI operation correctnessVSAvoidUI design and development time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent introduces a platform abstraction layer that acts as an intermediary between the UI code and the underlying platform-specific implementations. This abstraction layer handles platform-specific quirks and vendor details, allowing the UI code to remain platform-independent while still operating correctly across different platforms. The abstraction layer translates generic UI operations into platform-specific operations, resolving the contradiction by eliminating the need for platform-specific UI adaptations.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If UI code is adapted for each platform to handle vendor-specific details, then the UI operates correctly for each browser or platform, but the ease of manufacture and code reuse decreases

Engineering Contradiction:
ImproveUI operation correctnessVSAvoidUI code development ease
Core Design Contradiction:
ReliabilityVSEase of manufacture

Solution Approach 1:

The patent implements a universal UI layer that can operate across multiple platforms through a single codebase. The platform abstraction layer provides multi-functionality by supporting various platforms (browsers, gaming consoles, smartphones, tablets) through a unified interface. This allows the same UI code to be manufactured once and deployed universally, eliminating the need for separate platform-specific code adaptations while maintaining correct operation on each platform.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Productivity

If platform-specific adaptations are made for each client platform, then the UI operates efficiently for that platform, but the device complexity and number of code variations increases

Engineering Contradiction:
ImproveUI rendering efficiencyVSAvoidCode base complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The platform abstraction layer serves as an intermediary that manages the complexity of platform-specific implementations. It provides a unified interface to the UI code while handling the variations in platform-specific rendering and operations. This reduces the code base complexity by eliminating the need for multiple platform-specific code versions, while still maintaining productivity through optimized platform-specific implementations hidden within the abstraction layer.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9836441B2Platform abstraction of graphics
Publication Date: 2017.12.05 HOME BOX OFFICE INC
  • US9836441B2 patent drawing
  • US9836441B2 patent drawing
  • US9836441B2 patent drawing

AI summary

The described technology is directed towards a graphics platform abstraction layer that couples an application program's user interface objects to any of a variety of underlying platforms, including browsers that host the application program or the operating system's UI objects. The graphics platform abstraction layer loads an appropriate implementation for calling objects of the underlying platform, and interfaces the application program to the implementation, whereby the application program may be independent of any underlying platform. The graphics platform abstraction layer also may load code that deals with quirks of a given browser/version and/or other vendor-specific details.