Заметки из Зазеркалья

15.02.2016

Юзабилити интерфейса в версиях 8.3.8 и 8.3.9

Мы подготовили ряд изменений, которые должны сделать интерфейс 1С:Предприятия более удобным, повысить его юзабилити. Известно, что на удобство работы влияют не только большие, фундаментальные решения, но и значительное количество «мелочей», с которыми постоянно сталкивается пользователь. В версиях 8.3.8 и 8.3.9 мы решили собрать некоторые «неудобные мелочи», и улучшить их работу.

Ширина выпадающего списка поля ввода

Реализовано в версии 8.3.8.1652.

Раньше ширина выпадающего списка поля ввода была постоянной, и не изменялась в процессе работы. Когда вы знали, что представления элементов будут заведомо длинными, вы могли установить нужную ширину списка с помощью свойства ШиринаВыпадающегоСписка. Например, для справочников видов деятельности или любых списков, содержащих регламентированные значения.

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

А делать такой список заведомо широким тоже неудобно, потому что в большом количестве случаев он будет просто занимать лишнее место на экране.

Чтобы решить эту проблему мы научили выпадающий список поля ввода автоматически подстраивать свою ширину под ширину отображаемых в нём элементов.

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

Минимальная ширина выпадающего списка, как и раньше, определяется как максимальное значение из фиксированного значения, заданного константой в Платформе, и значения свойства ШиринаВыпадающегоСписка.

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

Также мы изменили поведение при нажатии клавиш Home и End. Раньше, когда поле находилось в режиме редактирования, и у него был открыт выпадающий список, нажатие этих клавиш приводило к перемещению курсора вверх и вниз по списку.

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

Удобство работы со списками документов

Реализовано в версии 8.3.8.1652.

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

Теперь мы добавили эти команды в контекстное меню таблицы.

Команда завершения работы пользователя

Реализовано в версии 8.3.8.1652.

Раньше пользователи, привыкшие к работе с веб-приложениями, испытывали определённое неудобство от того, что не видели команды завершения работы пользователя. Они привыкли к тому, что обычно такая команда есть, и она находится на видном месте. И чтобы завершить работу веб-приложения нужно не просто закрыть окно браузера, а именно выполнить эту команду. Которая, в том числе, завершит и сеанс авторизации. Чтобы при следующем запуске приложения нельзя было войти в него «просто так», а только после ввода логина и пароля.

В 1С:Предприятии и команда Выход, и команда Завершить работу пользователя … (при использовании OpenID-аутентификации) существуют, но располагаются в меню Файл, о чём многие пользователи не знают.

Чтобы сделать работу пользователей более привычной, мы добавили команду завершения работы в заголовок приложения, рядом с кнопкой О программе. Она отображается в виде гиперссылки с именем текущего пользователя.

При нажатии на гиперссылку открывается диалог с именем пользователя и командой Завершить работу.

Эта команда, при обычной аутентификации, завершает работу клиентского приложения. А при OpenID-аутентификации она завершает работу пользователя (OpenID logout) и также завершает работу приложения.

При публикации информационной базы на веб-сервере можно задать URL, по которому будет выполнен переход после завершения работы веб-клиента этой командой. Например, для возврата на основную страницу поставщика сервиса, если пользователь работал с приложением в модели сервиса.

Прокрутка в таблицах динамических списков

Реализовано в версии 8.3.8.1652.

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

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

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

Вертикальную полосу прокрутки мы убрали потому, что её текущий вид вводил пользователей в заблуждение. Они воспринимали её как обычную (такую же, как все другие) полосу прокрутки, и пытались перемещать бегунок. Это не давало им ожидаемого результата, т.к. динамический список так не работает.

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

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

Работа тонкого клиента на сенсорных экранах

Реализовано в версии 8.3.9.1818.

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

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

Жест одним пальцем используется в них для выделения или перетаскивания внутри элемента.

Для табличного документа прокрутка одним пальцем осуществляется только по вертикали.

По горизонтали жест одним пальцем используется в нём для выделения.

В то же время прокрутка двумя пальцами работает в табличном документе по обоим направлениям.

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

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

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

Теги: юзабилити  UI  8.3.8 

Рассказать друзьям: