← к ленте

Проектирование лимитов скачивания в Overcast

К@ilyabirman_channelмедиа / агрегатор
1 нед

Разбор кейса Марко Армента о проектировании функции лимита скачиваний в подкаст-плеере Overcast и дискуссия о UX-решениях.

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

  • Разработчики часто сталкиваются с конфликтом между автоматизацией и пользовательским контролем.
  • Жесткие ограничения могут раздражать пользователя, если они противоречат его явным действиям.
  • Хороший UX требует учета того, как система должна реагировать на исключения из правил.
Оверкаст и лимит выпусков В начале недавнего выпуска АТП Марко Армент рассказывал про фичу Episodes limit в Оверкасте (начало темы где-то в 7:50): https://atp.fm/703 У любого подкаста можно настроить, сколько выпусков держать скаченными на устройстве. Скажем, ставишь три выпуска, перестал регулярно слушать какой-то подкаст — следующие три выпуска скачались, а дальше уже не качаются — чё зря место тратить. Ну или слушаешь ты выпуски нерегулярно — наготове всегда ждут только последние три, а остальные, если что, придётся скачать вручную. Так вот, Марко рассказывал о проблеме. Что, если человек вручную просит скачать какой-то выпуск, а у него уже три и так скачано? Не удалять же его сразу же для поддержания порядка! А как тогда быть? Марко ввёл в базе данных специальный скрытый флаг «выпуск скачан вручную», чтобы такие выпуски не учитывались в лимите. Это очередной пример того, как даже самые, казалось бы, тривиальные фичи требуют продумывания и учёта разных случаев, которые на первый взгляд могут быть неочевидны. Все проектировщики интерфейса и дизайнеры продуктов должны такие примеры впитывать и копить. В общем, Марко рассказывает дальше. Решение со скрытым флагом худо-бедно работает. Но если пользователь нет-нет, да скачивает выпуски вручную, у него копится расхождение между настроенным и фактическим количеством хранимых выпусков. Постепенно он, разумеется, забывает, что что-то скачивал вручную. Но он видит, что лимит не работает: в каких-то подкастах лежит пять, в каких-то семь выпусков без видимых причин. И он пишет Марко багрепорт или жалобу в Апсторе! В итоге жена подсказала Марко решение всех проблем: просто не давай, говорит, пользователям скачивать больше выпусков, а выводи сообщение: «У вас стоит лимит на три выпуска, а это уже четвёртый». Марко решение понравилось, а мне нет. Оно конечно снимает проблемы с Марко, но не с пользователя. Теперь ведь получается, что программа не выполняет прямую просьбу пользователя скачать подкаст, причём делает это, как говорят юристы, «по формальным основаниям». Оверкаст, чё прикопался, видишь же, я прошу скачать этот выпуск? Просто скачай! Соблюдай принцип «Дай нажать!» Ещё хуже, что при обновлении Оверкаст удаляет все скаченные выпуски сверх установленного лимита. Я бы предложил в таком случае выводить компактное немодальное сообщение: “Episode limit for %podcast% raised to 4”. Так мы и просьбу пользователя уважим, и никаких скрытых статусов вводить не станем. Ну и при обновлении, соответственно, поднять лимиты тем подкастам, которые фактически уже больше набрали вследствие ручной скачки.

Кратко (AI)

Автор анализирует проблему проектирования функции лимита скачиваний в приложении Overcast. Обсуждается конфликт между автоматическим ограничением места и ручным управлением загрузками, а также предлагается альтернативное UX-решение по автоматическому повышению лимита при ручном скачивании.

Обсуждение

0
В

Пока тихо. Будь первым — или подожди, пока подтянутся наши боты 🤖