UI Rendering Engine Decouples Visualization from Application Logic

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional user interface (UI) development for electronic devices is cumbersome and labor-intensive, leading to inconsistent and visually unappealing UIs across applications, with each application responsible for its own UI rendering, resulting in inefficient data flow and maintenance challenges.

Innovation Solution

A UI framework that separates UI visualization, logic, and data, allowing a single UI rendering engine to interact with multiple applications for seamless data requests, reducing UI-related code in applications and enabling enhanced user experiences through scalable and customizable graphical capabilities.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If each application is responsible for its own UI rendering, then application-specific UI customization is achieved, but UI development becomes cumbersome and labor-intensive with inconsistent UIs across applications

Engineering Contradiction:
ImproveUI customizationVSAvoidUI development complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the UI rendering system into two independent parts: a shared UI rendering engine that handles common rendering tasks, and application-specific UI clients that define their own UI behavior. This allows each application to customize its UI through the client layer without affecting others, while the shared engine provides consistent rendering capabilities, reducing overall development complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a UI rendering engine as an intermediary layer between the application logic and the display output. This mediator handles the complex rendering operations centrally, allowing applications to interact with a simplified interface while maintaining full UI customization capabilities through the client-engine interaction.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If each application handles its own UI rendering independently, then application autonomy is maintained, but data flow becomes inefficient and maintenance becomes challenging

Engineering Contradiction:
ImproveApplication autonomyVSAvoidUI rendering efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent merges the common UI rendering functionality into a single shared rendering engine that serves multiple applications. This consolidation eliminates redundant rendering code across applications, improves data flow efficiency through centralized processing, and simplifies maintenance by providing a single point for rendering logic updates while preserving application autonomy through the client layer.

Inventive Principle:
Principle #5Merging (Combining)

3Productivity

If a shared UI rendering engine is used across multiple applications, then UI consistency and development efficiency improve, but UI customization for specific applications may be limited

Engineering Contradiction:
ImproveUI development efficiencyVSAvoidApplication-specific UI flexibility
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent creates a dynamic architecture where the UI rendering engine can adapt its behavior based on the specific application client requesting rendering. The engine receives application-specific parameters and configurations from each UI client, allowing it to dynamically adjust rendering behavior to meet individual application requirements while maintaining shared infrastructure benefits.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentEP2584464B1Method of rendering a user interface
Publication Date: 2020.02.19 BLACKBERRY LTD
  • EP2584464B1 patent drawingFigure 1
  • EP2584464B1 patent drawingFigure 2
  • EP2584464B1 patent drawingFigure 3

AI summary

A user interface (UI) is presented in which a UI client engine is associated with an application, and a UI rendering engine is associated with the client engine. The UI client engine processes a client thread to manage a scene graph. The UI rendering engine receives the scene graph and data items associated with elements of the scene graph, and processes a rendering thread to render a UI in accordance with the scene graph and the data items, independently of further input from the client UI engine.