# Improving JupyterLab File Browser
**Konstantin Taletskiy**
Senior Software Engineer, OSS-Jupyter
Anaconda Inc.
JupyterLab Day @ Bloomberg SF
November 2025
---
## The Problem
Many file browser operations that are **table stakes** for professional file browsers are still **basic or missing** in JupyterLab.
This impacts users working with:
- Large datasets
- Remote servers
- Production workflows
- Team environments
---
## User Story #1: Accidental Copy Operations
**The Pain Point:**
> *"I accidentally drag and drop a large directory. No feedback that a copy is happening. No way to stop it. My disk fills up and JupyterLab becomes unresponsive."*
### What's Missing:
- ❌ No visual feedback during copy
- ❌ No progress indicator
- ❌ No cancel button
- ❌ No way to stop without killing server
---
## User Story #2: Intentional Operations
**The Pain Point:**
> *"I start copying a large file. Everything looks done. I shut down my server. The copy wasn't finished. Now I have corrupted files."*
### What's Missing:
- ❌ No completion notification
- ❌ No background task indicator
- ❌ No status persistence
- ❌ Users make wrong assumptions
---
## User Story #3: Multiple Uploads
**The Pain Point:**
> *"I need to upload 20 large files. I can only see one progress bar at a time. I have no idea which files are done or how much longer I need to wait."*
### What's Missing:
- ❌ Only one progress bar visible
- ❌ No queue visibility
- ❌ No overall progress tracking
- ❌ Can't identify stalled uploads
---
## User Story #4: Uncancelable Uploads
**The Pain Point:**
> *"I accidentally selected the wrong 10GB file. The upload started. I can see the progress bar but there's no cancel button. I have to wait 30 minutes or kill the server."*
### What's Missing:
- ❌ No cancel functionality
- ❌ Only options: wait or kill server
- ❌ Wasted time and bandwidth
- ❌ Poor user experience
---
## Why This Matters
### For Individual Users:
- Lost productivity
- Frustration and errors
- Risk of data corruption
- Server restarts
### For Organizations:
- Wasted compute resources
- Storage management issues
- Support burden
- User adoption barriers
---
## What Professional File Browsers Do
### Expected Features:
✅ **Progress indicators** for all long operations
✅ **Cancel buttons** for in-progress operations
✅ **Multiple operation tracking** with queue management
✅ **Status notifications** for completion/errors
✅ **Background task management** with persistence
✅ **Confirmation dialogs** for large operations


---
## Proposed Solutions
### 1. Progress & Feedback System
- Real-time progress bars for copy/move operations
- Visual feedback for all file operations
- Estimated time remaining
### 2. Operation Management
- Cancel buttons for all long-running operations
- Queue view for multiple simultaneous operations
- Background task persistence across sessions
---
## Proposed Solutions (cont.)
### 3. Safety Features
- Confirmation dialogs for operations on large files
- Warning before server shutdown with active operations
- Auto-resume for interrupted operations
### 4. Better UX Patterns
- Multiple upload progress in a dedicated panel
- Notification system for completed operations
- Operation history and logs
---
## Demo
<div style="position: relative; padding-bottom: 62.42774566473989%; height: 0;"><iframe src="https://www.loom.com/embed/3d0b8b1adcb744a19634e82d898691ee" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen style="position: absolute; top: 0; left: 0; width: 100%; height: 100%;"></iframe></div>
---
## Next Steps
### Short-term:
1. Add cancel functionality for uploads
2. Add a progress bar for copies
### Medium-term:
1. Create a drawer showing multiple progress bars for file operations
3. Confirmation dialogs for large operations
---
{"title":"Improving JupyterLab File Browser","description":"View the slide with \"Slide Mode\".","slideOptions":"{\"theme\":\"white\",\"transition\":\"slide\"}","contributors":"[{\"id\":\"7aab747f-5202-4ebb-a7f9-a7c817331178\",\"add\":5772,\"del\":1822,\"latestUpdatedAt\":1762817135962}]"}