Вы тестируете на экранах с высоким разрешением и с нестандартными/высококонтрастными цветовыми схемами?

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

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

Теперь я чувствую, что многие из этих вопросов не нужны. Простой тестовый запуск на экране с высоким разрешением в нескольких цветовых схемах покажет их, некоторые из них даже очень легко исправить (например, всегда использовать clWindow, clWindowText и clBtnFace вместо clWhite, clBlack и clSilver). Некоторые из них сложнее, например, правильный контроль размера.

Итак, мой вопрос: пытаетесь ли вы следовать рекомендациям в руководствах по пользовательскому интерфейсу в отношении системных цветов, размеров и интервалов между элементами пользовательского интерфейса, а также размеров шрифтов и начертаний? Является ли тестирование на соответствие им частью вашего процесса обеспечения качества? Вы даже не пытаетесь размещать свои формы в диалоговых единицах, а не в пикселях, несмотря на то, что большинство IDE (в моем случае Delphi) имеют дизайнеры, ориентированные на пиксели?

[РЕДАКТИРОВАТЬ]: Перечитывая это после сна, я замечаю, что этот вопрос может выглядеть как приглашение к бесплодной дискуссии. Это не значит, что я определенно был бы заинтересован в инструментах, которые помогут мне создавать приложения, соответствующие рекомендациям по интерфейсу пользовательского интерфейса, область, в которой, как мне кажется, Delphi меня немного подводит. Смотрите также мой собственный ответ.


person mghie    schedule 14.11.2008    source источник


Ответы (4)


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

  • используйте clWindows и т. д., потому что это стандарт для элементов управления Delphi, так зачем его менять?
  • размещайте метки над полями ввода, а не слева, что должно решить многие проблемы с размером
  • убедитесь, что формы правильно изменяются, установив якоря
  • убедитесь, что порядок табуляции правильный (что может сильно раздражать, если этого не сделать)

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

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

person Community    schedule 15.11.2008
comment
Проверить это легко на виртуальных машинах на машине разработчика. И хотя я могу в некоторой степени понять ваши рассуждения, мне также жаль, потому что мы находимся в этой ситуации только потому, что никому нет дела, включая поставщиков наших инструментов разработки... Я просто люблю Mac, где это необходимо для успеха. ! - person mghie; 15.11.2008

Сегодня так много программного обеспечения не работает должным образом при нестандартном DPI, что я не думаю, что стоит пытаться это исправить. Часто задаваемые вопросы по устранению неполадок для многих приложений просто советуют пользователям переключиться на нормальный размер шрифта для связанных проблем. Microsoft признала отсутствие надлежащей поддержки DPI в стороннем программном обеспечении и переработала методы масштабирования дисплея в Windows Vista, где все операции GDI масштабируются на низком уровне, вместо того, чтобы полагаться на то, что приложения знают о настройке DPI.

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

person Vladimir Panteleev    schedule 15.11.2008

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

У меня есть модуль со вспомогательными функциями для определения правильных размеров и полей размещения, которые вычисляют их из шрифта графического интерфейса по умолчанию и стандартных значений в диалоговых единицах, как указано в рекомендациях по пользовательскому интерфейсу, и со вспомогательными функциями для вычисления максимальной ширины/высоты массив элементов управления, размещение элементов управления и тому подобное. Для форм и диалогов фиксированного размера я рассчитываю размещение элементов управления один раз после перевода их текста с помощью GNU gettext, для форм изменяемого размера я делаю это в обработчике OnResize.

Это дает хорошие результаты, однако занимает много времени. Я хотел бы иметь что-то вроде функции размера wxWidgets, которая автоматизирует изменение размера один раз устанавливается минимальный размер элемента управления. Однако я никогда не видел ничего подобного для Delphi.

person mghie    schedule 15.11.2008

Время от времени я тестирую его для больших шрифтов, потому что мой ноутбук с Vista настроен на крупные шрифты. Цветов не так много, но я редко задаю цвета на элементах управления.

Тем не менее, правильное изменение размера довольно сложно. Я обычно устанавливаю Масштаб форм равным false, чтобы они не изменяли размер неправильно.

Есть несколько инструментов для автоматического изменения размеров форм. Я изучил их, но так и не удосужился проверить их должным образом:

  • TFormResizer

  • ElasticForm — по иронии судьбы (учитывая площадь компонента) большая часть текста на этой странице не будет отображаться в Chrome. ...

  • JVAutoFormSize (в JVCL - не очень полезно из того, что я читал)

person stg    schedule 17.11.2008
comment
Я просмотрел предоставленные вами ссылки, но у меня ничего не работает :-( - person mghie; 10.01.2009