Dynamic Runtime UI Generation via Style Code Transformation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing IPTV applications face challenges in creating and maintaining customized user interfaces, as they are complex and require expert knowledge to customize, leading to performance degradation and unintended bugs due to static CSS processing.
Innovation Solution
A method for dynamically generating customized user interfaces by transforming augmented style rules into style generation code, which includes variables, and executing this code on user equipment devices using input variables to produce valid CSS rules, allowing for per-user or per-device customization without modifying the code base.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If static CSS processing is used for customization, then UI customization capability is improved, but system complexity and bug risk increase
Solution Approach 1:
The patent introduces an intermediary system consisting of templates and style sheets that mediate between the base application and customization requirements. Instead of modifying complex application code directly, users work with simplified templates that generate the necessary customizations, reducing system complexity while maintaining customization capability.
Solution Approach 2:
The patent segments the UI customization process into independent template files and style sheet components. Each template represents a discrete UI element or pattern that can be independently customized and combined, reducing overall system complexity by breaking down the monolithic customization problem into manageable segments.
2Manufacturing precision
If expert knowledge is required for code base customization, then customization precision is improved, but ease of operation deteriorates
Solution Approach 1:
The patent uses templates as reusable copies of proven UI patterns and code structures. Instead of requiring users to write custom code from scratch or understand complex code bases, they can copy and adapt pre-defined templates that encapsulate best practices and proven implementations, achieving precise customization without expert knowledge.
Solution Approach 2:
The template system enables self-service customization where users can independently generate customized applications by selecting and configuring templates without requiring expert knowledge of the underlying code base. The system automatically handles the complex code generation and integration processes.
3Adaptability or versatility
If CSS pre-processors are used for customization, then UI adaptability is improved, but processing performance deteriorates
Solution Approach 1:
The patent performs CSS processing and customization generation in advance during template compilation, rather than processing everything at runtime. Style sheets and templates are pre-processed into optimized formats that can be efficiently applied to generate customized applications, improving runtime performance while maintaining customization flexibility.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A user equipment (UE) device for programmatic runtime generation of an application. The UE device receives a UI definition file that includes definitions indicating visual appearance attributes of portions of the application, a set of components that are UI building blocks to be presented within the application, and a set of behaviors that may be performed by the components, where the definitions include attribute-value pairs. The UE device receives a set of component definition files that include code for implementing components that includes the components indicated by the UI definition file and after a beginning of an execution of the application, the UE device parses the UI definition file to identify the visual appearance attributes, the set of components, and the set of behaviors; and dynamically instantiates the set of components based upon the parsed UI definition file and the set of component definition files to create the application.