2010-06-17 1 views
2

В Брюс Тогназзини-х quiz on Fitt's Law, вопрос обсуждения узких мест в иерархическом меню (используется почти во всех современных настольных UI), говорит о его конструкции для оригинального Mac:Есть ли какие-нибудь современные инструментальные средства GUI, которые реализуют иерархическую буферную зону меню?

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

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

люди

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

Когда я определил иерархическую меню нового алгоритма Mac в середине 80-х, я призвал к буферной зоне формируется как <, чтобы пользователи могли сделать все более-большую погрешность, поскольку они приближались к иерархически без страха перехода в нежелательное меню. Поскольку долгое время, когда указатель пользователя двигался несколько пикселей на каждый снизу, в среднем, меню оставалось открытым, нет . Как медленно они двигались. (Отменяя все еще очень легко, просто сознательно двигаться вверх или вниз.)

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

Итак, мой вопрос: существуют ли какие-либо современные инструменты пользовательского интерфейса, реализующие эту блестящую идею буферной зоны < в иерархических меню? И если нет, то почему?!

ответ

1

Нет основного инструментария GUI (Win32, MFC, Cocoa, GTK, KDE, FOX, FLTK).

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

Apple и GTK являются худшими инструментами здесь.

+0

Я думаю, что год достаточно длинный .. никто не собирается прыгать и говорить мне, что Qt внедрил это! – sml

+0

Нет QT не реализует его, потому что они используют MacOSX как наименее общий знаменатель на данный момент. MacOSX по-прежнему использует Carbon для отображения меню, даже в Snow Leopard, где все использование углерода устарело. Это делает его абсолютно неконфигурируемым для любого инструментария или поставщика приложений. И теперь я больше не буду вкладывать деньги в QT, похоже, для меня это стало более мобильным инструментом для анимации анимации для виджета. Прочитайте то, что они устарели для QT5, и вы можете четко видеть приоритеты. – Lothar