TGViewer
Неразрывный дизайн Неразрывный дизайн @d_4_design · 337 subscribers
Post #312 112
Иногда в продуктах нужно загрузить данные из какого-нибудь файла типа экселя. И иногда дизайнеры рисуют флоу из 2 экранов: форму добавления файла и экран, где всё получилось.
Я сама так как-то сделала и получила люлей от разработки, больше не делаю.

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

1. Форма загрузки файла

• Есть ли ограничения на количество файлов, их объём по весу, количеству строк?
• Где написать об этих ограничениях?
• Есть ли шаблон для заполнения и где его можно взять?
• Можно ли давать выбирать файлы только определённых форматов?
• Как удалить прикреплённый файл из формы?

2. Тип обработки файла

Система будет проверять файл на разные ошибки, забирать данные и что-то с ними делать.

• Что в этот момент может делать пользователь — он должен дождаться полной обработки файла или может выполнять другие задачи?

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

• Если перезагрузить страницу, процесс работы сбросится или частично выполнится? Как пользователь об этом узнает?
• Если перезагрузка критична, где и как об этом предупредить?

• Если пользователю не нужно ждать окончания (это обычно называется асинхронный / фоновый процесс), то как пользователь узнает, что процесс завершился? Где он увидит результаты?
• Где он сможет посмотреть, что сейчас происходит с файлом и понять, что система работает, файл обрабатывается?

Часто делают некий центр задач (фоновые задачи, фоновые процессы — любое название). Там есть список всех процессов со статусами, информацией, временем до завершения, кнопками действий и прочим важным.

3. Ошибки и предупреждения

• Как мы будем показывать ошибку, если вообще не можем прочитать данные?

Например, мы ожидаем структуру по шаблону, а пользователь загрузил файл с отсебятиной. Или строк в его файле больше, чем можно. Тогда мы даже обрабатывать файл не будем, а попросим пользователя выйти и зайти нормально загрузить нормальный файл

Если всё ок, то нужно проверить на более сложные ошибки. Дубли строк, отрицательные числа в количестве, несуществующие ID — зависит от данных в файле и правил продукта. Поиск таких ошибок обычно требует времени.

• Где выводить такие ошибки? Как пользователь будет исправлять эту ошибку?
• Если часть информации с ошибками, а часть нет — система проигнорирует всё или возьмёт в работу то, что без ошибок? Как пользователь поймёт, что применилось, а что нет?

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


• Есть ли предупреждения, что пользователь может с ними сделать? Как просмотреть, как исправить, как проигнорировать?

4. Успешная обработка

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


И вот из 2 экранов флоу превращается в огромную паутину макетов с корнеркейсами и разветвлениями. Зато потом пользователь не сидит в растерянности с мыслью «я что-то загрузил, оно куда-то делось, что теперь?»
  • 👍 7
  • 😨 1
More from @d_4_design
  1. Sep 4, 2026Мы в третий раз поддержали Буквальный челлендж. В этом году полевой номинацией была Л: мы…
  2. Sep 4, 2026Я всё собираюсь написать пост про то, чему ещё учиться и что ещё дизайнить продуктовому ди…
  3. Aug 21, 2026Иногда юзтесты до релиза воспринимаются как обязательный этап хорошего дизайн-процесса. Я…
  4. Aug 13, 2026Я сейчас снова учусь на курсах. Они не связаны с работой напрямую, но я обязательно про ни…
  5. Jul 29, 2026На фотке мой очень красивый сверху матрас, но эту красоту не видно почти никогда, только к…
  6. Jul 16, 2026Про дизайнерскую задачу Иногда вижу, как дизайнер не ищет способ решить задачу, а пытается…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →