This document outlines features that are intentionally excluded from OverType to maintain its core philosophy of simplicity, performance, and perfect alignment.
These features could be considered if someone proposes a performant, elegant solution that doesn't break existing functionality:
Why it's challenging:
- Multi-line tokens can span across OverType's line-by-line DOM structure
- Each line is in a separate
<div>element - Syntax highlighters expect continuous text blocks
- Would need to maintain character-perfect alignment
What we'd need:
- Solution that works with line-by-line DOM structure
- No impact on editing performance
- Maintains perfect character alignment
- Lightweight (< 10KB added)
- Works with existing architecture
These features are fundamentally incompatible with OverType's design philosophy and architecture:
Why not:
- Images break the character grid alignment
- Would require placeholder characters or break the overlay model
- Many excellent rich editors already handle images well
Alternative: Use OverType for text editing, preview rendered markdown elsewhere for images.
Why not:
- Variable column widths break monospace grid assumptions
- Table navigation (Tab between cells) conflicts with textarea behavior
- Would require significant architecture changes
Alternative: Use formatted code blocks for simple ASCII tables.
Why not:
- Popup menus break the overlay alignment
- Conflicts with native mobile keyboards and accessibility tools
- Goes against the "transparent textarea" philosophy
Alternative: Use native browser/OS autocomplete and spell-check features.
Why not:
- OverType IS the preview (that's the whole point)
- Split pane defeats the overlay innovation
- Plenty of other editors offer split preview
Alternative: Use the proposed preview mode toggle for a clean reading view.
Why not:
- OverType is an editor component, not an IDE
- File management is the host application's responsibility
- Would massively expand scope
Alternative: Integrate OverType into existing IDEs or editors that have file management.
Why not:
- Modal editing breaks textarea native behavior
- Complexity explosion for minority use case
- Better served by actual Vim/Emacs or plugins
Alternative: Use browser extensions that add Vim keybindings to all textareas.
OverType intentionally stays small and focused. Every feature has a cost in:
- Code complexity - More code means more bugs
- Performance - Every feature adds overhead
- Maintenance - Features need updates and bug fixes forever
- Learning curve - More features make it harder to understand
- Testing surface - More combinations to test
By saying "no" to these features, OverType can remain:
- Fast - Instant response, no lag
- Small - ~60KB minified
- Reliable - Fewer features = fewer bugs
- Understandable - You can read the entire source in an hour
- Maintainable - One person can maintain it