Hybrid Web Publishing System for Decoupled Design and Code Workflows

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing website publishing and management systems are inefficient due to the limitations of design tools, which often require programmers and designers to take turns modifying designs, leading to a non-liquid design flow and security concerns when allowing external code, and do not cater to the strengths of different stakeholders.

Innovation Solution

A hybrid web publishing system that includes a locally instantiated graphical design tool and a server-based code editor, allowing designers and programmers to work independently while ensuring seamless collaboration and security by isolating the design environment from modifications made using the code editor, enabling the combination of design and code modifications on a server.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If a graphical design tool allows designers to specify website designs without programming knowledge, then ease of operation is improved, but the ability to make precise code modifications is worsened

Engineering Contradiction:
Improveease of design specificationVSAvoidcode modification precision
Core Design Contradiction:
Ease of operationVSManufacturing precision

Solution Approach 1:

The system divides the web publishing workflow into separate modules: a graphical design tool for visual design specification and a code editor for precise code modification. Each module operates independently with its own user interface tailored to specific user needs, allowing designers to work visually while programmers can precisely modify code without interfering with each other's workflows

Inventive Principle:
Principle #1Segmentation

2Ease of operation

If designers and programmers work independently in separate tools, then ease of operation is improved for each stakeholder, but device complexity increases due to multiple tools and integration requirements

Engineering Contradiction:
Improvestakeholder-specific tool optimizationVSAvoidsystem integration complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

A server-based integration layer acts as an intermediary between the graphical design tool and the code editor. This intermediary receives design specifications from the graphical tool, translates them into appropriate code structures, and delivers them to the code editor for modification. The server handles the complexity of format conversion and data synchronization, allowing clients to use simple, optimized interfaces for their specific tasks

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If the design environment allows external code execution, then adaptability is improved, but security risks increase due to potential malicious code

Engineering Contradiction:
Improvecode execution flexibilityVSAvoidsecurity risks from malicious code
Core Design Contradiction:
Adaptability or versatilityVSObject-affected harmful factors

Solution Approach 1:

The system extracts the code execution environment from the graphical design tool and places it in a separate, isolated server-based code editor. The graphical design tool operates in a secure, sandboxed environment that cannot execute external code, while the code editor provides a controlled environment for code modification and execution. This separation allows the system to maintain security in the design environment while preserving code execution capability where needed

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS11087074B2Hybrid web publishing system
Publication Date: 2021.08.10 AXURE SOFTWARE SOLUTIONS INC
  • US11087074B2 patent drawing
  • US11087074B2 patent drawing
  • US11087074B2 patent drawing

AI summary

A system comprises a first workstation that locally instantiates a design tool configured to allow a designer to specify a design for a web page. A data store is locally available to the first workstation, and receives and stores the design as a saved design. A second workstation provides access to a code editor to allow a programmer to specify a modification to an encoding of the design. A server means instantiates the code editor for the second workstation, saves the modification as a saved modification, and serves the encoding of the design in accordance with the modification by combining the saved modification with the saved design. The server means seamlessly combines the saved design and the saved modification such that the saved modification and the saved design can each be independently altered and recombined to produce a modified encoding of the design.