Web-Based Collaborative Inking via Serialized Ink Objects
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current pen computing applications limit real-time collaboration in team environments, as they require specialized software not available in web browsers, making it cumbersome to share and edit handwritten annotations across different platforms and time points.
Innovation Solution
A web-based collaborative inking application that extends or integrates with web browsers, allowing real-time or asynchronous collaboration by injecting rendering contexts, serializing ink data, and utilizing a remote server for session management, enabling multiple users to interact and edit digital ink across various web browsers and platforms.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If specialized pen computing applications are used for sharing handwritten annotations, then collaboration functionality is improved, but device complexity and accessibility are worsened
Solution Approach 1:
The patent makes the collaboration system universal by implementing it through web browsers rather than requiring specialized pen computing applications. The system uses standard web technologies (HTML5 canvas, SVG, WebSocket) that are already widely available, allowing any user with a web browser to participate in collaborative inking sessions without installing additional software.
Solution Approach 2:
The patent introduces a server as an intermediary that mediates between multiple clients. The server receives ink data from one client, stores it, and distributes it to other clients. This intermediary approach allows complex collaboration functionality to be achieved through simple client applications that only need basic web browser capabilities.
2Adaptability or versatility
If handwritten annotations are saved as images for sharing, then compatibility is improved, but real-time collaboration capability is worsened
Solution Approach 1:
The patent changes the fundamental parameter of data representation from static images to dynamic, serialized ink data structures. Instead of converting annotations to image format for sharing, the system transmits structured ink data (containing stroke information, coordinates, and timing) that can be rendered in real-time on remote devices, enabling both compatibility and real-time collaboration.
Solution Approach 2:
The patent implements continuous real-time collaboration by using WebSocket connections to maintain persistent communication channels between clients and server. Ink data is transmitted continuously as it is created, allowing other participants to see annotations appear in real-time without the interruption of save-and-share cycles.
3Productivity
If ink data is transmitted between users, then collaboration capability is improved, but network bandwidth consumption is worsened
Solution Approach 1:
The patent segments ink data into individual stroke elements rather than transmitting entire images or large data blocks. Each ink stroke is represented as a discrete set of coordinate points and styling information, allowing for efficient compression and selective transmission. This segmentation reduces overall data size while maintaining collaboration efficiency.
Data Source
AI summary
Techniques for web-based collaborative inking sessions via a computer network are described in this document. In one embodiment, a first computer can serialize detected pointer input at a first computer into data representing one or more ink objects individually representing an image or animation corresponding to the detected pointer input. The first computer can then transmit the data representing the serialized ink objects to the second computer via the computer network. Upon receiving the transmitted data, the second computer can de-serialize the received serialized ink objects, reconstruct the image or animation corresponding to the detected pointer input at the first computer, and surface, to a second user, the image or animation of the detected pointer input on a second web browser surfacing the same webpage on the second computer, thereby enabling a web-based collaboration session between the first and second users.


