Skip to content

Latest commit

 

History

History
188 lines (152 loc) · 18 KB

DESIGN.md

File metadata and controls

188 lines (152 loc) · 18 KB

Uberlang — дизайн-документ

Статус: актуальное направление пользователя · Обновлено: 2026-10-25

Этот документ описывает текущие приоритеты продукта. Его можно редактировать: добавлять замечания в «Открытые вопросы» и идеи в «Инбокс». Изменения принятого поведения фиксируются в ADR. Интерфейс приложения остаётся на английском.

Направление пользователя от 2026-10-25

Uberlang — компактный инструмент для исследования происхождения и связей слов. Основной сценарий: ввести слово, открыть его историю, пройти по подтверждённым источниками формам и исследовать связанные ветви. Экран должен помогать этой работе и оставлять место для дерева и источников.

Рекламные заголовки вроде «Follow your curiosity» и «Every word has a story», декоративные слоганы и повторные инструкции исключены из рабочего интерфейса. Минимализм относится и к поиску отдельного слова, и к Sentence or text. Приложение не должно превращаться в набор равноправных инструментов перевода, грамматики, обучения, карточек и роста аудитории.

Это направление имеет приоритет над прежними маркетинговыми ориентирами в POSITIONING.md, GRAPHICS.md и первоначальном дизайн-документе. Полный черновик от 2026-10-01 сохранён как исторический контекст, включая сценарии S1–S25 и идеи. Его статусы реализации и дорожная карта больше не описывают текущий веб-продукт и не дают поручения реализовать весь перечисленный набор функций. Решение закреплено в ADR-036.

1. Основная задача и границы

Исследовать слово, его происхождение и связи между языками по доступным словарным свидетельствам. Дерево показывает только подтверждённые связи: сходство написания, перевод или значение сами по себе не доказывают родство.

Sentence or text помогает прийти к слову из контекста. Английская грамматика, словарные значения, заметки и Anki остаются вспомогательными возможностями. Они доступны по явному действию и не должны загромождать поиск или дерево. Переводчик общего назначения, лента, ежедневные задания, SRS и маркетинговый онбординг не являются текущими приоритетами. Локализация интерфейса сейчас не планируется: весь UI на английском.

2. Принципы интерфейса

  • Сначала ввод или результат. Не добавлять крупный заголовок, объясняющий очевидное действие, декоративное пустое состояние или ряд обещаний.
  • Называть действие прямо: Explore, Analyze, Save discovery. Плейсхолдер поиска слова строго Enter a word, без примеров и перечней.
  • Пояснения, примеры, управление заметками и экспортом открываются по запросу. Не повторять одну инструкцию в нескольких местах.
  • Ошибки, ход текущего запроса, существенные ограничения, реконструкции, пропущенные этапы и тип связи остаются видимыми там, где влияют на чтение.
  • Источники и CC BY-SA доступны у результата. Подготовленные примеры и живые словарные/грамматические данные всегда различимы.
  • Сокращать экран за счёт композиции и раскрытия подробностей. Существующие данные и полезные действия не удалять ради визуальной чистоты.
  • Использовать существующие темы, видимый фокус, клавиатуру, цели касания минимум 44 px и reduced motion. Проверять ширину 390 px и десктоп.

3. Основной сценарий: слово → история → связи

  1. Пустое поле с плейсхолдером Enter a word, язык словарной статьи и Explore. Отправка только по явному действию; сетевых запросов при наборе нет.
  2. Первый словарный вариант открывается сразу. Другие этимологии доступны отдельно и не объединяются в одну семью. Словарные выражения поддерживаются, но обычное предложение не объявляется словом с общей историей.
  3. Дерево открывается на читаемом основном пути. Связанные ветви раскрываются у соответствующей формы; мини-карта показывает весь загруженный граф. Whole tree, масштабирование и перемещение сохраняются (ADR-033).
  4. Выбранная форма показывает язык, значение, тип связи и источник. Уточнения о методике и управлении деревом раскрываются отдельно. Отсутствующая связь остаётся отсутствующей; PIE не является обязательной конечной точкой.
  5. Сохранение открытия и Explore later позволяют вернуться к форме, дереву и заметке. Notes & cards, сравнение и резервные копии доступны как вторичные действия. Сохранённое дерево открывается локально; продолжение поиска источников требует явного действия.

Examples и About word lookup — закрытые разделы рядом с поиском. My decks доступен через Tools; заголовок приложения остаётся компактным. Нет отдельного объясняющего пустого результата и дублирующей ссылки на соседнюю вкладку.

4. Sentence or text: контекст для исследования

Пустой ввод, одна Analyze, без декоративного заголовка над редактором. Примеры и сведения об обработке текста раскрываются по запросу. Язык определяется локально автоматически; Text language не возвращается (ADR-034). Грамматика пока поддерживает только английский; ограничение доступно перед отправкой и при неподдерживаемом вводе.

После анализа виден один фрагмент предложения, вкладки Reading / Structure и выбор слова. Word history открывает основной исследовательский экран. Подробная морфология, сведения модели, выделение выражения, заметки и экспорт остаются в раскрываемых разделах. Нет рекламного «Make sense of a sentence» и дополнительного заголовка «How it fits together» над самим объяснением.

Сохраняются исходный текст и абсолютные UTF-16 координаты каждого вхождения. Редактирование сразу делает старый результат неактуальным; сохранённые заметки остаются привязаны к исходному тексту. Детали композиции и проверок — ADR-035.

5. Данные и доверие

  • English Wiktionary и ограниченный поддерживаемый fallback Russian Wiktionary; атрибуция CC BY-SA, ссылки на статьи и сведения о ревизиях сохраняются.
  • Направление историй может проходить через несколько поддерживаемых языков. Это не обещание анализа грамматики на этих языках или полноты словаря.
  • Реконструкции имеют * и явную маркировку. Cognates, descendants, components и inflections не подменяются предками. Отдельные этимологии не склеиваются.
  • Подготовленные семьи открываются офлайн и обозначены Prepared / Curated. Живая словарная история обозначена Live source lookup / partial history. Подготовленная грамматика и анализ модели имеют разные статусы.
  • Без аккаунтов, телеметрии и платных провайдеров. Текст не отправляется при наборе; Analyze отправляет только выбранное предложение. Explore отправляет выбранное слово и язык. Подробности приватности доступны до действия.
  • Не менять ключи и форматы uberlang.explorations.v1, импортированных Anki-колод, session notes и lingua.roots.v1. Не очищать неизвестные/повреждённые данные. Локальное хранение не является облачной синхронизацией; резервное копирование и восстановление остаются доступны. Заметки Sentence / Text — только в сессии, с явным экспортом для сохранения.

6. Текущие приоритеты

Сейчас: компактный поиск, читаемое дерево, раскрытие ветвей, полезные источники у выбранной формы; единый спокойный интерфейс на телефоне и десктопе. Проверять реальный путь от слова до связанной формы и возврат к сохранённой работе.

Далее: улучшать качество и понятность подтверждённых историй и восстановление исследования. Новая функция получает место только если помогает этому сценарию и не требует постоянной дополнительной панели или служебных текстов.

Отложено: маркетинговые крючки, «вау»-онбординг, ежедневная лента/пазл, SEO-масштабирование, расширенный SRS, режим преподавателя, публичный API. Это идеи из истории проекта, а не обязательства текущего этапа.

Критерий качества: пользователь быстро находит ввод, читает формы дерева, понимает тип связи и источник, открывает ветвь и возвращается к своей работе. Счётчики удержания и «открытий», вирусность и телеметрия не направляют текущий UI.

7. Композиция рабочего экрана и ожидание (ADR-037)

Пользователь выбрал «сразу дерево + карточка выбранной формы» после сравнения с вариантом текстовой истории перед деревом. Основа — два независимых исследования чтения и словарей и графов и ожидания. Наблюдения из референсов не являются доказательством улучшения метрик Uberlang.

  • Компактный ввод остаётся сверху. Library открывает отдельное пространство; дерево остаётся смонтированным, чтобы не терять выбранную форму и масштаб.
  • Заголовок открытия и Save находятся над результатом. Дерево и карточка имеют отдельные области; карточка начинает с формы, языка, глоссы и источника. Продолжение ветвей и вторичные действия идут после содержания.
  • На телефоне карточка следует за деревом; кнопки details / Back to tree связывают их. Сводка PIE, путь выбранной формы и управление всеми ветвями раскрываются отдельно. Типы связей и реконструкции остаются видимыми.
  • Начальный запрос показывает конкретное слово, язык, прошедшее время и Cancel. Предыдущее дерево сохраняет собственный заголовок и остаётся интерактивным.
  • Во время расширения дерева над картой видны текущая форма и фактическое число доступных форм. Они добавляются сразу; Stop сохраняет полученное.
  • Analyze сразу открывает выбранное предложение для чтения. Ответ грамматики приходит одним JSON: никаких придуманных этапов, процентов или задержки. Ожидание, отмена, ошибка и Retry находятся рядом; секундомер не озвучивается каждую секунду. Готовый анализ неизменённого текста сохраняется при повторе, а редактирование и смена контекста инвалидируют старый запрос.

Решение: ADR-037.

8. Открытые вопросы

  • Какие сведения о выбранной форме ещё можно раскрывать по запросу, не теряя понимание связи и достоверности?
  • Какие улучшения источников сильнее всего помогают пройти реальную историю?
  • (добавляй замечания и правки ниже)

9. Инбокс

Идеи из первого черновика сохранены в историческом документе. Новые предложения оцениваются по основной задаче исследования слов.

  • (добавляй идеи ниже)

10. Журнал изменений

Дата Изменение
2026-10-01 Первый черновик: персоны, сценарии S1–S25, широкий roadmap. Сохранён в истории.
2026-10-25 Новое направление пользователя: компактное исследование происхождения и связей слов; удалены маркетинговые ориентиры из текущих приоритетов, подробности UI по запросу. ADR-036.
2026-10-25 По двум отдельным исследованиям пользователь выбрал дерево и карточку формы; отдельная библиотека, содержание перед действиями и реальная обратная связь запросов. ADR-037.