Takafumi Horiuchi

Practice Log n Share

Приложение для записи и обсуждения ежедневных музыкальных занятий

Экран Log. Над полосой с сегодняшним итогом 54 минуты и карточками категорий расположена сетка истории занятий. Таймер категории Piece practice превысил 27 минут; её карточка выделена более ярким цветом и белым контуром. Экран Share. Сводка с урока 17 сентября по 24 сентября показывает 4 часа 38 минут занятий, полосы по категориям и таблицу по дням, где все категории видны без горизонтальной прокрутки.
В приложении два экрана. Попробуйте их в веб-демо.

1. Обзор

Приложение для iPhone, в котором можно записывать время занятий одним касанием, не откладывая инструмент, а затем показывать записи преподавателю на уроке. Два экрана — для записи и обмена — помогают обсуждать ежедневную практику на занятиях.

Я отвечал за постановку задачи, UX/UI-дизайн, настройку взаимодействия на iPhone, реализацию и подготовку поясняющих материалов. В реализации мне помогал ИИ, а решения о том, какие экраны и способы взаимодействия использовать, я принимал сам.

Я использовал приложение во время собственных занятий и уроков. Преподаватель отметил, что легко понять, чем я занимался, и попросил более подробные записи (пересказ отзыва).

2. Предпосылки и трудности

Я играю на тенор-саксофоне для себя и хожу на уроки раз в две недели. Когда преподаватель спрашивал, как идут занятия, у меня не было способа конкретно показать, что и сколько времени я практиковал.

Когда саксофон висит на ремне, писать на бумаге во время занятий неудобно. По мере накопления страниц дневника записи оказываются разбросаны.

Попытка писать на бумаге, когда саксофон висит на шейном ремне. Отдельные листы с записями накапливаются, и нужные сведения становится трудно найти.
Неудобно писать, держа инструментБольше листов — труднее найти записи

Приложения для учёта времени, которые я попробовал, позволяли запустить таймер одним касанием. Задача состояла в том, чтобы представить записи в виде, понятном преподавателю с первого взгляда.

3. Принципы проектирования

Я хотел объединить запись во время практики и показ данных на уроке в один непрерывный процесс. Два требования стали основой решений об экранах и взаимодействии.

Простая запись во время занятий

Записывать время одним касанием категории, не откладывая инструмент.

Без редактирования перед уроком

Автоматически сводить записи, чтобы можно было сразу показать, что и сколько времени я практиковал.

4. Функции и дизайн

Объединить управление и время занятий на одной карточке

Касание категории запускает таймер, касание другой карточки переключает категорию, повторное касание той же карточки останавливает таймер. На карточке крупно показано время за сегодня; только во время отсчёта она становится ярче и получает белый контур. Место управления одновременно служит местом проверки того, что сейчас записывается.

Экран Log. Над полосой с сегодняшним итогом 54 минуты и карточками категорий расположена сетка истории занятий. Таймер категории Piece practice превысил 27 минут; её карточка выделена более ярким цветом и белым контуром.
Идёт отсчёт времени в категории «Работа над пьесами».
Категория, время за сегодня и состояние таймера видны на одной карточке.

Видеть распределение практики без горизонтальной прокрутки

Чтобы не редактировать данные перед показом, приложение автоматически сводит записи со дня предыдущего урока. В таблице по дням я отдал приоритет одновременной видимости всех категорий, даже ценой уменьшения текста. Цель — обсуждать распределение времени с преподавателем, показывая ему экран.

Экран Share. Сводка с урока 17 сентября по 24 сентября показывает 4 часа 38 минут занятий, полосы по категориям и таблицу по дням, где все категории видны без горизонтальной прокрутки.
Период, общее время, распределение по категориям и сведения по дням на одном экране.

Сделать накопленную практику стимулом продолжать

Я сделал видимыми и результаты за сегодня, и накопленную практику за месяцы и годы. Также надеюсь, что возможность показать преподавателю вложенные усилия поможет сохранять мотивацию.

Один день: заполнить полосу, ориентируясь на час

Полоса сегодняшней практики первоначально использует один час как верхнюю границу. Время разных категорий складывается в цветные сегменты: я надеялся, что стремление достичь этого ориентира будет побуждать заниматься.

Пример после 40 минут практики. Цвета обозначают категории. Вымышленные записи.

В долгосрочной перспективе: зелёные ячейки показывают ежедневную практику

Каждая ячейка соответствует одному дню, а оттенок зелёного — времени занятий. Сетка позволяет охватить взглядом практику за месяцы и годы. Я хотел, чтобы растущее число ежедневных записей побуждало продолжать занятия.

Одна ячейка — один день; красные рамки обозначают контрольные точки. Крайний правый столбец заполнен частично, дни ниже ещё не записаны. Вымышленный пример.

5. Процесс разработки

Определить роль записи и обмена через исследование

Я использовал ChatGPT для изучения существующих приложений и систематизации задачи и подхода. В рамках проведённого тогда поиска я нашёл приложения для управления временем, но не нашёл подходящего механизма обмена данными для общения с преподавателем. Концепцию, уточнённую в диалоге, я оформил в спецификацию и передал Codex для реализации первой версии.

Проверить первую версию и разместить управление в пределах экрана

Я сам попробовал сгенерированную первую версию, предложил улучшения UI и UX и постепенно доработал её. Информацию о текущем отсчёте и кнопку остановки, раньше находившиеся отдельно, я объединил на карточках, а время за сегодня сделал заметнее. Также искал компоновку, при которой панель управления полностью помещается на экране.

Первая версия от 9 сентября: шесть небольших карточек категорий и сегодняшний итог 40 минут находятся в разных областях экрана записи.

Первая версия

Доработанная версия от 21 сентября: крупные карточки показывают категорию и время за сегодня. Активный таймер чтения нот показывает 10 минут и выделен цветом.

Доработанная версия

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

Для экрана, который остаётся открытым во время практики, я выбрал чёрный фон, стремясь при этом создать бодрое настроение с помощью цветов категорий.

Сравнить ощущения от прокрутки и выбрать подход

Одних слов и изображений было недостаточно, чтобы добиться ощущения «плавно движется и чётко останавливается». Поэтому я вместе с ИИ создал инструмент настройки, в котором мог сам менять методы и значения. На iPhone я сравнивал, где останавливается прокрутка, подбирая положение, при котором вся панель управления остаётся видимой. Я выбрал встроенную в браузер привязку прокрутки и использовал её в приложении.

Инструмент настройки прокрутки: рядом с предпросмотром телефона для проверки поведения расположены элементы выбора пяти способов привязки прокрутки и их параметров.
Я переключал методы и параметры, чтобы на iPhone сравнить, как останавливается прокрутка.

Использовать независимые проверки и самому решать, что принять

Я повторял цикл проверки в двух независимых сессиях ИИ. Сначала сам рассматривал проблемы и улучшения, предложенные Claude Code, затем Codex проверял их и вносил необходимые исправления. Некоторые предложения отходили от задуманного UI и UX, поэтому я решал, что принять, исходя из цели приложения и ощущений от использования.

Я повторил этот процесс около 15 раз. Когда проверки ИИ перестали выявлять крупные дефекты, это стало одним из оснований завершить данный этап улучшений.

6. Опыт использования и дальнейшие планы

Открывать приложение стало привычным началом занятий

Я установил приложение на свой iPhone и пользовался им каждый день, проверяя удобство записи одним касанием, не откладывая инструмент. Открывать его в начале занятий стало полезной привычкой. Просмотр порядка и распределения сегодняшней практики и внимание к дате следующего урока помогают мне планировать занятия.

Преподаватель попросил более подробные записи

Преподаватель отметил, что содержание практики понятно с первого взгляда и что запись видов гамм сделала бы приложение полезнее (пересказ отзыва). Эти наблюдения основаны на моём личном опыте практики и уроков с преподавателем.

Следующая задача: больше подробностей без усложнения записи

Я рассматриваю подкатегории, например «Пентатонические гаммы» внутри «Гамм». Поиск удобного способа записи продолжается. Для экрана обмена также обдумываю иерархию категорий и подкатегорий вместо таблицы по дням.