Files
pnger/ROADMAP.md

385 lines
14 KiB
Markdown
Raw Normal View History

2026-03-08 16:14:13 -05:00
# PNGer Feature Roadmap
## Completed Features ✅
2026-03-08 16:14:13 -05:00
### Core Foundation
- ✅ Basic image upload (file picker, drag & drop, clipboard paste)
- ✅ Width/height resizing
- ✅ Aspect ratio control (inside/cover)
- ✅ Crop positioning (9 positions)
- ✅ Format conversion (PNG, WebP, JPEG)
- ✅ Quality adjustment (10-100%)
- ✅ Direct download (no server storage)
- ✅ Docker deployment
-**Live Preview** - Real-time side-by-side comparison with file size analysis
-**Dark/Light Mode** - Theme toggle for better PNG transparency inspection
-**Modern UI** - Sleek design with smooth transitions and visual feedback
2026-03-08 16:14:13 -05:00
### Sprint 1: Enhanced UX (Completed March 2026)
-**Drag & Drop Upload** - Drag images directly into the app
-**Clipboard Paste** - Paste with Ctrl+V (Cmd+V on Mac)
-**Smart Presets** - 8 quick-access presets:
- Web Optimized (1920x1080, 80%, WebP)
- Social Media (1080x1080, 85%, JPEG)
- Profile Picture (400x400, 90%, PNG)
- Email Friendly (800x600, 75%, JPEG)
- Tiny Icon (64x64, 100%, PNG)
- Retina 2x (2x dimensions, 90%)
- Icon Small (256x256, 95%, PNG)
- Icon Large (512x512, 95%, PNG)
-**Keyboard Shortcuts** - Fast workflow:
- Ctrl+V / Cmd+V: Paste image
- Enter: Transform & Download
- Ctrl+Enter / Cmd+Enter: Transform & Download (anywhere)
- ?: Show shortcuts help
- Esc: Close dialogs
-**Enhanced Visual Feedback** - Better loading states and error messages
-**Theme Contrast Fixes** - Improved text visibility in both themes
2026-03-08 16:14:13 -05:00
---
## Sprint 2: Batch Processing & Advanced Operations (Next Priority)
**Focus**: Handle multiple files and add essential image operations
**Effort**: ~12-15 hours | **Impact**: Very High | **Timeline**: Week 1-2
### 2.1 Batch Processing 🚀 **HIGH VALUE**
**Why**: Process multiple images at once - massive time saver for bulk operations
**Effort**: Medium (6-8 hours) | **Impact**: Very High
- [ ] Upload multiple images (10+ files)
2026-03-08 16:14:13 -05:00
- [ ] Apply same transformations to all
- [ ] Individual preview for each image
2026-03-08 16:14:13 -05:00
- [ ] Download as ZIP file
- [ ] Progress indicator for batch operations
- [ ] Cancel/remove individual files from queue
- [ ] Batch rename with pattern (e.g., `image-{index}.png`)
- [ ] Memory optimization for large batches
2026-03-08 16:14:13 -05:00
**Implementation Notes**:
- Use JSZip library for ZIP creation
- Process images in parallel (4-6 concurrent)
- Track individual file progress
- Client-side queue management
2026-03-08 16:14:13 -05:00
### 2.2 Essential Image Operations 🎨
**Why**: Basic operations users expect
**Effort**: Low-Medium (4-6 hours) | **Impact**: High
2026-03-08 16:14:13 -05:00
- [ ] **Rotation**: 90°, 180°, 270°, custom angle
- [ ] **Flip**: Horizontal / Vertical
- [ ] **Grayscale**: Quick B&W conversion
- [ ] **Auto-rotate**: Based on EXIF orientation
- [ ] **Trim**: Remove transparent/white borders automatically
2026-03-08 16:14:13 -05:00
**Technical**: All supported natively by Sharp library
2026-03-08 16:14:13 -05:00
### 2.3 Image Optimization ⚡ **HIGH VALUE**
**Why**: One-click file size reduction without quality loss
**Effort**: Low (2-3 hours) | **Impact**: Very High
2026-03-08 16:14:13 -05:00
- [ ] **Auto-Optimize** button - Smart quality/compression
- [ ] **Lossless PNG** optimization (pngquant-style)
- [ ] **Strip EXIF** metadata (privacy + file size)
- [ ] **Progressive JPEG** encoding
- [ ] **Compression comparison** - Show savings for each format
- [ ] **Target file size** - Optimize to hit specific size (e.g., "under 1MB")
2026-03-08 16:14:13 -05:00
**Implementation**: Use Sharp's built-in optimization + custom quality detection
2026-03-08 16:14:13 -05:00
---
2026-03-08 16:14:13 -05:00
## Sprint 3: User Experience Polish (High Utility)
**Focus**: Make the app faster and more intuitive
**Effort**: ~10-12 hours | **Impact**: High | **Timeline**: Week 3-4
### 3.1 Quick Access Features ⏱️
**Why**: Speed up repetitive tasks
**Effort**: Low (2-3 hours) | **Impact**: Medium-High
- [ ] **Copy to Clipboard** - Copy processed image directly
- [ ] **Recent Files** - Quick access to last 10 processed images (localStorage)
- [ ] **Undo/Redo** - Revert parameter changes
- [ ] **Favorites** - Star frequently used presets
- [ ] **Quick Settings** - Toggle common options in header
### 3.2 Image Analysis & Info 🔍 **HIGH VALUE**
**Why**: Understand your images better
**Effort**: Low (2-3 hours) | **Impact**: Medium-High
- [ ] **Metadata Display**: Dimensions, format, color space, DPI
- [ ] **Color Palette Extraction**: Show dominant colors (5-8)
- [ ] **Transparency Detection**: Warn if converting transparent to JPEG
- [ ] **File Size Projection**: Estimate final size before download
- [ ] **Aspect Ratio Calculator**: Calculate dimensions maintaining ratio
- [ ] **Memory Usage**: Show current memory consumption
### 3.3 Format Intelligence 🧠
**Why**: Help users choose the right format
**Effort**: Low (2-3 hours) | **Impact**: Medium
- [ ] **Format Recommendations**: Suggest best format based on image
- [ ] **Browser Support Detection**: Show WebP/AVIF compatibility
- [ ] **Multi-Format Export**: Generate PNG + WebP + JPEG at once
- [ ] **Responsive Image Sets**: Export multiple sizes for responsive design
### 3.4 UI/UX Improvements
**Effort**: Low-Medium (3-4 hours) | **Impact**: Medium
- [ ] **Mobile Responsive Design**: Better mobile/tablet experience
- [ ] **Toast Notifications**: Non-blocking feedback messages
- [ ] **Drag to Reorder**: Reorder batch queue
- [ ] **Compare Mode**: Slider to compare before/after
- [ ] **Zoom Controls**: Zoom in on preview images
- [ ] **Grid/List Toggle**: Switch preview layout
2026-03-08 16:14:13 -05:00
---
2026-03-08 16:14:13 -05:00
## Sprint 4: Advanced Features (Power Users)
**Focus**: Professional-grade tools
**Effort**: ~15-20 hours | **Impact**: Medium-High | **Timeline**: Week 5-6
### 4.1 Custom Crop Tool ✂️
**Why**: Precise control over cropping
**Effort**: High (8-10 hours) | **Impact**: Medium-High
- [ ] **Visual Crop Selector**: Interactive drag handles
- [ ] **Aspect Ratio Lock**: 16:9, 4:3, 1:1, custom
- [ ] **Freeform Cropping**: No ratio constraints
- [ ] **Rule of Thirds Grid**: Photography composition guide
- [ ] **Golden Ratio Grid**: Advanced composition
- [ ] **Zoom for Precision**: Zoom in for pixel-perfect crops
- [ ] **Crop Presets**: Social media sizes (Instagram, Facebook, etc.)
### 4.2 Filters & Effects 🌈
**Why**: Quick image enhancements
**Effort**: Medium (5-6 hours) | **Impact**: Medium
- [ ] **Brightness/Contrast**: Adjust exposure
- [ ] **Saturation**: Boost or reduce colors
- [ ] **Sharpness**: Enhance edges
- [ ] **Blur**: Gaussian blur with radius control
- [ ] **Tint**: Apply color overlay
- [ ] **Vintage Filter**: Sepia tone
- [ ] **Invert Colors**: Negative effect
- [ ] **Filter Presets**: Quick apply common filters
### 4.3 Watermarking 📝
**Why**: Protect and brand images
**Effort**: Medium (4-5 hours) | **Impact**: Medium
- [ ] **Text Watermark**: Custom text with font selection
- [ ] **Image Watermark**: Upload logo overlay
- [ ] **Position Control**: 9 positions + custom X/Y
- [ ] **Opacity**: Adjust transparency (0-100%)
- [ ] **Repeat Pattern**: Tile watermark across image
- [ ] **Batch Watermark**: Apply to all images in batch
2026-03-08 16:14:13 -05:00
---
## Sprint 5: Workflow & Automation (Productivity)
**Focus**: Save time with reusable workflows
**Effort**: ~8-10 hours | **Impact**: Medium | **Timeline**: Week 7+
2026-03-08 16:14:13 -05:00
### 5.1 Custom Presets & Templates
**Why**: Reusable transformation pipelines
**Effort**: Low-Medium (3-4 hours) | **Impact**: Medium
2026-03-08 16:14:13 -05:00
- [ ] **Save Custom Presets**: Create your own quick-access presets
- [ ] **Preset Categories**: Organize by use case
- [ ] **Import/Export Presets**: Share as JSON files
- [ ] **Transformation Chains**: Combine multiple operations
- [ ] **Preset Shortcuts**: Assign keyboard shortcuts (1-9 keys)
- [ ] **Community Presets**: Gallery of user-submitted presets
2026-03-08 16:14:13 -05:00
### 5.2 History & Session Management
**Why**: Track and repeat common tasks
**Effort**: Low (2-3 hours) | **Impact**: Low-Medium
2026-03-08 16:14:13 -05:00
- [ ] **Processing History**: Last 50 transformations
- [ ] **Quick Re-apply**: Reload previous settings
- [ ] **Export History**: Save session as JSON
- [ ] **Clear History**: Privacy button
- [ ] **Session Restore**: Resume after browser close
2026-03-08 16:14:13 -05:00
---
## Future: Extended Format Support (Lower Priority)
**Focus**: Support more file types
**Effort**: Variable | **Impact**: Situational
2026-03-08 16:14:13 -05:00
### Additional Formats
- [ ] **AVIF Support**: Next-gen image format
- [ ] **TIFF Support**: Professional photography
- [ ] **SVG to Raster**: Convert vector to bitmap
- [ ] **ICO Generation**: Create favicons (16, 32, 48, 64, 128, 256px)
- [ ] **PDF to Image**: Extract first page as image
- [ ] **GIF Frame Extraction**: Convert animated GIF to frames
- [ ] **HEIC/HEIF Support**: Apple photo format
2026-03-08 16:14:13 -05:00
---
## Enterprise & API (Optional)
**Focus**: For hosted/managed deployments
2026-03-08 16:14:13 -05:00
**Effort**: High | **Impact**: Situational
### API Access
- [ ] Generate API keys in UI
- [ ] Rate limiting per key
- [ ] Usage statistics dashboard
- [ ] Webhook support for async processing
- [ ] OpenAPI/Swagger documentation
- [ ] SDK libraries (Python, Node.js, PHP)
### User Accounts (Optional)
2026-03-08 16:14:13 -05:00
- [ ] User authentication
- [ ] Per-user quotas
- [ ] Cloud storage integration (S3, MinIO)
2026-03-08 16:14:13 -05:00
- [ ] Saved presets sync
- [ ] Usage analytics
- [ ] Team collaboration features
---
## New High-Value Ideas 💡
### Image Comparison Tool 🔍
**Why**: A/B test different settings
**Effort**: Low-Medium (3-4 hours) | **Impact**: Medium
- [ ] Side-by-side comparison of 2-4 versions
- [ ] Slider reveal to show differences
- [ ] Quality vs file size comparison matrix
- [ ] Export comparison settings for sharing
### Background Removal ✨ **HIGH VALUE**
**Why**: Remove backgrounds automatically
**Effort**: Medium-High (6-8 hours) | **Impact**: Very High
- [ ] AI-powered background removal (using @imgly/background-removal or similar)
- [ ] Replace with solid color
- [ ] Replace with gradient
- [ ] Replace with uploaded image
- [ ] Transparency preservation
- [ ] Edge refinement controls
### Smart Resize 🦾 **HIGH VALUE**
**Why**: Content-aware resizing
**Effort**: Medium (4-5 hours) | **Impact**: High
- [ ] **Content-aware scaling**: Preserve important areas
- [ ] **Face detection**: Protect faces during crop
- [ ] **Center of interest**: Auto-detect focal point
- [ ] **Smart crop suggestions**: AI-suggested crop areas
### Color Adjustments 🎨
**Why**: Fine-tune image colors
**Effort**: Medium (4-5 hours) | **Impact**: Medium
- [ ] **Hue/Saturation/Lightness** sliders
- [ ] **Color temperature** (warm/cool)
- [ ] **Vibrance** (selective saturation)
- [ ] **Color balance** (shadows, midtones, highlights)
- [ ] **White balance correction**
- [ ] **Color grading presets**
### Border & Frame Effects 🖼️
**Why**: Add decorative elements
**Effort**: Low-Medium (3-4 hours) | **Impact**: Low-Medium
- [ ] **Solid borders**: Color and thickness
- [ ] **Padding**: Add transparent/colored space
- [ ] **Rounded corners**: Border radius control
- [ ] **Shadow effects**: Drop shadow with blur
- [ ] **Frame templates**: Decorative frames
- [ ] **Polaroid effect**: Instant camera style
### Image Merge & Collage 🖼️
**Why**: Combine multiple images
**Effort**: High (8-10 hours) | **Impact**: Medium
- [ ] **Side-by-side merge**: Horizontal/vertical
- [ ] **Grid layout**: 2x2, 3x3, custom
- [ ] **Collage templates**: Pre-designed layouts
- [ ] **Spacing control**: Gap between images
- [ ] **Background color**: For gaps
### Conditional Processing 🤖
**Why**: Smart automation based on image properties
**Effort**: Medium (4-5 hours) | **Impact**: Medium
- [ ] **Size-based rules**: Different settings for large vs small images
- [ ] **Format detection**: Auto-convert based on transparency
- [ ] **Quality ranges**: Set min/max quality constraints
- [ ] **Dimension limits**: Enforce max width/height
2026-03-08 16:14:13 -05:00
---
## Technical Debt & Infrastructure
### Code Quality
- [ ] Unit tests (backend) - Vitest/Jest
- [ ] E2E tests (frontend) - Playwright
2026-03-08 16:14:13 -05:00
- [ ] TypeScript strict mode
- [ ] ESLint + Prettier configuration
- [ ] CI/CD pipeline (GitHub Actions or Gitea Actions)
- [ ] Code coverage reporting (>80%)
- [ ] Automated dependency updates (Renovate)
2026-03-08 16:14:13 -05:00
### Performance
- [ ] Image processing queue (for heavy operations)
- [ ] Web Workers for client-side processing
- [ ] Service Worker for offline support
2026-03-08 16:14:13 -05:00
- [ ] Lazy loading for UI components
- [ ] Memory leak detection and fixes
- [ ] Performance monitoring (Lighthouse CI)
2026-03-08 16:14:13 -05:00
### Security
- [ ] Rate limiting (prevent abuse)
- [ ] File type validation (magic bytes check)
- [ ] Max file size enforcement (configurable)
- [ ] CORS configuration hardening
2026-03-08 16:14:13 -05:00
- [ ] CSP headers
- [ ] Input sanitization audit
- [ ] Security headers (HSTS, X-Frame-Options)
- [ ] Dependency vulnerability scanning
2026-03-08 16:14:13 -05:00
### Monitoring & Analytics
2026-03-08 16:14:13 -05:00
- [ ] Prometheus metrics endpoint
- [ ] Error tracking (Sentry integration)
- [ ] Performance monitoring (Real User Monitoring)
- [ ] Usage analytics (privacy-focused, self-hosted)
- [ ] Health check dashboard
---
## Priority Matrix (Updated)
### Immediate Next Steps (Sprint 2)
1. 🚀 **Batch Processing** - Highest utility, medium effort
2.**Auto-Optimize** - Quick win, very high value
3. 🎨 **Basic Operations** - Essential features (rotate, flip, grayscale)
### High Value, Medium Effort (Sprint 3-4)
4. 🔍 **Image Analysis** - Understand images better
5.**Background Removal** - AI-powered, huge demand
6. 🦾 **Smart Resize** - Content-aware scaling
7. ✂️ **Custom Crop Tool** - Professional precision
### Polish & Productivity (Sprint 5+)
8. ⏱️ **Quick Access Features** - Speed up workflow
9. 📝 **Custom Presets** - Reusable workflows
10. 🎨 **Filters & Effects** - Creative options
2026-03-08 16:14:13 -05:00
---
## Community Ideas
Have suggestions? Open an issue on the repository:
- Feature requests
- Bug reports
- Use case discussions
- Performance improvements
**Maintainer**: jason
**Repository**: https://git.alwisp.com/jason/pnger
**Last Updated**: March 8, 2026 (Sprint 1 Complete)