Кнопки и пиктограммы

Windows лучше чем Linux! Чем? Ясно же написано — чем Linux!
Раздуй свой холивар сегодня, потому что завтра это может сделать уже кто-то другой!

Пиктограмма на кнопке должна отражать

Текущее состояние объекта
10
63%
Состояние объекта, которое возникнет после нажатия
3
19%
Индикатор обязательно должен быть вынесен за пределы кнопки
3
19%
 
Всего голосов : 16

Proxy
Профессор VB наук
Профессор VB наук
Аватара пользователя
 
Сообщения: 2941
Зарегистрирован: 31.08.2007 (Пт) 4:41

Кнопки и пиктограммы

Сообщение Proxy » 23.02.2011 (Ср) 16:33

Наверняка каждый встречал во многих приложениях в GUI компактные кнопки без подписи (но есть подсказка/ToolTip). Или же часто подпись и всплывающая подсказка не отражает текущее положение переключателя. Т.е. если подразумевается, что по контексту кнопка определяет одно из двух значений, то перед пользователем как бы возникает мнимый альтернативный вопрос (вполне определённый), на который он может ответить либо "да", либо "нет". И "да" ассоциируется с нажатой кнопкой (чаще всего рамка меняет объём с выпуклого на вогнутый), а "нет" наоборот.
В этом случае проблем не возникает, но бывают иные случаи: кнопка не подписана, всплывающая подсказка не является инфинитивом (и неизменна) и ситуация по контексту мысленно вызывает не один вопрос или вопрос с отрицанием ("отключить лятор?" -"нет, не отключать" -"нет, отключить, лятор не нужен". Ну в речи была бы верная ситуация, не смотря на то, что вызывает сомнения (второй ответ явно некорректен), а в виде кнопки очень пользователю непросто сопоставить двойное отрицание и положение кнопки. Ещё в пример "Байпас" — он тоже сам по себе несёт смысл отрицания использования генератора эффектов) или вопрос, на который нельзя ответить "да" или "нет" ("в каком режиме производить поиск, в ускоренном или обычном"). И вот пользователь видит перед собой кнопку (везде под кнопкой на самом деле я имел ввиду переключатель (флаг, аналог чекбокса и т.п, как будет угодно), у которого два устойчивых положения, которые он меняет по клику и фиксирует до повторного клика), на которой присутствует лишь пиктограмма. Пиктограмма явно содержит символ состояния объекта, но совершенно не ясно состояние это объекта в текущий момент времени, или же это состояние объекта, которое возникнет после нажатия кнопки (т.к. у разных разработчиков разное понимание о пиктограмме на кнопке).

ЗЫ. Натолкнул на мысли QIP 2005 для Windows с его неадекватными кнопками: антиспам/антифлад отражает текущее состояние антиспама, а выключатель уведомления о наборе не меняет пиктограмму вовсе (притом во всплывающей подсказке следующий вопрос: "включить/отключить отправку уведомлений о наборе", что наводит на мысль, что первоначальное положение выключателя — включено, т.к. указано первым). Ошибки тут нет ("включить" обозначает действие), но пользователя вводит в ступор. Хочется ответить "да наверное нет", но такое положение у выключателя отсутствует.
Follow the white rabbit.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16473
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Кнопки и пиктограммы

Сообщение Хакер » 23.02.2011 (Ср) 17:29

Я в таким случаях беру пример с Play/Pause.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Debugger
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1667
Зарегистрирован: 17.06.2006 (Сб) 15:11

Re: Кнопки и пиктограммы

Сообщение Debugger » 23.02.2011 (Ср) 17:40

Меня тоже волновал это вопрос. И решил, что должен индикатор и кнопку лучше не совмещать.

Proxy
Профессор VB наук
Профессор VB наук
Аватара пользователя
 
Сообщения: 2941
Зарегистрирован: 31.08.2007 (Пт) 4:41

Re: Кнопки и пиктограммы

Сообщение Proxy » 23.02.2011 (Ср) 18:01

Хакер писал(а):Я в таким случаях беру пример с Play/Pause.

В каком смысле? Не вижу ничего такого особенного в Play/Pause, просвяти?

UPD. Вспомнил где видел кнопки с вменяемыми индикаторами, которые не выглядят нелогично: на авто. На Самаре (второе поколение) у каждой кнопки (почти у каждой) есть встроенный индикатор (помимо подсветки), который отражает текущее состояние объектов (притом у кнопки визуально включено и выключено отличается по утопленности только у переключателя света, остальные возвращаются после отпускания в одно и тоже положение вне зависимости от включено/выключено, а после выключения зажигания "сбрасываются"). Не вводит в заблуждение из-за того, что не содержит изменяемую пиктограмму, а индикатор — простой светодиод. У софта же как-то более привычно видеть будущее состояние на пиктограмме. Ну сам я проголосовал за третий вариант, как за самый непротиворечивый. Если постараться, то он будет занимать площадь не больше, чем компактная кнопка без подписи с пиктограммой-индикатором.
Follow the white rabbit.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16473
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Кнопки и пиктограммы

Сообщение Хакер » 23.02.2011 (Ср) 18:49

Proxy писал(а):В каком смысле? Не вижу ничего такого особенного в Play/Pause, просвяти?

К тому, что на кнопках лучше всего изображать не текущее состояние, не состояние, которое будет выполнено после нажатие, а действие, соответствующее переводу из текущего в целевое состояние.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Proxy
Профессор VB наук
Профессор VB наук
Аватара пользователя
 
Сообщения: 2941
Зарегистрирован: 31.08.2007 (Пт) 4:41

Re: Кнопки и пиктограммы

Сообщение Proxy » 23.02.2011 (Ср) 19:09

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

Но пиктограмма на Play/Pause не меняется на "Pause/Play" после приостановки воспроизведения. Теперь возьмём ситуацию не с воспроизведением (ну или не обязательно воспроизведением, не важно), а с чем-то, состояние чего без индикатора не известно. К примеру выброс/приём трея BD-ROM на удалённой машине (неестественный пример, но вполне имеет право на жизнь на каком-нибудь аналоге радмина). Идею с Play/Pause нахожу вполне приемлемой, но её стоит дополнить изменением пиктограммы в зависимости от состояния объекта.

Имхо: цвета, не привязанные к пиктограмме однозначно ассоциируются с текущим состоянием. Зелёный чаще всего указывает на состояние running (не могу подобрать подходящее русское), жёлтый с состоянием перехода (или временной остановкой), красный с остановкой, отключением (или критическим состоянием), синий ни с чем явно не ассоциируется. Но к статическим состояниям цвета привязать довольно непросто. Имхо.
А пиктограммы самые вменяемые, как сказал Хакер, отражающие не состояние, а действие (пускай даже из двух половин, читаемых слева-направо, если иное невозможно). Как на иностранных слесарных станках различных (токарные, сверлильные, фрезерные). Ну это только при невозможности сделать отдельный индикатор.
Follow the white rabbit.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16473
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Кнопки и пиктограммы

Сообщение Хакер » 23.02.2011 (Ср) 19:22

Proxy писал(а):Но пиктограмма на Play/Pause не меняется на "Pause/Play" после приостановки воспроизведения.

После нажатия на |> начинается проирывание, и приктограмма меняется на ||.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Proxy
Профессор VB наук
Профессор VB наук
Аватара пользователя
 
Сообщения: 2941
Зарегистрирован: 31.08.2007 (Пт) 4:41

Re: Кнопки и пиктограммы

Сообщение Proxy » 23.02.2011 (Ср) 19:36

Хакер писал(а):После нажатия на |> начинается проирывание, и приктограмма меняется на ||.

В такой вариации символ ближе к устоявшемуся пониманию состояния после нажатия. Лично я всегда такое трактовал, как "когда я нажму на эту кнопку, нечто будет находиться в приостановленном состоянии", либо как "нечто станет running (работать?)". Ничто не указывает на то, что это действие, а не будущее состояние. И если бы это конкретное применение не было устоявшимся (есть ведь и примеры, которые я привёл в первом посту, которые довольно нетривиальны), то я бы не мог однозначно сказать, что от меня ожидает приложение (что это: индикатор текущего состояния или пиктограмма, обозначающая действие кнопки/будущее состояние). Как быть к примеру с компактным переключателем механизма поиска (эвристический/обычный)? Изобразить лупу (которая ещё и с масштабом ассоциируется, не только с поиском) с 4 точками по порядку и менять её на лупу с точками, расположенными хаотично? Ну тогда как объяснить пользователю, что это подразумевает действие (изменить механизм поиска), а не текущее состояние? Тут (имхо) лучше всё же сдвоенная пиктограмма, где слева текущее состояние, а справа будущее (потенциальное).
Follow the white rabbit.

FaKk2
El rebelde gurú
El rebelde gurú
Аватара пользователя
 
Сообщения: 2031
Зарегистрирован: 09.03.2003 (Вс) 22:10
Откуда: Los Angeles

Re: Кнопки и пиктограммы

Сообщение FaKk2 » 23.02.2011 (Ср) 20:09

Меня например раздражают индикаторы которые показывают в каком состоянии они будут когда на них нажмешь. Это заставляет гадать в каком положении они сейчас, толи в активном (play), толи в неактивном (pause).
Для получения ответа надо продемонстрировать качества, позволяющие стать компетентным — внимательность, вдумчивость, наблюдательность, желание активно участвовать в выработке решения.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16473
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Кнопки и пиктограммы

Сообщение Хакер » 23.02.2011 (Ср) 20:11

То есть когда ты видишь кнопку «Плей» ( I> ), ты считаешь, что это сейчас идёт воспроизведение, и нажатие всё остановит? :?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Proxy
Профессор VB наук
Профессор VB наук
Аватара пользователя
 
Сообщения: 2941
Зарегистрирован: 31.08.2007 (Пт) 4:41

Re: Кнопки и пиктограммы

Сообщение Proxy » 23.02.2011 (Ср) 20:26

FaKk2 писал(а):Меня например раздражают индикаторы которые показывают в каком состоянии они будут когда на них нажмешь. Это заставляет гадать в каком положении они сейчас, толи в активном (play), толи в неактивном (pause).

Из-за этого я и создал тему :D Раздражают и те и другие (потому что если индикаторы не вынесены за кнопку, то их сложно отличить от первых).
Хакер писал(а):То есть когда ты видишь кнопку «Плей» ( I> ), ты считаешь, что это сейчас идёт воспроизведение, и нажатие всё остановит? :?

Нет, но это только благодаря тому, что кнопка play/pause устоялась (часто встречается и её поведение изучено). Поставь вместо "|>" и "||" что-либо другое и мне придётся глубоко задуматься к сторонникам какой идеи относится разработчик, прежде чем нажать (шанс где-то примерно 50/50). Тот же QIPовский пример, на вдавленной кнопке нарисован знак "кирпич" (когда антиспам включен). Возникает мысль, что "при нажатии на эту кнопку будет включен антиспам" (или "будет отключен обход антиспама". чисто для примера) по аналогии с play/pause, но... наоборот в QIPе, кнопка с кирпичиком означает только то, что в текущий момент антиспам включен.
Последний раз редактировалось Anonymous 23.02.2011 (Ср) 20:38, всего редактировалось 1 раз.
Follow the white rabbit.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16473
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Кнопки и пиктограммы

Сообщение Хакер » 23.02.2011 (Ср) 20:33

Proxy писал(а):мне придётся глубоко задуматься к сторонникам какой идеи относится разработчик, прежде чем нажать (шанс где-то примерно 50/50).

Если на кнопке не source state или destination state, а state changement, state difference — о чём думать?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

arthur2
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1688
Зарегистрирован: 23.01.2008 (Ср) 14:35

Re: Кнопки и пиктограммы

Сообщение arthur2 » 23.02.2011 (Ср) 20:41

Если кнопка залипает, она должна показывать текущее состояние. Если значек показывает то состояние, которое возникнет при нажатии (как у плей-пауза) - кнопка не должна залипать.
Артур
 
   

Proxy
Профессор VB наук
Профессор VB наук
Аватара пользователя
 
Сообщения: 2941
Зарегистрирован: 31.08.2007 (Пт) 4:41

Re: Кнопки и пиктограммы

Сообщение Proxy » 23.02.2011 (Ср) 20:42

Хакер писал(а):Если на кнопке не source state или destination state, а state changement, state difference — о чём думать?

Думать как по одной лишь пиктограмме понять, что подразумевал разработчик: source state, destination state или state changement.
Понятно, если для подачи каретки в правое крайнее положение изображена каретка со стрелочкой вправо, что речь идёт однозначно про state changement. Но если просто нарисована каретка в крайнем правом положении без всяких стрелок, то тут все 3 варианта возможны. Как в варианте с пресловутым кирпичиком, ломающем стереотипы.
arthur2 писал(а):Если кнопка залипает, она должна показывать текущее состояние.

Не факт... вон сколько мнений уже.
Follow the white rabbit.

FaKk2
El rebelde gurú
El rebelde gurú
Аватара пользователя
 
Сообщения: 2031
Зарегистрирован: 09.03.2003 (Вс) 22:10
Откуда: Los Angeles

Re: Кнопки и пиктограммы

Сообщение FaKk2 » 23.02.2011 (Ср) 20:50

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

Например возьмем медиа плейер. Кнопка play |> намекает, что при нажатии, начнется проигрывание. И правда если нажать, то будет музыка, и кнопка сменится на ||. Повторное нажатие, приведет к ожидаемой паузе, и надпись опять вернется на |>.
Теперь посмотрим на кнопку Shuffle. Если на неё нажать, то она не поменяет надпись, но подсветит иконку. Своим внешним видом она показывает в каком состоянии сейчас проходит воспроизведение музыки: по умолчанию или вразброс. Это правильный, логичный дизайн. Меня раздражают ситуации, где это не так.
Для получения ответа надо продемонстрировать качества, позволяющие стать компетентным — внимательность, вдумчивость, наблюдательность, желание активно участвовать в выработке решения.

Proxy
Профессор VB наук
Профессор VB наук
Аватара пользователя
 
Сообщения: 2941
Зарегистрирован: 31.08.2007 (Пт) 4:41

Re: Кнопки и пиктограммы

Сообщение Proxy » 23.02.2011 (Ср) 21:02

FaKk2 писал(а):Теперь посмотрим на кнопку Shuffle. Если на неё нажать, то она не поменяет надпись, но подсветит иконку. Своим внешним видом она показывает в каком состоянии сейчас проходит воспроизведение музыки: по умолчанию или вразброс. Это правильный, логичный дизайн. Меня раздражают ситуации, где это не так.

Насчёт "подсвечивает" меня тоже устраивает вполне, понятно, что это индикация активности в текущий момент времени и ничто иное (я приводил пример с некоторыми аналогичными автомобильными выключателями/переключателями). А вот насчёт изменения пиктограмм меня очень раздражает тот факт, что при наличии двух возможных трактовок (даже трёх, как выяснилось), разработчики не удосуживают себя сделать однозначно понятную кнопку. Если бы все считали, что на кнопке как по некоторому стандарту, не может быть изображено текущее состояние, то и сомнений бы не возникало. Ну даже голосование показало, что большинство не считают это верным.
И к слову: у того же AIMP для Windows (в минималистической обложке "Black Stilismo V", например, но не только в ней) кнопка Shuffle состоит только из пиктограммы (без рамки, надписи и т.д). Отображает текущее состояние упорядочивания. Тоже небольшой ступор вызывает при первой встрече.
Follow the white rabbit.

arthur2
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1688
Зарегистрирован: 23.01.2008 (Ср) 14:35

Re: Кнопки и пиктограммы

Сообщение arthur2 » 23.02.2011 (Ср) 21:39

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

Другое дело, когда кнопка отжата - тут можно воспринять хоть так, хоть эдак.
Артур
 
   

Денис
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2734
Зарегистрирован: 07.11.2006 (Вт) 13:55
Откуда: Ейск, Краснодарский край

Re: Кнопки и пиктограммы

Сообщение Денис » 24.02.2011 (Чт) 9:03

arthur2 писал(а):Если кнопка залипает, она должна показывать текущее состояние. Если значек показывает то состояние, которое возникнет при нажатии (как у плей-пауза) - кнопка не должна залипать.

+1
Программирование — богоизбранная дисциплина! Если бог и есть, то вселенную он скомпилировал, не иначе.

Proxy
Профессор VB наук
Профессор VB наук
Аватара пользователя
 
Сообщения: 2941
Зарегистрирован: 31.08.2007 (Пт) 4:41

Re: Кнопки и пиктограммы

Сообщение Proxy » 24.02.2011 (Чт) 11:49

arthur2 писал(а):Если кнопка залипла - изображение на ней однозначно воспринимается как "текущее состояние".

Если "залипающая" кнопка представляет собой чекбокс, то всё замечательно, но если она визуально не отличима от "не залипающей", то придётся её нажать, чтобы проверить... Это лишнее телодвижение — раз; не всегда допустимо — два. К тому же далеко не все "залипающие" имеют рамку. Тот же Light Alloy... Play/pause, неизменная, но залипающая (но "залипание" визуально не за счёт вогнутой рамки).
Если старый добрый чекбокс не всегда вписывается, то тем не менее он должен быть отличим от обычной кнопки.
Изображение
Вот довольно компактный и симпатичный вариант (походит на мак). Хотя я сторонник того, чтобы использовали по максимуму системный стиль (но он сильно бедный почти везде).
Follow the white rabbit.


Вернуться в Holy Wars@VBStreets

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 12

    TopList