Multi-User Canvas View Synchronization and Activity Indicators
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Digital whiteboard technologies face challenges in synchronizing user views on an infinite canvas, leading to difficulties in coordinating actions among geographically distributed users, potentially causing chaos as users struggle to locate their viewport within the larger canvas and determine others' activities.
Innovation Solution
Implementing synchronization methods such as 'View Sync' for one-to-many synchronization, 'Sync View' for one-to-one synchronization, and activity indicators to notify users of off-screen activities, allowing users to automatically synchronize their views with the moderator or other participants, and change their viewport to match the active user's perspective.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If users navigate freely on an infinite canvas without view synchronization, then each user can independently explore and interact with content, but users lose track of their viewport position relative to the overall canvas and other users' activities
Solution Approach 1:
The system implements view synchronization that provides continuous feedback to users about their viewport position relative to the overall canvas and other users' views. When a user navigates or zooms, the system broadcasts this view state to all other users, enabling them to understand where each participant is located on the infinite canvas without restricting independent navigation.
2Ease of operation
If users navigate independently on the infinite canvas, then each user can focus on different content areas, but coordination among users becomes difficult and chaotic
Solution Approach 1:
The system introduces a view synchronization intermediary that mediates between independent user navigations. This intermediary collects view state information from all users and distributes it to others, creating a coordinated overview without restricting individual exploration. Users can independently navigate while the intermediary maintains awareness of all viewport positions and facilitates coordination.
3Reliability
If view synchronization is implemented to maintain coordinated views, then users can easily locate and coordinate their actions, but users lose the ability to independently navigate and explore different canvas regions
Solution Approach 1:
The view synchronization system is implemented dynamically rather than statically. Users can enable or disable synchronization as needed, and the system adapts to different collaboration scenarios. When synchronization is active, it provides reliable view coordination; when disabled, users regain full independent navigation capability. This dynamic approach allows the system to switch between coordinated and independent modes based on user needs.
4Area of stationary object
If the canvas remains truly infinite without constraints, then users have unlimited workspace, but it becomes impossible to synchronize views across different user devices
Solution Approach 1:
The system adds a temporal dimension to view synchronization on the infinite canvas. Instead of trying to synchronize spatial positions directly across an unbounded infinite canvas, the system synchronizes the state of views over time, allowing users to navigate freely while maintaining awareness of relative positions through continuous state broadcasting and synchronization.
Data Source
AI summary
Several methods are described herein to allow users to manage and synchronize views in a multi-user application with canvas (infinite or otherwise) and limited or unlimited zoom. Without these synchronization methods, coordinating views is very difficult, and may lead to chaos as one or more of the users gets lost on the canvas. A “View Sync” method provides for many-to-one synchronization, where many users are automatically synchronized with one user. A “Sync View” method provides for one-to-one synchronization, where one user is synchronized to another user's view. Preferably, off-screen “activity indicators” also are used within the viewport to provide visual cues regarding where other users are drawing or creating content on the canvas. Tapping on an activity indicator preferably performs one-time Sync View with the selected other user.


