File Version History Navigation via Hierarchical Time Machine
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current user interfaces lack an efficient method for users to revert back to previous versions of files or documents, especially after saving and closing them, as the undo feature is limited to reverse chronological edits and may not allow automatic restoration of previous edits when the document is reopened.
Innovation Solution
A system and method that allows users to navigate and restore previous versions of files by displaying a history view with a hierarchical structure, enabling users to select and restore specific elements or folders to their previous states through a 'time machine' user interface, which captures and stores multiple versions of files and reinstates them as needed.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional undo features are used to revert file changes, then recent edits can be reversed, but the user cannot restore previous versions after saving and closing the document
Solution Approach 1:
The system automatically saves preliminary versions of files at specific time intervals or event triggers, allowing users to restore previous versions without manually creating backups. This preliminary action of version capture enables reliable restoration even after documents are saved and closed.
Solution Approach 2:
The system creates copies of file versions and stores them in a version history database. These copies preserve the original file states, allowing users to retrieve and restore previous versions without affecting the current working copy. The copying mechanism ensures that multiple versions can be stored and accessed independently.
2Loss of information
If all file versions are stored to enable comprehensive restoration, then complete version history is available, but storage space is consumed
Solution Approach 1:
The system extracts only the essential version information needed for restoration, storing full file copies only at significant version points while using incremental storage for subsequent changes. This extraction approach preserves complete version history capability while reducing overall storage requirements by storing only necessary data.
Solution Approach 2:
The version storage system uses a nested structure where parent versions contain base file data and child versions store only the differences or changes from the parent. This nesting allows comprehensive version history to be maintained with reduced storage space by avoiding redundant storage of unchanged data.
3Device complexity
If a simple undo mechanism is implemented, then the interface remains simple, but users cannot navigate to specific historical versions or folders
Solution Approach 1:
The file browser interface is designed to serve multiple functions: it can display current folder contents, navigate version history, and restore files. By making the interface universal, the system provides advanced version navigation capabilities without requiring separate complex interfaces, thus maintaining simplicity while enhancing versatility.
Solution Approach 2:
The system adds a time dimension to the traditional file browser by incorporating version information into the folder hierarchy display. Users can navigate not only through spatial folder structures but also through temporal versions, allowing access to specific historical versions and folders while maintaining the familiar browser interface paradigm.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Systems and methods for navigating within snapshots are provided. In one implementation a method is provided. The method includes receiving, while a current view is displayed in a user interface, a first user input requesting that a history view associated with the current view be displayed. The history view is displayed in response to the first user input, the history view including at least a first visual representation of an earlier version of the current view, the earlier version including a hierarchical structure wherein a first element of the earlier version includes a second element. There is received, while the history view is displayed, a second user input requesting that the current view be modified according to the second element. The method includes modifying, in response to the second user input, the current view according to the second element.