Я разрабатываю (G) UI программы и наткнулся на проблему; Программа преобразует число в разные единицы, и формат единицы измерения будет следующим:
[Название объекта (при нажатии дает информацию)] [Особый статус, если есть] [Вывод в текстовом поле, которое также можно использовать для ввода (для преобразования в другие единицы)]
Я хочу, чтобы пользователь мог копировать выходной номер в буфер обмена без необходимости возиться с выделением и поиском нужных кнопок для нажатия. Итак, я подумал, что сделаю кнопку после поля вывода текста, говоря что-то вроде «C» или «Копировать».
Но вчера я читал о joelonsoftware.com и обнаружил, что пользователи кажутся неуклюжими с курсорами. И что я должен делать?
Я подумал о нескольких вариантах:
Что вы думаете? Думаю, я мог бы выбрать № 3 - Большая кнопка копирования ..





Если вы случайно нажмете не ту область, после этого вы можете просто щелкнуть в нужной области. Если ваша проблема заключается в том, что пользователь не знает, когда он нажимает не ту область, просто выделите область, по которой щелкнули последним.
Есть ли проблема с копированием того, что находится в текстовом поле, когда они нажимают на него? Так что, если он используется для ввода? Они просто скопируют нужное им значение после, в которое они вводят значения.
Вы также можете указать ctrl-click или shift-click в текстовом поле для копии.
Большинство людей умеют копировать текст на своем компьютере. Возможно, лучшим решением будет просто автоматически выделить весь текст в текстовом поле, когда он получит фокус, чтобы они могли просто ctrl-c, чтобы скопировать, или начать вводить текст, чтобы начать ввод.
Я думаю, что решение №3 является лучшим в вашем списке, но я хотел бы увидеть набросок вашего графического интерфейса.
Клавиатура - лучший способ добиться максимальной скорости. Как насчет букв A-Z, чтобы вместо них скопировать текстовые поля? Пропустите «E», чтобы разрешить ввод научных обозначений. Потенциальная скорость высока, но обучаемость низкая. Я ожидаю, что пользователям будет сложно разобраться в этом пользовательском интерфейсе даже с пояснительным текстом на странице / в окне, и если пользователям придется читать пояснительный текст, то время, которое потребуется, скорее всего, сведет на нет экономию времени пользовательского интерфейса, если только пользователь все время использует приложение (Джоэл также правильно пишет, что пользователи ненавидят читать).
Для приложения, которое будет использоваться только изредка, большая кнопка - лучший выбор, чем больше, тем лучше, как предсказывает закон Фиттса. И обязательно обозначьте его «Копировать», а не «C» и не значок, чтобы максимально облегчить обучение. У других ваших идей есть проблемы с обучаемостью и терпимостью без скорости клавиатуры.
Тем не менее, я думаю, вы слишком далеко заходите в словах Джоэла. Конечно, вы хотите исключить ненужные щелчки, но типичный дизайн для этого типа приложения требует одного щелчка мышью по текстовому полю (которое по умолчанию должно выделять все значение), а затем один щелчок по пункту меню Копировать - или лучше, Alt- C или Ctrl-C с клавиатуры. Мне сложно представить себе задачу, в которой сохранение одного щелчка или пары нажатий на клавиатуру стоило бы множества кнопок копирования рядом с вашими текстовыми полями. У вас также будут кнопки для вставки и очистки? В какой-то момент беспорядок замедлит ваших пользователей больше, чем лишний щелчок.
Как часто пользователи будут копировать? Если это действительно десятки раз за сеанс, тогда вам следует переосмыслить весь подход к дизайну, потому что копирование и вставка Любые одного числа за раз будет утомительным. Возможно, вам стоит поддерживать пакетную обработку, принимая несколько чисел одновременно и выводя результаты в форме, уже подходящей для предполагаемого использования. Возможно, он будет работать в других приложениях, как это делает Enso: пользователь выделяет число в любом документе или текстовом поле любого приложения, команды Convert - Feet - Meters, и оно изменяется в документе или поле.
Что бы вы ни делали, важно использовать стандартные привязки событий клавиатуры и мыши ОС, а также предпочтительный внешний вид, иначе пользователи запутаются.
Нет ничего плохого в том, чтобы нажимать кнопку «Копировать» после каждого поля, если вы чувствуете, что это будет очень распространенная операция.
Однако два предложения:
Что касается внешнего вида, убедитесь, что кнопка четко связана с полем. Для текстового поля лучший способ сделать это - поместить кнопку «Копировать» в текстовое поле (с правой стороны, но будьте готовы обрабатывать языки RTL, изменяя ее положение по мере необходимости!).
Чтобы не делать его слишком большим, не используйте текст, а используйте стандартный значок Windows для копирования (например, этот:
) и поместите текст во всплывающую подсказку. Если вы сделаете это, вы также можете полностью избавиться от границы кнопки, еще больше уменьшив ее размер, хотя вам все равно понадобится какой-нибудь визуальный индикатор наведения, чтобы было ясно, что это активный элемент пользовательского интерфейса. Фактически, вы можете захотеть специально скопировать пользовательский интерфейс Vista / Win7 Explorer (также замеченный в IE7 / 8) для поля местоположения и значка перезагрузки в нем.
Хороший момент, о котором я тоже подумал, дело в том; Я уже думал об этом, и большая часть ввода будет буквами (надо было указать это в вопросе). Думаю, я пойду с большой кнопкой.