Independent Filter Management in Collaborative Spreadsheets
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Collaborative cloud computing services lack the ability for multiple users to independently apply and manage filters on spreadsheets, leading to interference and limitations in viewing and editing shared data, as changes are automatically propagated to all users, preventing independent filter applications and storage of multiple filters.
Innovation Solution
The system allows users to apply filters independently on their local copies of cloud-stored spreadsheets, with filter selections not being communicated to other collaborators, enabling each user to create, edit, and manage their own filters without affecting others, and sends mutations referenced to either the unfiltered or filtered sheet for proper display.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If filter selections are automatically propagated to all collaborators like normal edits, then real-time collaboration consistency is maintained, but independent filter application and management by multiple users becomes impossible
Solution Approach 1:
The patent segments the filter application functionality from the collaboration propagation mechanism. Filters are applied locally to each user's view without being propagated to other collaborators, while still maintaining the ability to share filter definitions. This segmentation allows independent filter application while preserving collaboration consistency for actual data changes.
Solution Approach 2:
The patent introduces an intermediary mechanism where filter definitions can be shared among collaborators, but filter applications themselves remain local. The system mediates between individual filter preferences and collaborative consistency by allowing filter definitions to be exchanged while keeping the actual filtering operation user-specific.
2Adaptability or versatility
If a single filter is applied to the shared spreadsheet, then all users see consistent data views, but multiple users cannot apply different filters to overlapping data sets simultaneously
Solution Approach 1:
The patent divides the filter system into two independent components: filter definitions (which can be shared and stored on the server) and filter applications (which are local to each user). This segmentation enables multiple users to have different filter applications on the same data while maintaining a unified system architecture.
Solution Approach 2:
The patent implements local quality by allowing each user to apply filters locally to their own view of the spreadsheet. Each user's filter application is independent and affects only their local display, enabling diverse filter configurations across different users without requiring a complex centralized filter management system.
3Adaptability or versatility
If filter applications are communicated between collaborators, then filter consistency is maintained across users, but users cannot create and manage their own independent filters
Solution Approach 1:
The patent extracts the filter application information from the collaboration propagation system. While filter definitions can be shared and stored on the server, the actual filter application selections are kept local to each user and are not propagated to other collaborators. This extraction preserves personal filter management while preventing loss of filter selection information.
Solution Approach 2:
The patent uses copying by allowing users to create and store filter definitions on the server, which can then be copied and applied locally by different users. The filter definitions themselves are shared, but the application of these filters remains local and independent for each user.
4Quantity of substance
If mutations are sent directly to the server without filter transformation, then server storage efficiency is maintained, but filtered sheet displays show incorrect data positioning
Solution Approach 1:
The patent applies preliminary action by transforming mutations against the filter before sending them to the server. This pre-transformation ensures that the server stores the correctly positioned data, and when filters are applied locally, the mutations are already in the correct format. This approach maintains data display accuracy while managing transmission volume efficiently.
Solution Approach 2:
The patent uses inversion by applying the filter transformation in reverse to the mutations before server storage. Instead of sending raw mutations and applying filters on the server, the system transforms mutations as if the filter were already applied, then stores them in the unfiltered sheet. This inverted approach ensures accurate display positioning while maintaining server storage efficiency.
Data Source
AI summary
Systems and methods for processing user actions on a collaborative spreadsheet include accessing an unfiltered sheet of a spreadsheet stored on a server to display on a client computer, where a plurality of filters is associated with the unfiltered sheet, and receiving a selection by a user of a first filter in the plurality of filters to be applied to the unfiltered sheet. A filtered sheet is displayed to the user, where the filtered sheet is obtained by applying the first filter to the unfiltered sheet. User actions inputted by a user on the client computer are received that reference cells of the unfiltered sheet. User actions are sent to the server and transformed against the first filter. The display of the filtered sheet is updated based on the transformed user action.


