Почему никто не любит заполнять длинные формы в интернете? Помимо очевидных особенностей, присущих всем длинным формам, можно выделить web-specific явление: в процессе ввода нельзя сохраняться. Чем больше в форме полей — тем больше шансов данные потерять и вводить всё еще раз.
Когда я заполняю длинную форму, есть какое-то ощущение нестабильности. Поэтому нередко весь текст пишу в ворде, а потом растаскиваю его по полям. Как сделать процесс надежнее?
1. На одной странице не должно быть много полей. Скажем, если это input type=text, то штук 5--6 максимум. Если это textarea, то вообще 1--2.
2. Если форма на самом деле длинная, то ее заполнение нужно разделить на шаги. Получается мастер. У разработчика есть возможность сделать промежуточное сохранение. Практика достаточно распространена, например, так делают Яндекс и headhunter.ru.
В мастере не должно быть много шагов. Я однажды соорудил форму из семи страниц — очень нудно заполнять. Шагов, думаю должно быть, 2--3.
3. В ЖЖ есть автосохранение, которое меня как-то раз спасло. Но с тех пор доверия к этой штуке не прибавилось, и всё равно полагаюсь только на себя.
Комментарии
Огоньков, 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
Если поиск товара, то кнопки по-другому должны называться. Лучше прямо по названиям стадий с номерами этапов. Вместо «Сохранить» -- «Искать», конечно же.