Почему никто не любит длинные формы

11.06.2007

Почему никто не любит заполнять длинные формы в интернете? Помимо очевидных особенностей, присущих всем длинным формам, можно выделить web-specific явление: в процессе ввода нельзя сохраняться. Чем больше в форме полей — тем больше шансов данные потерять и вводить всё еще раз.

Когда я заполняю длинную форму, есть какое-то ощущение нестабильности. Поэтому нередко весь текст пишу в ворде, а потом растаскиваю его по полям. Как сделать процесс надежнее?

1. На одной странице не должно быть много полей. Скажем, если это input type=text, то штук 5--6 максимум. Если это textarea, то вообще 1--2.

2. Если форма на самом деле длинная, то ее заполнение нужно разделить на шаги. Получается мастер. У разработчика есть возможность сделать промежуточное сохранение. Практика достаточно распространена, например, так делают Яндекс и headhunter.ru.

В мастере не должно быть много шагов. Я однажды соорудил форму из семи страниц — очень нудно заполнять. Шагов, думаю должно быть, 2--3.

3. В ЖЖ есть автосохранение, которое меня как-то раз спасло. Но с тех пор доверия к этой штуке не прибавилось, и всё равно полагаюсь только на себя. 21523550.c5fb9c1344f5448618a26fbe36ac263c.1181560815.b7ef51607e04bb377b2130775c1c9826

Комментарии

Огоньков, 11.06.2007 14:13

Но с тех пор доверия к этой штуке не прибавилось, и всё равно полагаюсь только на себя.

почему?

Дмитрий Сергеев, 11.06.2007 14:22

Наверное из-за того, что не чувствуется контроля над автосохранением, и информации о его работе немного.

Не понятно,
* работает ли оно в моем браузере вообще,
* какое именно состояние сохранилось,
* с какой регулярностью происходит,
* долго ли данные будут хранится
и так далее

Может быть какие-нибудь диагностические сообщения поправили бы дело. А может привычка не доверять слишком сильна.

phoinix, 11.06.2007 19:53

У меня вот пишет приблизительно такое:
"Черновик автоматически сохранен [дата и время]".
Копнул код страницы - автосохранение каждые 30 сек.

Дмитрий Сергеев, 11.06.2007 20:57

У меня наверняка тоже пишет, я нечасто в ЖЖ пишу.

Вообще теперь буду больше доверять: автосохранение каждые 30 секунд -- приятная штука. Можно и внедрить куда-нибудь. Хозяйке на заметку, так сказать ;)

4m@t!c, 11.06.2007 17:26

А у меня нет чувства нестабильность, я до последнего верю, что данные внесенные в форму будут удачно отправлены на сервер. И если будут какие-то ошибки, то сервер вернет заполненную форму с подсвеченными ошибками.
Мне не нравится, когда заполненная форма тупо проглатывается и возвращается сообщение, что у вас нет прав для действий с формой. Такое на SharePoint практикуется.

Что касается мастеров. Желательно, что бы мастер указывал, сколько шагов пройдено и сколько осталось пройти. Тогда пользователь понимает, что процесс заполнения форм - это конечный процесс.

P.S. Валидатор форм на сайте отказался адекватно реагировать на ссылку на мой сайт http://4matic.wordpress.com.

Дмитрий Сергеев, 11.06.2007 18:15

Сколько шагов пройдено и сколько осталось пройти -- это хорошо. Как-то я упускал это раньше. Спасибо.

Ну а проглатывание сообщений практикуется не только на SharePoint :) Бывает еще форму отправишь, потом нажмешь браузерную кнопку "Назад", а там ничего не сохранилось.

С валидатором уже не первый случай. Буду разбираться.

Junior, 17.06.2007 14:00

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

Помимо количества действий для мастера можно указывать другие параметры. Например, в MS Word в статусной строке подсвечивается масштаб, текущая страница. В 2007 версии это ещё и статистика букв.

Я хочу сказать, что к вопросу стоит подходить более обобщённо и думать не в ключе "число шагов", а в ключе - "состояние системы в данный момент". Тогда на ум могут прийти и другие идеи, которые помогут пользователю.

Дмитрий Сергеев, 17.06.2007 14:57

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

phoinix, 11.06.2007 20:03

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

Дмитрий Сергеев, 11.06.2007 21:02

Да, но вкладки не ассоциируются с шагами одного процесса. А когда этого не требуется, вкладки будут хорошим решением.

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

Junior, 23.06.2007 19:17

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

Поэтому поддержу - ассоциация с шагами возможна, если только поддержать ассоциацию графически, лучше всего стрелки "->" с нумерацией шагов. В противном случае воспринимается (imho), как одноуровневые составные.

Сравните:
1. пункт1 | пункт2 | пункт3
2. пункт1 -> пункт2 -> пункт3
3. пункт1 / пункт2 / пункт3

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

Дмитрий Сергеев, 23.06.2007 21:08

Можно сделать вкладки со стрелочками, но внизу всё равно нужны кнопки «Вперед», «Назад» и «Сохранить». Потому что вкладки -- сверху, а заполнять форму человек заканчивает внизу.

Дмитрий Сергеев, 23.06.2007 21:22

Если поиск товара, то кнопки по-другому должны называться. Лучше прямо по названиям стадий с номерами этапов. Вместо «Сохранить» -- «Искать», конечно же.