I think supporting blobs with suggested dimensions is a great feature. I’ve been punting that for the time being because I’d like it to be an optional feature for Smoke Signal operators because it introduces some complexity:
What are the technical requirements and constraints for supporting blob (image) uploads?
How are images retrieved, cached, and displayed?
What tools and features exist for Smoke Signal operators to mask or hide offensive images, or to throttle resource consumption for supporting images?
Here is a first draft of what could be a move is this direction.
MVP Scope: Event Cover Images
Core Feature: Allow event creators to add a single cover image to events for better visual appeal and social media sharing.
Technical Implementation Strategy
1. Lexicon Design
community.lexicon.event.create
- Add optional `coverImage` field of type `blob`
- Include `alt` text field for accessibility
- Limit to single image per event initially
2. Upload Constraints (Conservative Start)
File types: JPEG, PNG, WebP only
Size limit: 2MB (?) max per image
Dimensions: Max 1920x1080, min 640x360
Aspect ratio: Enforce 16:9 only (1.777:1 ratio)
Crop tool: “à-la-bluesky” profile image header
3. Basic Content Safety
EXIF stripping: Remove metadata automatically on upload
File validation: Server-side MIME type verification + aspect ratio validation
Quarantine period: 24-hour garbage collection window for unreferenced blobs