# 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 ![image](https://hackmd.io/_uploads/SydLMlleWl.png) ![image](https://hackmd.io/_uploads/BJfk7eexbg.png) --- ## 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}]"}
    71 views