Virtual Rendering Surface for Cross-Platform Document Consistency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing systems for rendering electronic documents on different user devices lead to inconsistent views, causing confusion during collaborative sessions due to differences in rendering processes across platforms, and require re-rendering the entire document for minor changes, which is inefficient.
Innovation Solution
The method involves maintaining a virtual rendering surface to store the state of the document and applying operation commands selectively, allowing for interactive rendering of a visible portion of the document on a user device, reducing computation complexity by rendering only the necessary parts and using a shared layout mechanism to ensure consistent layout across platforms.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the entire document is re-rendered for any change in settings, then the document state is consistently updated, but the rendering time and computational resources increase significantly
Solution Approach 1:
The rendering surface is divided into multiple virtual rendering surfaces, each representing a specific state or view of the document. This segmentation allows selective rendering of only the necessary portions rather than re-rendering the entire document, thus reducing rendering time while maintaining state consistency through coordinated state management across segments.
Solution Approach 2:
The system pre-renders and stores multiple states of the virtual rendering surface in advance. When a user interacts with the document, the system can quickly switch between pre-computed states or apply changes to specific segments rather than re-rendering everything, significantly reducing the time penalty for document updates.
2Adaptability or versatility
If the document is rendered on different user device platforms, then the document is accessible across multiple devices, but the rendering consistency deteriorates due to different platform parameters
Solution Approach 1:
The system implements a universal virtual rendering surface model that can be rendered across different platforms. By maintaining a platform-agnostic virtual representation of the document and its states, the system ensures consistent layout and appearance across diverse user devices while adapting the rendering output to each platform's specific capabilities.
Solution Approach 2:
The system creates and maintains copies of the virtual rendering surface states that can be transferred and rendered across different platforms. These state copies preserve the original document layout and appearance, ensuring rendering consistency when the same document is viewed on different user devices with varying platform parameters.
3Adaptability or versatility
If programming modules are duplicated on different platforms, then each platform has native rendering capability, but the system complexity increases and changes must be integrated across all platforms
Solution Approach 1:
The system introduces a virtual rendering surface as an intermediary layer between the document content and platform-specific rendering engines. This intermediary abstracts the document representation, allowing a single source of truth to be maintained while enabling native rendering on each platform without duplicating business logic or requiring complex integration of changes across multiple platform codebases.
Data Source
AI summary
The technology herein involves accessing content of an electronic document and a shared layout for the electronic document, wherein the shared layout provides a layout for user devices having different dimensions of display areas; rendering the content of the electronic document onto a primary rendering surface and a secondary rendering surface, wherein the primary rendering surface is associated with a native platform of a user device and the secondary rendering surface is associated with the shared layout of a server; applying operation commands to modify the primary rendering surface, the operation commands resulting from a user interaction with the electronic document; merging the operation commands into a merged operation call; and invoking the merged operation call to modify the secondary rendering surface, wherein the merged operation call reduces a number of operation calls that modify the secondary rendering surface and is shared with the server to modify the shared layout.


