Куда уходит контроль удаления в моем пользовательском интерфейсе Какао? - PullRequest
0 голосов
/ 26 апреля 2010

У меня есть приложение Какао, управляющее коллекцией объектов. Коллекция представлена ​​в виде NSCollectionView, рядом с кнопкой «новый объект», чтобы пользователи могли добавлять ее в коллекцию. Конечно, я знаю, что наличие кнопки «удалить объект» рядом с этой кнопкой было бы опасно, потому что люди могут случайно стучать по ней, когда хотят что-то создать. Мне не нравятся диалоги «ты уверен, что хочешь ...», поэтому я обошелся без «удаления объекта». Под пунктом «Правка» есть пункт меню для удаления объекта, и вы можете нажать Cmd-backspace, чтобы сделать то же самое. Приложение поддерживает отмену действий удаления.

Теперь я получаю письма поддержки от «почему должно быть так сложно удалять вещи» до «почему я не могу удалить объекты?». Это говорит о том, что я сделал это на 1004 * слишком тяжелым, так что же это за золотая середина? Я вижу приложения от Apple, которые делают это по-своему, или с кнопками добавления / удаления рядом друг с другом, но я ненавижу этот последний вариант. Есть ли еще одно хорошее (и желательно общее) соглашение об элементах управления удалением? Я думал о меню действий, но не думаю, что у меня есть какие-либо другие действия, которые бы сделали его более тонким.


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

Ответы [ 5 ]

3 голосов
/ 26 апреля 2010

Замечание Дрю всегда ваше первое соображение. При прочих равных условиях я не фанат сделать удаление столь же простым, как создание; это опасное и сравнительно более редкое действие, и пользовательский интерфейс должен отражать этот факт. Однако отсутствие явного управления удалением действительно может привести к запросам поддержки (то же самое произошло в MoneyWell после удаления кнопок «минус»). Проблема в том, что вы не услышите от людей, которые избежали случайного удаления, нажав слишком близко к плюсу элемент управления удалением; эти люди счастливы и спокойны. Тем не менее, вы услышите от тех, кто не может сразу найти кнопку, которую нужно нажать для удаления, даже если почти все приложения Apple не имеют такого контроля.

Если вы чувствуете, что для удаления вам нужен явный интерфейс, я думаю, вы можете найти золотую середину. Проблема с элементами управления удалением заключается в случайном срабатывании, и обычным «решением» этой проблемы является предупреждение о подтверждении. Проблема с в том, что в том, насколько они навязчивы и раздражительны, потому что они модальны. iPhone OS может преподнести нам урок: вы можете сделать подтверждение полностью контекстным и немодальным.

Примерами являются удаление строк (проведите пальцем, чтобы перевести строку в состояние «Вы действительно уверены, что хотите удалить?», В котором визуально наблюдается тенденция к перемещению красной кнопки «Удалить» в представление), а затем снова начать взаимодействие (нажав «Удалить») на самом деле подтвердить действие. В App Store есть похожая модель, при которой нажатие кнопки цены превращает ее в кнопку покупки; по сути это встроенное, немодальное подтверждение. Преимущество состоит в том, что если вы нажмете где-нибудь еще (или, возможно, подождите некоторое время), элемент управления вернется в свое обычное состояние - вам не нужно явно отклонять его перед продолжением работы.

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

2 голосов
/ 26 апреля 2010

Я бы сказал, что это зависит от того, насколько важно удаление для конкретной задачи. Это то, что пользователь должен делать часто или очень редко. Если это происходит редко, удалить следует просто оставить в качестве пункта меню «Правка» и, возможно, в качестве возврата (почему cmd-backspace? Если у вас может быть просто возврат, вы, вероятно, не получите столько запросов.)

Как и во всем, что касается дизайна интерфейсов, я хочу применить правило 80-20. Если что-то относится к 20% наиболее часто используемых функций, это должно быть открыто непосредственно в интерфейсе. Если он находится в остальных 80%, вы можете скрыть его глубже (например, в меню, меню действий и т. Д.).

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

1 голос
/ 26 апреля 2010

Мэтт дал почти тот же ответ, который я собирался написать.

Обратите внимание, что когда вы удаляете объект, вы должны анимировать его: это обеспечивает ценную визуальную обратную связь: анимация (примерно 1/3 секунды хорошо) достаточно длинна, чтобы привлечь внимание пользователя, и он увидит объект исчезает. Если объект просто исчезнет без анимации, пользователь заметит, что что-то мгновенно изменилось в списке, но будет менее уверен, что это было. Анимация усиливает значение кнопки удаления в ментальной модели пользователя.

1 голос
/ 26 апреля 2010

Как часто нужно удалять? Поддерживают ли данные и ожидания пользователя частое удаление этих данных? (это список задач, например)? В таком случае я бы обязательно включил контекстное меню действий, даже если бы «Удалить» было единственным вариантом.

Cmd + Backspace может быть немного необычным и для людей - я знаю, что он используется в других местах на OSX, но эти места также предоставляют контекстные меню для раскрытия удаления - я был бы удивлен, если каждый пользователь знает о Cmd + Backspace так что я бы, вероятно, изменил его на Backspace (у вас есть поддержка отмены, так что вы там).

Наконец, и, надеюсь, я не похож на мерзавца, но он предполагает, что встроенная справка не дает достаточных указаний по этому вопросу - может быть, стоит пересмотреть ее?

1 голос
/ 26 апреля 2010

Обычное решение этой проблемы - поместить кнопки [+] и [-] рядом друг с другом (см., Например, панель «Сеть» в Системных настройках). Обычно я нахожу эти кнопки достаточно большими, чтобы по ошибке не нажимать не ту кнопку, хотя вижу, что это может быть проблемой.

Если этот вариант вам не подходит, возможно, черпайте вдохновение в Safari: поместите 'x' внутри выбранного (или зависшего) элемента.

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

НТН.

...