Online Table Cell Splitting Using Existing Layout Primitives

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing online document editors face challenges in splitting table cells efficiently without increasing computational resources or code complexity, as introducing new storage and layout primitives for split cells leads to a high engineering burden and resource requirements.

Innovation Solution

Implement table cell splitting at a controller level using existing storage and layout primitives for rows, columns, and merged cells, allowing for efficient cell splitting operations with minimal computational impact by avoiding the introduction of new primitives.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If new storage and layout primitives are introduced for split cells, then cell splitting functionality is enabled, but device complexity and engineering burden increase significantly

Engineering Contradiction:
Improvecell splitting functionalityVSAvoidstorage and layout primitives
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the cell splitting functionality into two distinct layers: the storage/layout layer (using existing primitives) and the display/editing layer (using virtual split cells). This segmentation allows the system to provide split cell functionality without modifying the core storage and layout primitives, thereby avoiding the complexity increase while enabling the desired adaptability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a controller as an intermediary component that mediates between the user interface (displaying/editing virtual split cells) and the storage layer (using existing primitives). The controller translates user interactions with virtual split cells into operations on the underlying table structure, preventing the need to modify storage primitives while enabling split cell functionality.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If new storage and layout primitives are added for split cells, then split cell operations are supported, but resource requirements (processor and memory) increase

Engineering Contradiction:
Improvesplit cell operationsVSAvoidprocessor and memory requirements
Core Design Contradiction:
Adaptability or versatilityVSUse of energy by moving object

Solution Approach 1:

The patent creates virtual copies of split cell representations in the display layer without creating actual duplicate data structures in storage. The controller manages these virtual representations, allowing multiple views of the same underlying cell data without increasing memory requirements for storing the actual table content.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The controller acts as a mediator that handles the computational overhead of managing split cell operations, translating high-level user intentions into efficient low-level operations on the existing table structure. This prevents the increase in processor requirements from propagating to the entire system.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If code is added to handle display and editing operations on new split cell primitives, then split cell functionality is implemented, but code complexity increases

Engineering Contradiction:
Improvesplit cell display and editingVSAvoidcode complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the codebase into distinct modules: the existing storage/layout code (unchanged), the controller logic (new), and the display/editing UI code (new). This segmentation isolates the complexity of split cell handling to specific modules, preventing it from propagating throughout the entire codebase and making the system easier to maintain.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The controller serves as an intermediary layer that absorbs the complexity of coordinating between the display/editing operations and the storage system. By centralizing this coordination logic in the controller, the patent prevents complexity from being distributed across multiple parts of the codebase, thereby reducing overall code complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Device complexity

If existing storage and layout primitives are used for cell splitting, then engineering burden is reduced, but complex splitting operations require automated processing

Engineering Contradiction:
Improveengineering burdenVSAvoidcell splitting operations
Core Design Contradiction:
Device complexityVSExtent of automation

Solution Approach 1:

The system implements self-service automation where the controller automatically handles the complex coordination of split cell operations based on simple user input. When a user requests to split a cell, the controller automatically manages the creation of virtual split representations, updates the display, and coordinates with the storage layer without requiring manual intervention for each sub-operation.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The controller implements feedback mechanisms that monitor the state of the table and automatically adjust the display and storage representations accordingly. This feedback loop enables the system to automatically handle complex splitting operations while maintaining consistency across layers, reducing the engineering burden of manually managing each aspect of cell splitting.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS12572732B2Table cell splitting in an online document editor
Publication Date: 2026.03.10 GOOGLE LLC
  • US12572732B2 patent drawing
  • US12572732B2 patent drawing
  • US12572732B2 patent drawing

AI summary

Techniques are described herein for table cell splitting in an online document editor. A method includes: responsive to a request to split a cell in a table, determining a target number of rows and a target number of columns, automatically inserting rows adjacent to rows of the cell to reach the target number of rows, automatically inserting columns adjacent to columns of the cell to reach the target number of columns, and automatically merging groups of cells within an initial boundary of the cell, each group spanning a determined number of rows per group and a determined number of columns per group.