2010-02-18 4 views
6

Есть ли какие-то стандарты, которые вы считаете настолько очевидными, что их можно считать в любой спецификации?Что такое «Стандарт»? Если бы спецификация не говорила об этом, это должно быть принято?

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

Когда клиент говорит: «Это очевидно и« стандартное поведение », поэтому это ошибка, чтобы его не было» - иногда они правильные? Если да, есть ли какие-то ресурсы, которые могут помочь посреднику?

Я помню, как профессор попросил нас написать каждую деталь, связанную с простыми задачами, - и насколько это смешно. Я не хочу, чтобы наши спецификации были нелепыми, но я устал слышать это и думаю, что наши спецификации не достаточно специфичны.

+2

Даже очевидные вещи должны иметь как минимум быстрое упоминание в таких требованиях, как «Обычно пользовательский интерфейс должен следовать рекомендациям пользовательского интерфейса, определенным по адресу http://somebigcompany.com/defaultUIguidelines/» –

ответ

3

Для пользовательского интерфейса вопросов, вы можете проконсультироваться существующим руководящим интерфейсом, такие как Apple's или Microsoft's , Есть еще немало, но эти два являются достаточно большими игроками, что их рекомендации, вероятно, отражают то, что ваши пользователи ожидают в большей степени, чем большинство других.

Edit: закрытие диалогового окна с помощью клавиши Спасения кроется в Microsoft guideline (прокрутите вниз до «Взаимодействие»):

Нажатие клавиши Esc всегда закрывает диалоговое окно активного. Это верно для диалоговых окон с Cancel или Close, и даже если Cancel был переименован в Close, потому что результаты больше не могут быть отменены.

Я не выглядел очень тяжело, но я ничего не видел об авторазмерах столбцов - и это довольно необычно, что я был бы очень удивлен, если бы он был там.

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

Автоматическое изменение размера столбца в ответ на двойной щелчок по границе заголовка столбца нецелесообразно ожидать, не указывая его, поэтому его внедрение должно рассматриваться как добавленная функция.

Предостережения:

  1. Если вы разрабатываете что-то, что имеет свои собственные принципы пользовательского интерфейса (например на Mac или iPhone) те правила, чтобы следовать. Рыночная доля Microsoft делает их очевидным выбором для цели, у которой нет собственного руководства по пользовательскому интерфейсу.
  2. Это, безусловно, вопрос отношений с клиентами. Вы явно не хотите потерять лучшего клиента за то, что вы могли бы реализовать довольно легко. Если авторазделение столбцов имеет для них огромное значение, и в противном случае они являются хорошим клиентом, это может иметь смысл сделать это для них, но пусть они знают, что вы делаете им пользу, потому что вы цените их , Вам просто нужно быть осторожным в балансировании теплого нечеткого «потому что вы особенная» часть с умеренной вине-поездкой », поэтому мы делаем вам одолжение, и теперь вы должны нам ...» (ИМО, это обычно лучше не сказать «а теперь вы должны нам» часть вслух, но я не знаю вашего клиента).
+0

Спасибо - это хорошо, но очень долго читал. Я не видел упоминания этих двух примеров в своем посте в Microsoft. Будет ли это означать, что клиент должен был быть конкретным? т.е.: escape для отмены и двойного заголовка столбца заголовка для авторазбора будут дополнительными функциями, а не исправлениями ошибок? – aSkywalker

1

Создайте спецификацию плиты котла, которую вы включаете/ссылаетесь во всех своих проектах одного и того же общего назначения. Эта спецификация должна расти и меняться по мере того, как вы узнаете больше о ваших клиентах/требованиях клиентов. В этой спецификации также должны быть указаны соответствующие руководящие принципы пользовательского интерфейса, представленные в Apple или Microsoft. Даже если вы находитесь на одной платформе, я настоятельно рекомендую прочитать другую спецификацию, чтобы узнать о лучших способах совершения действий или определить возможные икоты. Есть также несколько хороших книг по дизайну пользовательского интерфейса, которые вы, возможно, захотите заимствовать.

3

это стандартная практика для определения стандартов пользовательского интерфейса, не предполагают их

, например, дважды щелкнув заголовок столбца в сетке, чтобы изменить это не стандартного поведения окна GUI. Однако двойным щелчком по разделителю столбцов для изменения размера столбца.

Это стоит усилий, чтобы указать стандартное поведение GUI, поэтому нет путаницы; если вы можете ссылаться на существующий стандарт, это нормально, но убедитесь, что клиент подписал его на нем.

«Я не могу читать ваш разум, и это не стандартное поведение по умолчанию» является логическим реторта ... но не очень вежливая. ;-)

2

Моя любимая цитата из колледжа «Замечательная вещь о стандартах заключается в том, что на выбор очень много».

Я предполагаю, что вы задаете этот вопрос, потому что вы, к сожалению, ввязались в вопрос «но вы не просили об этом». Это может поставить вас в трудное положение. В общем, вы хотите, чтобы компания предоставила вам свой стандарт или, как упомянули другие, вы можете взаимно согласиться на сторонний стандарт. Если вы работаете с фирмой, производящей много приложений того же типа, вы должны потратить время один раз, чтобы создать свой «стандарт».

Если вы сидите в точке входа и кто-то отказывается платить из-за «стандартных» функций, вам нужно иметь несколько примеров мест, где это не является стандартным. Например, в вашем примере закрытая форма на клавише эвакуации является стандартной только для Windows (а не для Интернета), а затем только для Microsoft. Я просто открыл три приложения на своем компьютере, где ESC ничего не сделал на форме.

Практически ничто не является стандартным. В любом конкретном случае разум «стандарт» будет означать что-то немного другое и, если не указывать на какое-то измеримое определение, приведет к аргументам в будущем.

+0

Добавление к этому: я не могу придумать какую-либо форму, которая закрывается нажатием ESC, поэтому она определенно не стандартная (т.е. Windows Explorer остается открытым, он остается открытым, блокнот остается открытым, Internet explorer 8 остается открытым, ... это каждое приложение Microsoft, которое даже отдаленно может реагировать на ESC с закрытием). – dbemerlin

+0

ESC иногда используется для закрытия Dialogs, что, вероятно, он имел в виду ... еще один пример определения «стандарта». Например, диалог «Сохранить как ...» практически для каждого продукта Microsoft инициирует «Отмена по ESC». –

1

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

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