Add Git overlay, operation tools, and virtualized preview so large folders stay responsive.
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
823
Backlog.md
Normal file
823
Backlog.md
Normal file
@@ -0,0 +1,823 @@
|
||||
# Explorer Workbench - Backlog
|
||||
|
||||
> Personal file management workbench.
|
||||
>
|
||||
> Goal: Make working with files faster - not necessarily the filesystem itself.
|
||||
>
|
||||
> **Primary success metric:** One happy customer. 😎
|
||||
|
||||
---
|
||||
|
||||
## Core Principles
|
||||
|
||||
### Windows remains the source of truth
|
||||
|
||||
Explorer Workbench may discover, index, display and organize Windows resources, but should not silently modify Windows configuration.
|
||||
|
||||
Example:
|
||||
|
||||
- Removing `Z:` from Workbench removes the Workbench location and its index data.
|
||||
- It does **not** disconnect the Windows network drive.
|
||||
- Existing Windows resources should be discoverable/importable again.
|
||||
|
||||
### Workbench owns the workflow
|
||||
|
||||
Specialized tools may provide execution capabilities.
|
||||
|
||||
Possible providers:
|
||||
|
||||
- Robocopy - robust file transfers
|
||||
- 7-Zip - archive operations
|
||||
- FFmpeg - media conversion
|
||||
- Git - repository operations
|
||||
|
||||
Explorer Workbench provides:
|
||||
|
||||
- UI
|
||||
- orchestration
|
||||
- metadata
|
||||
- index
|
||||
- profiles
|
||||
- queue
|
||||
- status
|
||||
- history
|
||||
|
||||
### File Operations Queue is the execution engine
|
||||
|
||||
Whenever possible, features that modify files should create operations instead of modifying the filesystem directly.
|
||||
|
||||
Examples:
|
||||
|
||||
- Copy
|
||||
- Move
|
||||
- Recycle
|
||||
- Delete
|
||||
- Rename
|
||||
- Extract
|
||||
- Compress
|
||||
- Convert
|
||||
- Sync
|
||||
- Reorganize
|
||||
|
||||
### Analyze aggressively, modify conservatively
|
||||
|
||||
Analysis may be ambitious.
|
||||
|
||||
Filesystem modifications should be predictable, reviewable and safe.
|
||||
|
||||
Complex operations should preferably follow:
|
||||
|
||||
`Analyze -> Preview -> Operation Plan -> Queue -> Execute`
|
||||
|
||||
### Configuration rule
|
||||
|
||||
If both behaviors are useful depending on the situation:
|
||||
|
||||
**Make it an option.**
|
||||
|
||||
---
|
||||
|
||||
# Current Features
|
||||
|
||||
## Navigation
|
||||
|
||||
- [x] Group locations into `This PC`, `Network` and `Cloud`
|
||||
- [x] Optional grouping via Settings
|
||||
- [x] Remove locations from Workbench
|
||||
- [x] Remove associated index/database data
|
||||
- [x] Do not modify Windows mappings when removing Workbench locations
|
||||
- [x] Add network/cloud locations
|
||||
- [x] Discover/import existing Windows network drives
|
||||
- [x] Restore a previously removed Workbench location from Windows discovery
|
||||
|
||||
## UI
|
||||
|
||||
- [x] Classic application menu
|
||||
- [x] Icon-based toolbar
|
||||
- [x] Settings dialog
|
||||
- [x] Help menu with About and in-app Documentation
|
||||
- [x] Expandable Settings architecture
|
||||
- [x] Show `Free Space` next to `Size` where meaningful
|
||||
- [x] Consistent capacity information for local/network/cloud providers
|
||||
- [x] Organize folder (classify → preview → queue moves)
|
||||
|
||||
## Search / Index
|
||||
|
||||
- [x] Central filesystem index
|
||||
- [x] Fast indexed search
|
||||
- [ ] Search offline locations
|
||||
- [x] Search archive contents
|
||||
- [ ] Store originating machine/location
|
||||
- [ ] Multi-PC search
|
||||
- [ ] Richer metadata indexing
|
||||
|
||||
## Storage Analysis
|
||||
|
||||
- [x] Storage usage analysis
|
||||
- [x] WinDirStat-style functionality
|
||||
- [x] Duplicate detection
|
||||
- [x] Duplicate classification
|
||||
- [x] Distinguish intentional duplicates
|
||||
- [x] Recognize Sync copies
|
||||
- [ ] Recognize Backup copies
|
||||
- [x] Detect hardlinks
|
||||
|
||||
---
|
||||
|
||||
# File Operations Queue
|
||||
|
||||
## Implemented
|
||||
|
||||
- [x] Central File Operations Queue
|
||||
- [x] Copy
|
||||
- [x] Move
|
||||
- [x] Move to Recycle Bin
|
||||
- [x] Queue Rename
|
||||
- [x] Queue Extract
|
||||
- [x] Queue Compress
|
||||
- [x] Sequential execution
|
||||
- [x] Pause / Resume
|
||||
- [x] Pause all
|
||||
- [x] Progress display
|
||||
- [x] Queue status
|
||||
- [x] Reorder operations
|
||||
- [x] Remove queued operations
|
||||
- [x] Clear finished operations
|
||||
- [x] Auto-clear when done
|
||||
- [x] Compact queue status in main UI
|
||||
- [x] Persist queue across Workbench restarts
|
||||
- [x] Retry failed operations
|
||||
- [x] `Waiting for destination` state
|
||||
- [x] Resume automatically when destination becomes available
|
||||
- [x] Handle temporarily unavailable network shares
|
||||
- [x] Handle removable media (wait until reachable)
|
||||
- [x] Detect file locks (Failed + Retry)
|
||||
- [x] Operation history (append-only)
|
||||
|
||||
## Planned
|
||||
|
||||
- [ ] Conflict resolution
|
||||
- [x] Undo last rename batch
|
||||
- [ ] Undo copy / move
|
||||
- [ ] Resource-aware scheduling
|
||||
|
||||
### Resource-aware scheduling
|
||||
|
||||
Potential future behavior:
|
||||
|
||||
Instead of always running exactly one operation, allow concurrent operations when they do not compete for the same I/O resources.
|
||||
|
||||
Example:
|
||||
|
||||
`C: -> D:` and `NAS -> USB` may run simultaneously.
|
||||
|
||||
Two operations using the same physical source/target should normally remain serialized.
|
||||
|
||||
---
|
||||
|
||||
# Protected Windows Filesystem Locations
|
||||
|
||||
## Visibility
|
||||
|
||||
- [x] Hidden file support
|
||||
- [x] Setting: `Show protected system locations`
|
||||
- [x] Detect `FileAttributes.Hidden`
|
||||
- [x] Detect `FileAttributes.System`
|
||||
- [x] Classify known protected Windows locations
|
||||
- [x] Distinguish `Access denied` from empty folders
|
||||
|
||||
Known examples:
|
||||
|
||||
- `System Volume Information`
|
||||
- `$RECYCLE.BIN`
|
||||
- `Recovery`
|
||||
- `pagefile.sys`
|
||||
- `hiberfil.sys`
|
||||
|
||||
## Size calculation
|
||||
|
||||
Never display:
|
||||
|
||||
`0 B`
|
||||
|
||||
when the actual state is:
|
||||
|
||||
`Unknown because access was denied`
|
||||
|
||||
Possible states:
|
||||
|
||||
- Calculated
|
||||
- Partial
|
||||
- Unknown
|
||||
- Access denied
|
||||
|
||||
## Elevated scan
|
||||
|
||||
- [ ] Detect when elevation would provide additional information
|
||||
- [ ] Optional elevated/deep scan
|
||||
- [ ] Never silently elevate
|
||||
- [ ] Keep normal Workbench operation non-elevated
|
||||
|
||||
## Recycle Bin
|
||||
|
||||
- [x] Classify `$RECYCLE.BIN` specially
|
||||
- [x] Do not expose it merely as a normal filesystem folder
|
||||
- [x] Show logical Recycle Bin information
|
||||
- [x] Number of deleted items
|
||||
- [x] Used space
|
||||
- [x] Open Recycle Bin
|
||||
- [x] Empty Recycle Bin
|
||||
|
||||
---
|
||||
|
||||
# Folder Sync
|
||||
|
||||
Goal: Replace the relevant AllSync workflows.
|
||||
|
||||
## Sync modes
|
||||
|
||||
- [x] Copy / Update
|
||||
- [x] Mirror
|
||||
- [ ] Two-way sync
|
||||
- [ ] Versioned backup
|
||||
|
||||
Two-way sync should be implemented later because it requires proper conflict and deletion tracking.
|
||||
|
||||
## Integration
|
||||
|
||||
- [x] Analyze differences
|
||||
- [x] Generate operation plan
|
||||
- [x] Submit operations to File Operations Queue
|
||||
- [x] Preview before execution
|
||||
- [x] Conflict detection
|
||||
- [ ] Sync history
|
||||
|
||||
## Offline / removable locations
|
||||
|
||||
- [x] Detect target availability
|
||||
- [x] Wait when target is offline
|
||||
- [x] Automatically continue when target returns
|
||||
- [x] Identify removable media using stable volume identity
|
||||
- [x] Do not depend only on drive letters
|
||||
- [x] Trigger sync when known media is connected
|
||||
|
||||
Example:
|
||||
|
||||
`When PhotosBackup becomes available -> run Photos Sync`
|
||||
|
||||
## Duplicate awareness
|
||||
|
||||
Files intentionally created by Folder Sync should be marked as intentional duplicates.
|
||||
|
||||
Possible classification:
|
||||
|
||||
- `Accidental`
|
||||
- `Synchronized`
|
||||
- `Backup`
|
||||
- `Unknown`
|
||||
|
||||
The Duplicate Finder hides intentional duplicates by default. Sync and backup tags are written when those operations exist.
|
||||
|
||||
---
|
||||
|
||||
# Batch Rename
|
||||
|
||||
Goal: Replace FileRenamer workflows.
|
||||
|
||||
## Rename rules
|
||||
|
||||
- [x] Search / Replace
|
||||
- [x] Regex
|
||||
- [x] Prefix
|
||||
- [x] Suffix
|
||||
- [x] Counter
|
||||
- [x] Counter padding
|
||||
- [x] Case conversion
|
||||
- [x] Extension handling
|
||||
- [ ] Metadata placeholders
|
||||
|
||||
Potential placeholders:
|
||||
|
||||
- `{CreatedDate}`
|
||||
- `{ModifiedDate}`
|
||||
- `{Counter}`
|
||||
- `{Width}`
|
||||
- `{Height}`
|
||||
- `{Artist}`
|
||||
- `{Title}`
|
||||
- `{Project}`
|
||||
- `{Extension}`
|
||||
|
||||
## Workflow
|
||||
|
||||
`Select -> Configure -> Preview -> Validate -> Queue`
|
||||
|
||||
- [x] Preview all resulting names
|
||||
- [x] Detect collisions
|
||||
- [x] Detect invalid filenames
|
||||
- [x] Add Rename operations to File Operations Queue
|
||||
- [x] Store `OldPath -> NewPath`
|
||||
- [x] Support Undo for completed rename batches
|
||||
|
||||
---
|
||||
|
||||
# File Operation Profiles
|
||||
|
||||
Reusable workflows built from Workbench operations.
|
||||
|
||||
## Core
|
||||
|
||||
- [x] Create profile
|
||||
- [x] Edit profile
|
||||
- [x] Delete profile
|
||||
- [x] Duplicate profile
|
||||
- [x] Run profile
|
||||
- [x] Preview operation plan
|
||||
- [x] Add resulting operations to queue
|
||||
|
||||
## Example: Archive Project
|
||||
|
||||
1. Verify Git status
|
||||
2. Require clean working tree
|
||||
3. Exclude `.git`, `bin`, `obj`, `.vs`
|
||||
4. Compress using 7-Zip
|
||||
5. Generate SHA-256
|
||||
6. Copy archive to NAS
|
||||
7. Verify destination
|
||||
8. Recycle source only if all previous steps succeeded
|
||||
|
||||
## Example: Phone Videos
|
||||
|
||||
1. Find matching videos
|
||||
2. Convert to configured format
|
||||
3. Preserve timestamps
|
||||
4. Copy converted files to Media
|
||||
5. Archive originals
|
||||
6. Queue cleanup
|
||||
|
||||
## Example: Clean Downloads
|
||||
|
||||
Classify files and propose:
|
||||
|
||||
- Installers -> Software
|
||||
- Images -> Pictures
|
||||
- Video -> Media
|
||||
- Archives -> Archive
|
||||
- Git repositories -> Development
|
||||
- Unknown -> Leave untouched
|
||||
|
||||
Available as **Tools → Organize folder…** and **Organize this folder…** on a directory. Suggestions only; nothing moves until Queue.
|
||||
|
||||
## Profile triggers
|
||||
|
||||
- [x] Manual
|
||||
- [x] Context menu: `Run Profile`
|
||||
- [x] Drag files onto profile
|
||||
- [x] When location becomes available
|
||||
- [x] When removable media is connected
|
||||
- [ ] Scheduled
|
||||
- [ ] Folder watcher
|
||||
|
||||
---
|
||||
|
||||
# Archives
|
||||
|
||||
## Supported concepts
|
||||
|
||||
- [x] ZIP
|
||||
- [x] 7z
|
||||
- [x] RAR
|
||||
- [x] Additional archive formats through providers
|
||||
|
||||
## Indexing
|
||||
|
||||
- [x] Scan archive contents without extraction
|
||||
- [x] Add archive entries to search index
|
||||
- [x] Search inside archives
|
||||
- [x] Display archive path as virtual hierarchy
|
||||
|
||||
Example search result:
|
||||
|
||||
`\\NAS\Archive\2019-backup.7z\Projects\Explorer\README.md`
|
||||
|
||||
even when the NAS is currently offline.
|
||||
|
||||
## Operations
|
||||
|
||||
- [x] Extract
|
||||
- [x] Compress
|
||||
- [x] Add to archive
|
||||
- [x] Verify archive
|
||||
- [x] Queue archive operations
|
||||
|
||||
Potential provider:
|
||||
|
||||
`7-Zip`
|
||||
|
||||
---
|
||||
|
||||
# File Classification
|
||||
|
||||
Goal: Understand what files and folders represent rather than relying only on extensions.
|
||||
|
||||
## Initial categories
|
||||
|
||||
- [x] Media (Photos / Video / Audio)
|
||||
- [x] Photos
|
||||
- [x] Video
|
||||
- [x] Audio
|
||||
- [x] Documents
|
||||
- [x] Code repositories
|
||||
- [x] Installers
|
||||
- [x] Backups (classified; left in place)
|
||||
- [x] Archives
|
||||
- [x] System data
|
||||
- [x] Unknown
|
||||
|
||||
## Detection signals
|
||||
|
||||
- [x] File extension
|
||||
- [ ] MIME/content signature
|
||||
- [x] Folder structure
|
||||
- [x] Git metadata
|
||||
- [ ] Media metadata
|
||||
- [x] Known application structures (`node_modules`, `bin`, `obj`, `.vs`)
|
||||
- [x] File age (old installers flagged in preview)
|
||||
- [ ] File relationships
|
||||
- [ ] Index metadata
|
||||
|
||||
---
|
||||
|
||||
# Reorganization / Consolidation
|
||||
|
||||
Use file classification and metadata to propose better organization.
|
||||
|
||||
## Concepts
|
||||
|
||||
- [x] Analyze directory
|
||||
- [x] Classify contents
|
||||
- [x] Detect misplaced files
|
||||
- [ ] Detect redundant files
|
||||
- [x] Detect old installers
|
||||
- [x] Detect old build output
|
||||
- [ ] Detect archived projects
|
||||
- [x] Generate reorganization proposal
|
||||
- [x] Preview proposed operations
|
||||
- [x] Submit approved operations to queue
|
||||
|
||||
Important:
|
||||
|
||||
**Never automatically reorganize based only on classification.**
|
||||
|
||||
Always prefer:
|
||||
|
||||
`Analyze -> Suggest -> Review -> Queue`
|
||||
|
||||
---
|
||||
|
||||
# Multi-PC
|
||||
|
||||
Goal: Search and manage the user's complete file environment rather than only the current PC.
|
||||
|
||||
## Machines
|
||||
|
||||
- [ ] Register Workbench machine
|
||||
- [ ] Assign machine identity
|
||||
- [ ] Store machine name with indexed files
|
||||
- [ ] Track last-seen timestamp
|
||||
- [ ] Track online/offline state
|
||||
|
||||
## Search
|
||||
|
||||
Example:
|
||||
|
||||
Search: `wallet.dat`
|
||||
|
||||
Results:
|
||||
|
||||
- `Desktop-PC -> D:\Backup\wallet.dat`
|
||||
- `Laptop -> C:\Archive\wallet.dat`
|
||||
- `NAS -> backup-2019.7z\Crypto\wallet.dat`
|
||||
|
||||
## Offline behavior
|
||||
|
||||
- [ ] Keep index searchable while machine is offline
|
||||
- [ ] Show last known location
|
||||
- [ ] Show last indexed timestamp
|
||||
- [ ] Queue operations requiring offline machine
|
||||
- [ ] Resume when machine becomes available
|
||||
|
||||
## Future
|
||||
|
||||
- [ ] Transfer files between Workbench machines
|
||||
- [ ] Remote filesystem browsing
|
||||
- [ ] Remote indexing
|
||||
- [ ] Shared operation queue / agent model
|
||||
|
||||
---
|
||||
|
||||
# Secure Storage
|
||||
|
||||
## Concepts
|
||||
|
||||
- [ ] CryptDrive/Vault integration
|
||||
- [ ] Secure Storage location category
|
||||
- [ ] Detect mounted/unmounted state
|
||||
- [ ] Index policy for encrypted locations
|
||||
- [ ] Optional metadata-only index
|
||||
- [ ] Security-sensitive search behavior
|
||||
|
||||
Workbench should preferably integrate existing encryption technology rather than implement cryptography itself.
|
||||
|
||||
---
|
||||
|
||||
# Conversion
|
||||
|
||||
Conversions should be represented as File Operations.
|
||||
|
||||
## Media
|
||||
|
||||
Potential provider:
|
||||
|
||||
`FFmpeg`
|
||||
|
||||
Possible operations:
|
||||
|
||||
- [ ] Video conversion
|
||||
- [ ] Audio conversion
|
||||
- [ ] Codec conversion
|
||||
- [ ] Resolution conversion
|
||||
- [ ] Extract audio
|
||||
- [ ] Generate thumbnails
|
||||
|
||||
## Images
|
||||
|
||||
- [ ] HEIC -> JPEG
|
||||
- [ ] PNG -> JPEG
|
||||
- [ ] Resize
|
||||
- [ ] Rotate
|
||||
- [ ] Metadata preservation/removal
|
||||
|
||||
## Workflow
|
||||
|
||||
Conversions should support:
|
||||
|
||||
`Input -> Conversion Profile -> Preview -> Queue`
|
||||
|
||||
and be usable inside File Operation Profiles.
|
||||
|
||||
---
|
||||
|
||||
# Git Integration
|
||||
|
||||
Workbench should recognize repositories but not reimplement Git.
|
||||
|
||||
Potential provider:
|
||||
|
||||
`git`
|
||||
|
||||
## Repository detection
|
||||
|
||||
- [x] Detect Git repositories
|
||||
- [x] Show current branch
|
||||
- [x] Show modified count
|
||||
- [x] Show untracked count
|
||||
- [x] Show ahead/behind state
|
||||
|
||||
Example:
|
||||
|
||||
`Explorer-Workbench main 3 modified 1 untracked`
|
||||
|
||||
## Actions
|
||||
|
||||
- [ ] Status
|
||||
- [ ] View Changes
|
||||
- [ ] Commit
|
||||
- [ ] Pull
|
||||
- [ ] Push
|
||||
- [ ] Fetch
|
||||
- [x] Open terminal here
|
||||
- [x] Open in Cursor
|
||||
|
||||
## Profiles
|
||||
|
||||
Git state may be used as a profile condition.
|
||||
|
||||
Example:
|
||||
|
||||
`Archive Project`
|
||||
|
||||
requires:
|
||||
|
||||
`Working tree clean`
|
||||
|
||||
before archive operations continue.
|
||||
|
||||
---
|
||||
|
||||
# Sharing
|
||||
|
||||
## Basic sharing
|
||||
|
||||
- [ ] Share file
|
||||
- [ ] Share folder
|
||||
- [ ] Copy share link
|
||||
- [ ] Temporary shares
|
||||
- [ ] Expiration
|
||||
- [ ] Password protection
|
||||
- [ ] Read-only permissions
|
||||
|
||||
## Providers
|
||||
|
||||
Potential integrations:
|
||||
|
||||
- [ ] Nextcloud
|
||||
- [ ] Network shares
|
||||
- [ ] Other cloud providers
|
||||
|
||||
## Package for Sharing
|
||||
|
||||
Example profile:
|
||||
|
||||
1. Exclude unnecessary files
|
||||
2. Clean temporary data
|
||||
3. Compress
|
||||
4. Encrypt
|
||||
5. Upload
|
||||
6. Create expiring share link
|
||||
7. Copy link to clipboard
|
||||
8. Queue temporary archive cleanup
|
||||
|
||||
---
|
||||
|
||||
# External Tool / Provider Integration
|
||||
|
||||
## Robocopy
|
||||
|
||||
Status:
|
||||
|
||||
**Documentation review / knowledge transfer pending. 😏**
|
||||
|
||||
Potential uses:
|
||||
|
||||
- [ ] Restartable copies
|
||||
- [ ] Network transfers
|
||||
- [ ] Retry handling
|
||||
- [ ] Backup-mode access
|
||||
- [ ] Mirror operations
|
||||
- [ ] Metadata/ACL preservation
|
||||
|
||||
Possible architecture:
|
||||
|
||||
`RobocopyTransferProvider`
|
||||
|
||||
Workbench retains ownership of:
|
||||
|
||||
- Queue
|
||||
- Progress
|
||||
- State
|
||||
- UI
|
||||
- Retry policy
|
||||
- History
|
||||
|
||||
Robocopy performs selected low-level transfers.
|
||||
|
||||
## 7-Zip
|
||||
|
||||
`SevenZipArchiveExecutor` (`IArchiveExecutor`)
|
||||
|
||||
Discovery: Settings path, then Program Files, then PATH. Missing 7-Zip fails the queued job with an install hint. 7-Zip is not bundled.
|
||||
|
||||
## FFmpeg
|
||||
|
||||
Potential:
|
||||
|
||||
`MediaConversionProvider`
|
||||
|
||||
## Git
|
||||
|
||||
`WindowsGitStatusProvider` (`IGitStatusProvider`)
|
||||
|
||||
Discovery: Settings path, then Program Files, then PATH. Missing git.exe means no badge. Git is not bundled. Workbench does not commit, push, or pull.
|
||||
|
||||
Potential later:
|
||||
|
||||
`IGitCommandProvider`
|
||||
|
||||
---
|
||||
|
||||
# Future Intelligence
|
||||
|
||||
## File relationships
|
||||
|
||||
Workbench should eventually understand relationships between files.
|
||||
|
||||
Examples:
|
||||
|
||||
- Duplicate
|
||||
- Sync copy
|
||||
- Backup copy
|
||||
- Converted version
|
||||
- Archived version
|
||||
- Renamed version
|
||||
- Source/output relationship
|
||||
|
||||
This allows questions such as:
|
||||
|
||||
> Which duplicates are accidental?
|
||||
|
||||
instead of merely:
|
||||
|
||||
> Which files have the same hash?
|
||||
|
||||
## Forgotten Files
|
||||
|
||||
Potential analysis:
|
||||
|
||||
- Files not modified for many years
|
||||
- Files not accessed for many years
|
||||
- Old backups
|
||||
- Forgotten projects
|
||||
- Large unused files
|
||||
- Old installers
|
||||
- Historical archives
|
||||
|
||||
Possible feature name:
|
||||
|
||||
`Forgotten Files`
|
||||
|
||||
---
|
||||
|
||||
# Architectural Direction
|
||||
|
||||
Long-term conceptual model:
|
||||
|
||||
Filesystems / Providers
|
||||
|
|
||||
v
|
||||
Scanner
|
||||
|
|
||||
v
|
||||
Metadata Index
|
||||
|
|
||||
v
|
||||
Intelligence Layer
|
||||
|
|
||||
+-----+-----+
|
||||
| |
|
||||
v v
|
||||
Workbench Profiles
|
||||
| |
|
||||
+-----+-----+
|
||||
|
|
||||
v
|
||||
File Operations Queue
|
||||
|
|
||||
v
|
||||
Execution Providers
|
||||
|
||||
The Workbench should increasingly understand:
|
||||
|
||||
- What is this?
|
||||
- Where is it?
|
||||
- Which machine has it?
|
||||
- Is it currently available?
|
||||
- Is there another copy?
|
||||
- Why does another copy exist?
|
||||
- Is it part of a sync or backup?
|
||||
- How much space does it consume?
|
||||
- What operations are safe?
|
||||
- What does the user want to do with it?
|
||||
|
||||
---
|
||||
|
||||
# Replaced / Potentially Replaced Tools
|
||||
|
||||
| Tool | Workbench capability |
|
||||
| --- | --- |
|
||||
| Windows Explorer | Navigation / file management |
|
||||
| WinDirStat | Storage analysis |
|
||||
| WhereIsIt? | Indexed catalog / offline search |
|
||||
| AllSync | Folder synchronization |
|
||||
| FileRenamer | Batch rename |
|
||||
| Archive tools | Archive workflows |
|
||||
| Conversion tools | Profile-driven conversion |
|
||||
| Various sharing workflows | Integrated sharing |
|
||||
|
||||
The goal is not necessarily to completely replace every specialized tool.
|
||||
|
||||
The goal is to make Explorer Workbench the **central working environment** from which those capabilities are orchestrated.
|
||||
|
||||
---
|
||||
|
||||
# Definition of Done
|
||||
|
||||
Explorer Workbench is never truly finished.
|
||||
|
||||
A feature is useful when it improves the actual workflow of the primary user.
|
||||
|
||||
A release is successful when:
|
||||
|
||||
> Domi realizes he has not voluntarily opened Windows Explorer all week.
|
||||
|
||||
😎
|
||||
Reference in New Issue
Block a user