Как создать приложение с карточками и интервальным повторением
Приложение с карточками — это колоды карточек, экран повторения, который переворачивает каждую карточку, и планировщик, который решает, какие карточки вы увидите сегодня. Планировщик отличает полезный инструмент для учёбы от цифровой кучи бумажных карточек: при интервальном повторении карточки, которые вы знаете, возвращаются редко, а трудные — скоро. Сначала создайте экран повторения и простой планировщик; импорт, изображения и аудио добавьте позже.
Что нужно приложению с карточками
Данные
| Таблица | Поля |
|---|---|
| Колоды | Владелец, название, описание, публичная или приватная |
| Карточки | Колода, лицевая сторона, оборотная сторона, необязательное изображение или аудио, теги, дата создания |
| Состояние карточки | Пользователь, карточка, дата следующего повторения, интервал, лёгкость или сложность, число повторений, срывы |
| Повторения | Пользователь, карточка, время, оценка (Снова / Трудно / Хорошо / Легко), затраченное время |
Храните состояние карточки отдельно от самой карточки. Если колоды общие, два человека, которые учат одну и ту же карточку, должны иметь каждый свою дату повторения. Сохраняйте каждое повторение — это история, которая понадобится, чтобы улучшить планировщик, показать графики прогресса или позже сменить алгоритм.
Страницы
- Список колод с количеством карточек к повторению сегодня в каждой.
- Редактор карточек — важна скорость ввода. Лицевая сторона, оборотная, сохранить, следующая. Горячие клавиши на компьютере.
- Экран повторения — показать лицевую сторону, нажать, чтобы открыть оборот, оценить одной из четырёх крупных кнопок. Этот экран — 90% использования приложения.
- Статистика — число повторённых карточек в день, удержание, предстоящая нагрузка.
- Импорт — из CSV или текста с табуляцией, который экспортируют большинство других инструментов для карточек.
Выбор метода планирования
Здесь ничего не нужно изобретать. Три известных подхода:
| Метод | Как работает | Подходит для |
|---|---|---|
| Ящики Лейтнера | Карточка переходит в ящик выше, если ответ правильный, и возвращается в ящик 1, если нет; каждый ящик повторяется реже | Проще всего построить и объяснить |
| SM-2 | У каждой карточки есть интервал и «лёгкость», которые растут или падают в зависимости от вашей оценки | Проверенный, широко скопированный, легко тестировать |
| FSRS | Моделирует вероятность, что вы вспомните каждую карточку, и планирует на целевое удержание | Точнее; Anki предлагает его как опцию |
Для первой версии выберите Лейтнера или SM-2. Запишите правила в промпт с разобранным примером, например: «Новая карточка с оценкой «Хорошо» повторяется через 1 день, затем через 3 дня, затем примерно в 2,5 раза дольше предыдущего интервала при каждой оценке «Хорошо». При оценке «Снова» она появится через 10 минут, а интервал сбрасывается».
Что бы вы ни выбрали, попросите ИИ вынести планировщик в отдельную функцию с тестами. Тогда его можно будет поменять позже, не трогая остальное приложение.
Решения, которые нужно принять
Чей это день? «Сегодня к повторению» должно учитывать часовой пояс пользователя, а многие приложения для учёбы переносят начало дня на час вроде 4 утра, чтобы поздняя сессия считалась в том же дне.
Дневные лимиты. Без ограничения числа новых карточек в день активный пользователь добавит 500 карточек и через неделю столкнётся с невозможной кучей повторений. По умолчанию ставьте скромное число и позвольте людям его менять.
Типы карточек. Сначала базовые: лицевая и оборотная стороны. Карточки «наоборот» (проверяют и обратное направление) и пропуски в предложении (заполнить пробел) популярны, но каждая добавляет правила. Добавляйте их, когда базовые работают.
Общие колоды. Учитель, который делится колодой с классом, — отличная функция и вопрос прав доступа: ученики учатся по ней, но не могут править, а правки учителя должны доходить до всех, не сбрасывая их прогресс.
Офлайн. Люди учатся в поездах и самолётах. Прогрессивное веб-приложение может кэшировать карточки на сегодня, но синхронизировать повторения с двух офлайн-устройств действительно сложно. Работа только онлайн — разумная первая версия. Наше руководство нативные приложения и прогрессивные веб-приложения объясняет варианты.
Первый промпт, который работает
Создай веб-приложение с карточками, рассчитанное в первую очередь на телефон. Пользователи входят в систему и создают колоды, добавляют карточки с лицевой и оборотной стороной (текст, с необязательным изображением). У каждого пользователя своё состояние повторения по каждой карточке: дата повторения, интервал, лёгкость, число повторений и срывы. Используй алгоритм SM-2: оценки Снова, Трудно, Хорошо, Легко; «Снова» сбрасывает интервал и показывает карточку снова через 10 минут. Помести планировщик в отдельную протестированную функцию. Экран повторения показывает лицевую сторону, большую кнопку «Показать ответ», затем четыре крупные кнопки оценки. «Сегодня к повторению» использует часовой пояс пользователя, а день начинается в 4 утра. По умолчанию ограничь новые карточки 20 на колоду в день. Записывай каждое повторение. Покажи список колод с числом карточек к повторению и простую страницу статистики повторений в день. Добавь импорт CSV с колонками лицевой и оборотной стороны. Сохраняй всё в базе данных.
Этапы сборки
- Колоды и карточки. Создайте две колоды и двадцать карточек. Проверьте, как быстро можно добавить карточку.
- Экран повторения. Учитесь с телефона. Он должен быть мгновенным; любая задержка между карточками ощущается сотни раз в день.
- Тесты планировщика. Дайте ИИ таблицу последовательностей оценок и ожидаемых интервалов и проверьте результаты. Затем смените системное время устройства или попросите тестовый режим, который имитирует следующие несколько дней.
- Дневные лимиты и часовой пояс. Повторяйте поздно вечером и убедитесь, что очередь на следующий день верна.
- Импорт. Импортируйте реальный CSV из нескольких сотен карточек и проверьте спецсимволы, запятые внутри карточек и переносы строк.
- Статистика. Повторения в день и число предстоящих к повторению. Графики держите простыми.
- Дополнения. Изображения, аудио для языковых карточек, карточки наоборот, общие колоды — по одной.
Частые ошибки
- Хранение даты повторения на карточке. Она должна быть у каждого пользователя.
- Выбрасывание истории повторений. Она понадобится для статистики и любого будущего планировщика.
- Нет лимита новых карточек. Пользователи выгорают за неделю.
- Крошечные кнопки. Оценка происходит одной рукой; делайте кнопки крупными и достаточно далеко друг от друга, чтобы не промахиваться.
- Нет отмены последней оценки. Промахи случаются каждый день.
- Серверное время для «сегодня». Используйте часовой пояс пользователя.
- Сброс прогресса при редактировании карточки. Исправление опечатки не должно возвращать зрелую карточку к началу.
Когда лучше готовый продукт
Если вам просто нужно учиться, зрелые приложения с карточками уже существуют, многие бесплатны, и в них годы работы над планированием, синхронизацией, офлайн-режимом и общими колодами. Anki в особенности имеет огромную библиотеку колод от сообщества. Используйте их.
Создавайте своё, когда карточки — часть чего-то большего: курс, который вы продаёте, и карточки закрепляют каждый урок; языковая школа, которая выдаёт ученикам колоды, связанные с программой; компания, которая учит сотрудников знаниям о продукте; или предмет с типами карточек, с которыми общие инструменты плохо справляются. Вы владеете контентом, дизайном и данными учеников. Дополните это приложением для викторин для тестов или встройте в платформу онлайн-курсов.
Как это сделать с Mythex
Mythex создаёт это как веб-приложение, которое можно открыть на любом телефоне и добавить на главный экран. Опишите приложение в чате, проверьте экран повторения в рамке размера телефона предпросмотра и попросите аккаунты и сохранение прогресса — Mythex добавит выделенную базу данных, когда она понадобится, и файловое хранилище, если в карточках есть изображения или аудио. На тарифе Pro Mythex может также упаковать его как приложение для Android и iPhone, которое отправляется во внутреннее тестирование Google Play и TestFlight. Используйте режим «Вопрос», чтобы агент объяснил функцию планирования, прежде чем вы ему доверитесь, и публикуйте по ссылке mythex.ai, когда всё работает.
Вопросы
Что такое интервальное повторение?
Интервальное повторение показывает карточку снова незадолго до того, как вы, вероятно, её забудете. Карточки, которые вы знаете хорошо, возвращаются через всё большие промежутки; те, что вы пропустили, возвращаются скоро. Это делает время учёбы эффективнее, чем повторение всего одинаково.
Какой алгоритм интервального повторения использовать?
Для первой версии достаточно простой системы ящиков Лейтнера или SM-2 — её легко реализовать и проверить. FSRS — более новый и точный планировщик, который Anki предлагает как опцию; стоит рассмотреть его, когда появится история повторений для его настройки.
Может ли веб-приложение с карточками работать офлайн?
Частично. Прогрессивное веб-приложение может кэшировать приложение и карточки на день, чтобы повторение работало без соединения, а затем синхронизироваться. Синхронизация повторений, сделанных офлайн на двух устройствах, требует аккуратных правил слияния, поэтому многие первые версии работают только онлайн.
Можно ли создать приложение с карточками без программирования?
Да. ИИ-конструктор приложений может создать колоды, карточки, экран повторения и планирование по описанию. Дайте ему разобранные примеры правил планирования и проверьте их, потому что именно эта логика определяет, помогает ли приложение учиться.