Где находится элемент управления удалением в моем пользовательском интерфейсе Какао?

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

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


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


person Community    schedule 25.04.2010    source источник


Ответы (5)


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

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

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

person Drew McCormack    schedule 26.04.2010
comment
Изменение сочетания клавиш на Backspace делает его более доступным для обнаружения, но с большей вероятностью это не произойдет случайно, мне это нравится. Спасибо. - person ; 26.04.2010
comment
Backspace также может быть немного опасным, в зависимости от того, для чего еще он используется (например, если он может либо удалить текст из объекта, либо удалить весь объект в зависимости от того, что выбрано в данный момент). Но пока для удаления работает отмена, это, вероятно, не так уж и страшно. - person Gordon Davisson; 27.04.2010

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

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

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

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

person Matt Legend Gemmell    schedule 26.04.2010

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

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

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

HTH.

person nornagon    schedule 25.04.2010

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

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

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

person dannywartnaby    schedule 26.04.2010
comment
Во встроенной справке есть раздел верхнего уровня об удалении (на том же уровне, что и создание), поэтому я думаю, что пользователи, вероятно, не обращаются к справке. - person ; 26.04.2010

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

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

person adurdin    schedule 26.04.2010