competing-extension-feature-comparison.md
1 # Competing Extension Feature Comparison: Simple Tab Groups vs Mnemonic 2 3 ## Executive Summary 4 5 This document analyzes the feature set of **Simple Tab Groups (STG)**, a popular Firefox tab management extension, and compares it against **Mnemonic** to identify implementation gaps and opportunities. The goal is to prioritize high-value features that would enhance Mnemonic's functionality for both Chrome and Firefox users. 6 7 --- 8 9 ## Feature Matrix: STG vs Mnemonic 10 11 | Feature Category | Simple Tab Groups | Mnemonic | Status | 12 |------------------|-------------------|----------|--------| 13 | **Tab Group Creation** | Yes | Yes (Workspaces) | Implemented | 14 | **Group Naming** | Yes | Yes | Implemented | 15 | **Group Switching** | Yes | Yes (Context Switch) | Implemented | 16 | **Drag & Drop Tabs** | Yes | Yes | Implemented | 17 | **Group Icons/Colors** | Yes | Yes | Implemented | 18 | **Keyboard Shortcuts** | Yes (F8 default) | Partial | Gap | 19 | **Sidebar Support** | Yes | No (Dashboard only) | Gap | 20 | **Per-Group Notes** | Yes | Yes (Logseq integration) | Implemented | 21 | **Backup/Restore** | Yes (JSON) | Yes (JSON + Sync) | Implemented | 22 | **Cross-Device Sync** | No (manual transfer) | Yes (REST Bridge) | Mnemonic Advantage | 23 | **Container Integration** | Yes (Firefox only) | No | Gap | 24 | **URL Auto-Move Rules** | Yes | No | Gap | 25 | **Tab Hiding API** | Yes (Firefox tabHide) | No (uses windows) | Different Approach | 26 | **Pinned Tabs Per Group** | Partial | Yes | Implemented | 27 | **Archive/Hibernate Groups** | No (requested) | Yes | Mnemonic Advantage | 28 | **Multiple Groups Per Window** | No | No | Neither | 29 | **AI-Powered Organization** | No | Yes (Claude) | Mnemonic Advantage | 30 | **Full-Text Search** | Partial (filter) | Yes (BM25 index) | Mnemonic Advantage | 31 | **Bookmark Export** | Yes | Yes | Implemented | 32 | **Transcendent Workspaces** | No | Yes | Mnemonic Advantage | 33 | **Window Position Memory** | Partial | Yes (smart multi-monitor) | Mnemonic Advantage | 34 | **Audible Tab Detection** | No | Yes | Mnemonic Advantage | 35 | **Private Browsing Support** | No | No | Neither | 36 37 --- 38 39 ## Top 10 Priority Features to Implement 40 41 Based on analysis of STG's most requested features and functional gaps in Mnemonic, here are the top 10 features ranked by usefulness and impact: 42 43 ### 1. **Firefox Sidebar Panel Mode** ⭐⭐⭐⭐⭐ 44 **Priority: Critical | Effort: Medium** 45 46 **What STG Has:** 47 - Dedicated sidebar panel showing all groups 48 - Persistent visibility while browsing 49 - Quick group switching without popup 50 51 **Current Mnemonic State:** 52 - Dashboard opens as a full tab 53 - No sidebar support 54 55 **Implementation Value:** 56 - High user demand for quick access without consuming a tab 57 - Firefox sidebar API (`sidebarAction`) is well-supported 58 - Would significantly improve UX for power users managing many workspaces 59 60 **Recommendation:** 61 Create a lightweight sidebar entry point that displays a condensed WorkspaceList with essential actions (switch, create, search). The main dashboard remains for advanced operations. 62 63 --- 64 65 ### 2. **Customizable Keyboard Shortcuts** ⭐⭐⭐⭐⭐ 66 **Priority: Critical | Effort: Low** 67 68 **What STG Has:** 69 - F8 opens group menu (customizable) 70 - Arrow key navigation in popup 71 - Gesture extension compatibility (Gesturefy) 72 73 **Current Mnemonic State:** 74 - No registered keyboard shortcuts 75 - Arrow navigation exists in UI components 76 77 **Implementation Value:** 78 - Zero-click access dramatically improves workflow 79 - Browser commands API makes this straightforward 80 - Power users expect keyboard-driven workflows 81 82 **Recommendation:** 83 Register default shortcuts in manifest: 84 - `Ctrl+Shift+G` - Open workspace dashboard/sidebar 85 - `Ctrl+Shift+Right/Left` - Switch to next/previous workspace 86 - `Ctrl+Shift+N` - Create new workspace from current tabs 87 88 --- 89 90 ### 3. **Firefox Multi-Account Container Integration** ⭐⭐⭐⭐⭐ 91 **Priority: High | Effort: Medium** 92 93 **What STG Has:** 94 - Assign container to group (new tabs inherit container) 95 - Auto-move tabs by container to designated groups 96 - Container identity preserved on restore 97 98 **Current Mnemonic State:** 99 - No container awareness 100 - Tabs restored without container context 101 102 **Implementation Value:** 103 - Critical for privacy-focused users 104 - Essential for work/personal separation workflows 105 - Firefox's contextualIdentities API provides full support 106 107 **Recommendation:** 108 1. Add `containerId` field to workspace types 109 2. When opening workspace tabs, use container context 110 3. Option to auto-assign workspace based on container of new tabs 111 4. Preserve container on tab capture and restore 112 113 --- 114 115 ### 4. **URL-Based Auto-Assignment Rules** ⭐⭐⭐⭐ 116 **Priority: High | Effort: Medium** 117 118 **What STG Has:** 119 - Regex-based URL matching rules 120 - Auto-move tabs to designated groups 121 - Domain-level matching support 122 123 **Current Mnemonic State:** 124 - No automatic tab routing 125 - All tab assignment is manual 126 127 **Implementation Value:** 128 - Reduces manual organization overhead 129 - Keeps workspaces organized automatically 130 - Highly requested by power users 131 132 **Recommendation:** 133 Create a rules engine: 134 ```typescript 135 interface AutoAssignRule { 136 id: string; 137 pattern: string; // regex or domain 138 matchType: 'domain' | 'url' | 'regex'; 139 targetWorkspaceId: string; 140 enabled: boolean; 141 } 142 ``` 143 Evaluate rules on `tabs.onCreated` and `tabs.onUpdated` events. 144 145 --- 146 147 ### 5. **Tab Discard/Suspend for Inactive Workspaces** ⭐⭐⭐⭐ 148 **Priority: High | Effort: Low** 149 150 **What STG Has:** 151 - Hidden tabs can be discarded to save memory 152 - Manual and automatic discard options 153 154 **Current Mnemonic State:** 155 - Tabs stored as data, not live browser tabs 156 - But when workspaces open, all tabs load 157 158 **Implementation Value:** 159 - Significant memory savings for large workspaces 160 - Faster context switching 161 - Browser's `tabs.discard()` API handles this natively 162 163 **Recommendation:** 164 1. Add "Discard tabs when closing workspace" option 165 2. Lazy-load tabs on workspace open (load on focus) 166 3. Add "Discard all tabs in workspace" action 167 4. Show discarded state in tab list UI 168 169 --- 170 171 ### 6. **Group/Workspace Folders (Hierarchical Organization)** ⭐⭐⭐⭐ 172 **Priority: Medium-High | Effort: Medium** 173 174 **What STG Has:** 175 - Flat list of groups (hierarchy requested but not implemented) 176 177 **Current Mnemonic State:** 178 - Two-level hierarchy (Parent → Children) 179 - No folder/category system for parents themselves 180 181 **Implementation Value:** 182 - Users with 20+ contexts need meta-organization 183 - Enables project → sub-project workflows 184 - Natural extension of existing parent/child model 185 186 **Recommendation:** 187 Add optional "Folder" workspace type that contains Parents: 188 - Folder → Parents → Children 189 - Collapsible folders in sidebar/dashboard 190 - Drag parents between folders 191 192 --- 193 194 ### 7. **Auto-Remove Empty Workspaces Option** ⭐⭐⭐ 195 **Priority: Medium | Effort: Low** 196 197 **What STG Has:** 198 - Requested but not implemented 199 - Empty groups remain until manually deleted 200 201 **Current Mnemonic State:** 202 - Empty workspaces persist indefinitely 203 204 **Implementation Value:** 205 - Reduces clutter automatically 206 - Common user request in STG issues 207 - Simple to implement with existing infrastructure 208 209 **Recommendation:** 210 Add setting: "Auto-archive workspaces when all tabs are closed" 211 - Trigger on tab close events 212 - Check if workspace has 0 tabs 213 - Move to archive (not delete) for recovery 214 215 --- 216 217 ### 8. **Pinned Tabs Per Workspace (Enhanced)** ⭐⭐⭐ 218 **Priority: Medium | Effort: Medium** 219 220 **What STG Has:** 221 - Partial support with known issues 222 - Pinned tabs can "disappear" across cycles 223 224 **Current Mnemonic State:** 225 - Saves `pinned` state per tab 226 - Restores pinned state on open 227 228 **Gap Analysis:** 229 - Need to verify pinned tabs restore correctly in both browsers 230 - Need option to keep certain pinned tabs across all workspaces (global pins) 231 232 **Recommendation:** 233 1. Add "Global Pinned Tabs" that persist across context switches 234 2. Test and fix any edge cases with pinned tab restoration 235 3. Add visual indicator for global vs workspace-specific pins 236 237 --- 238 239 ### 9. **Gesture Extension Integration** ⭐⭐⭐ 240 **Priority: Medium | Effort: Low** 241 242 **What STG Has:** 243 - Gesturefy compatibility via runtime messages 244 - Documented message API for external control 245 246 **Current Mnemonic State:** 247 - No documented external API 248 - Message handlers exist but undocumented 249 250 **Implementation Value:** 251 - Power users heavily rely on gestures 252 - Minimal code change - just documentation and validation 253 - Gesturefy is widely used on Firefox 254 255 **Recommendation:** 256 1. Document external message API for gesture extensions 257 2. Add standard actions: `SWITCH_NEXT_WORKSPACE`, `SWITCH_PREV_WORKSPACE`, `OPEN_DASHBOARD` 258 3. Validate sender origin for security 259 4. Publish integration guide 260 261 --- 262 263 ### 10. **Startup/Restore Behavior Options** ⭐⭐⭐ 264 **Priority: Medium | Effort: Medium** 265 266 **What STG Has:** 267 - Relies on Firefox's "Restore Previous Session" 268 - Can have issues with window close order 269 - Backup restoration as safety net 270 271 **Current Mnemonic State:** 272 - Persists workspace data 273 - Opens last state on startup (implicit) 274 275 **Implementation Value:** 276 - Explicit user control over startup behavior 277 - Reduces "lost tabs" anxiety 278 - Matches user mental models 279 280 **Recommendation:** 281 Add startup options: 282 1. **Resume Last Session**: Restore all open workspaces 283 2. **Start Fresh**: Open only dashboard 284 3. **Open Specific Workspace**: Configurable default 285 4. **Prompt on Startup**: Ask user what to open 286 287 --- 288 289 ## Features Already Superior in Mnemonic 290 291 These STG pain points are already addressed in Mnemonic: 292 293 | Feature | STG Issue | Mnemonic Solution | 294 |---------|-----------|-------------------| 295 | Cross-Device Sync | Manual backup transfer | REST Bridge with Syncthing | 296 | Archive Groups | Not implemented (requested) | Full archive/restore system | 297 | Search | Basic filtering only | Full-text BM25 search with ranking | 298 | AI Organization | None | Claude integration for suggestions | 299 | Multi-Monitor | Basic | Smart relative positioning | 300 | Workspace Notes | Simple text | Logseq integration | 301 | Audible Detection | None | Track and navigate to playing tabs | 302 303 --- 304 305 ## Features Neither Extension Has (Future Opportunities) 306 307 1. **Multiple Groups Visible in Same Window** - Would require significant UI redesign 308 2. **Private Browsing Support** - API limitations in both browsers 309 3. **Tab Preview Thumbnails** - Performance concerns, limited API support 310 4. **Collaborative Workspaces** - Real-time sharing between users 311 5. **Time-Based Auto-Switching** - Schedule workspace changes 312 313 --- 314 315 ## Implementation Roadmap Recommendation 316 317 ### Phase 1: Quick Wins (1-2 weeks) 318 - Keyboard shortcuts 319 - Auto-remove empty workspaces 320 - Tab discard option 321 - Gesture API documentation 322 323 ### Phase 2: Core Enhancements (2-4 weeks) 324 - Firefox sidebar panel 325 - URL auto-assignment rules 326 - Startup behavior options 327 328 ### Phase 3: Advanced Features (4-8 weeks) 329 - Container integration (Firefox) 330 - Workspace folders 331 - Enhanced pinned tabs with global pins 332 333 --- 334 335 ## Conclusion 336 337 Mnemonic already surpasses Simple Tab Groups in several key areas: cross-device sync, AI integration, search capabilities, and archival features. However, implementing the top priorities above—particularly **sidebar support**, **keyboard shortcuts**, and **container integration**—would close the remaining gaps and position Mnemonic as the superior solution for both Firefox and Chrome users. 338 339 The most impactful quick wins are **keyboard shortcuts** and **sidebar mode**, which require relatively low effort but dramatically improve daily usability for power users.