Сергей Тиньков
23 сентября 2014

Приветствую!

Необходимо было сделать интерфейс добавления режима работы.

Можно это сделать проще и понятнее?



Всё зависит от того, как это потом будет использоваться. Где-то хватило бы и текстовой области «Режим работы», заполняемой в свободной форме. Но предположим, что вам нужны формальные данные для машинной обработки.

У вас получилось слишком сложно. Тяжёлая форма справа управляет тем, что слева, а надо наоборот. Люди сначала поставят чекбоксы во все дни, когда работают, потом обнаружат, что указать разное время нельзя. Если кто-то и догадается нажать на добавление времени в другие дни, то там его ждёт набор ненажимаемых чекбоксов. А ещё непонятно, как может быть «в пятницу круглосуточно».

Лучше дать простую табличку и помочь её заполнить:

Когда человек ввёл что-то в понедельник, распространить это на всю неделю (но только не испортив то, что там было ранее введено, если было), подытожить снизу:

При необходимости, человек исправит нужные дни:

Кажется, логично субботу распространить и на воскресенье. Ранее указанное там время 09:00 — 18:00 человек ввёл не сам, поэтому не страшно исправить (но если бы ввёл сам, то исправлять не нужно было бы):

Если воскресенье — выходной, человек просто удаляет строчку, а подытоженное снизу обновляется:

Если кто-то работает в ночь с субботы на воскресенье, то в субботу он работает до 24, а в воскресенье — с 00.

С перерывом всё то же самое.

P. S.

Я веду практический курс «Пользовательский интерфейс и представление информации». Дата следующего курса пока неизвестна.

 
Мы напишем вам, когда будет открыта запись. Без спама.

Поделиться

Комментарии

Сергейс Бизанс
23 сентября 2014

А как быть, если заведение работает с 12:00 до 04:00? И с 04:00 до 12:00 — это не перерыв. Например, ночной клуб.

Дмитрий Олляк
23 сентября 2014

Мне удобно так, как сделано в Яндекс.Директе. Трудно ошибиться при вводе, легко считывается.

А любые интерфейсы с «Добавить время в другие дни» располагают к тому, чтобы ввести несколько пересекающихся интервалов и ломать потом голову.

Всеволод Цуриков
23 сентября 2014

Предложу интерфейс «Гугль май бизнес». Чем лучше предложенной формы: интерфейс начинается всего с трёх полей для заполнения, и его сложность прогрессирует по мере усложнения условий. Недостаток: не предусмотрено наличие нескольких локаций и «сложных» условий, вроде сезонного расписания.

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

Игорь Гречишкин
23 сентября 2014

Илья, в вашем варианте один недостаток — при любом изменении будут сбрасываться все выходные дни.

Допустим, состояние таблицы на момент начала редактирования:
Понедельник, Вторник, Среда: 9–20
Четверг: выходной
Пятница: 11–18
Суббота, воскресенье: выходной

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

Дешевое решение — добавить в вашу табличку колонку с чекбоксами перед названием дня. По умолчанию все отмечены, снятый чекбокс — выходной.

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

Сергей Межмал
23 сентября 2014

Мне нравится вариант Ильи. Форма становится практически фиксированного размера и удобно читается.

Я бы добавил ещё хитрые поля выбора времени. Возможность прокручивать значения часов и минут скроллом или клавишами, выбирать значение из выпадающего меню по клику, а в конце поля кнопки «Очистить» и «Весь день».


24 сентября 2014

Сергейс, для ночных клубов придётся доработать форму :-)

Игорь, если пользователь стёр субботу и воскресенье один раз, форма запоминает, что он туда «ввёл пустоту», и она становится непрекосновенной. Вариант с чекбоксами тоже возможен, конечно.

Дима Кудинов
23 сентября 2014

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

Михаил Озорнин
25 сентября 2014

12:00 до 04:00 можно сделать в виде 12:00 — 28:00.

Сергей Тиньков
25 сентября 2014

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


Цель рубрики — обсуждение вопросов дизайна всех видов, текста в дизайне и взаимоотношений дизайнеров с клиентами.

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

Решение о публикации принимается один раз; мы не имеем возможности комментировать или пересматривать свое решение, хотя оно может быть ошибочно. Уже опубликованные комментарии могут быть удалены через некоторое время, если без них обсуждение не становится менее ценным или интересным.

Вот такой веб 2.0.

Недавно всплыло

Кто ты? 1 У меня остаётся ощущение, что я идиот, «рассыпала бобы», но на конкретных ошибках не могу себя поймать 3 4 4