Стоит ли сохранять внешний вид ОС? - PullRequest
8 голосов
/ 10 ноября 2008

Стоит ли пытаться сохранить ваш GUI в рамках внешнего вида системы?

У каждой крупной программы все равно есть свои ... (visual studio, iexplorer, firefox, утилиты symantec, Adobe ...)

Или только рамка и диалоговые окна должны быть оставлены в диапазоне внешнего вида системы?

Обновление:

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

Я играл с uxtheme api, но вы ничего не можете поделать, и некоторые темы, которые я видел, являются неполными.

Таким образом, лучший способ, который я вижу, для решения этой проблемы - сделать так, как Visual Studio / Firefox / Chrome roolup свой собственный элемент управления вкладками с темой ...

Ответы [ 11 ]

15 голосов
/ 10 ноября 2008

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

Итак, если вы делаете что-то, что используют 1000 человек в течение 10 минут в день, используйте системные взгляды и механизмы.

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

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

Прежде чем вы это знаете, вы снова перехватываете NC_PAINT и NC_BACKGROUNDERASE и все эти маленькие хитрости, чтобы заставить его работать так же быстро, как встроенные элементы управления.

2 голосов
/ 10 ноября 2008

Я склонен согласиться с другими здесь, особенно со Сразом и Смачи.

Одна вещь, которую я добавлю, хотя. Если вы чувствуете, что OS L & F слишком стеснительна, и у вас есть все основания выходить за ее пределы, я постараюсь следовать принципу «шаг вперед и вперед» (который я заимствую здесь из контекста НЛП).

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

Вы уже упоминали о некоторых хороших примерах этого принципа в работе - Visual Studio, даже Office в некоторой степени (Office - «особенный», так как новые стили пользовательского интерфейса, которые здесь режут зубы, часто возвращаются в будущие версии ОС - или фактические стандарты).

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

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

1 голос
/ 10 ноября 2008

Я бы хотел ответить другим вопросом (на самом деле это не протокол Stackoverflow, но я думаю, что в данном случае это оправдано)

Вопрос: стоит ли ломать внешний вид ОС? Другими словами,

  1. У вас есть основания для этого? (Для того, чтобы представить данные каким-либо образом, это невозможно в обычном L & F)
  2. Что вы получаете от этого? (Улучшение юзабилити?)
  3. Что вы теряете от этого? (Интуитивность и знакомство?)

Не просто делать это, чтобы быть другим

1 голос
/ 10 ноября 2008

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

В настоящее время я разрабатываю очень графическое программное обеспечение для группы пользователей, которая обычно имеет 3-й уровень образования и очень хорошо знает компьютер. Здесь ожидается, что программное обеспечение будет соответствовать и расширять внешний вид Windows.

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

1 голос
/ 10 ноября 2008

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

0 голосов
/ 11 ноября 2008

I Настоятельно рекомендую, чтобы ваше приложение выглядело нативным.

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

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

В противном случае вы получите мерзости, такие как iTunes на Windows. Один и тот же дизайн пользовательского интерфейса может быть абсолютно правильным на одной платформе и совершенно неправильным на следующей.

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

Да, существуют допустимые исключения, но они встречаются редко (и, разумеется, они, как правило, являются основными приложениями, такими как Office и Firefox, а не маленькими). Если вы не уверены, что вам нужно запрашивать StackOverflow, ваше приложение не входит в их число.

0 голосов
/ 11 ноября 2008

В общем да. Но есть случайная программа, которая хорошо работает, несмотря на то, что она не отформатирована для всех операционных систем, в которых она работает Например, emacs работает в значительной степени вопреки всем рекомендациям по интерфейсу в OS X или Windows (и, возможно, даже в gnome / KDE), и в ближайшее время не исчезнет.

0 голосов
/ 10 ноября 2008

Если вы разрабатываете для Apple Mac OS X или Microsoft Windows, поставщики предоставляют рекомендации по интерфейсу, которым следует , чтобы любое приложение было "родным".

См. Существуют ли какие-либо стандарты, которые необходимо соблюдать при определении места для пунктов меню? для получения дополнительной информации.

0 голосов
/ 10 ноября 2008

Помимо того, что в Windows нет четко определенного внешнего вида, вы всегда должны стараться следовать стандарту L & F платформы хоста. Однако обратите внимание, что внешний вид - это не только то, как программа ведет себя , но и то, как она выглядит. Программы, которые ведут себя нелогично, так же раздражают, как и программы, у которых есть свои уродливые виджеты.

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

0 голосов
/ 10 ноября 2008

Это зависит от того, насколько широко вы бы определили системный внешний вид ... Но в целом вы должны его сохранить.

Не удивляйте пользователя отличением от того, к чему он привык. Это одна из причин, почему мы называем его пользователь ; -)

Продукты Firefox и Adobe обычно этого не делают, поскольку они нацелены на несколько платформ, каждый из которых имеет свой собственный L & F. Но Visual Studio сохраняет типичный Windows L & F. И если вы разрабатываете только для Windows, то и вы должны.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...