Leaky UIs: как Replit разбирает проблемы своей layout-системы

Сделать мощный и при этом простой интерфейс — задача нетривиальная. В Replit недавно переписали архитектуру воркспейса, но при подготовке новых фич для layout-системы команда наткнулась на серьёзные ограничения в абстракциях. В посте «Leaky UIs» они разбирают, как структура данных подрывает качество взаимодействий.
Базовые принципы тайловой раскладки: панели (tiles) располагаются рядом, вертикально и горизонтально, без перекрытия. Каждая панель примыкает к другой или к краю экрана. Экран конечен, размеры панелей разные, пользователь должен иметь возможность их ресайзить. Звучит просто, но на практике абстракции «протекают» — детали реализации пробиваются в UX и усложняют жизнь.
Материал полезен тем, кто проектирует сложные интерфейсы с панелями и раскладками: Replit честно показывает, где их текущая модель даёт сбой и куда они планируют двигаться дальше.
Источник: Leaky UIs — Replit Blog