2008-11-10 1 views
8

Стоит ли пытаться сохранить свой графический интерфейс в системе?стоит ли поддерживать внешний вид ОС?

Каждая крупная программа имеет свои собственные любом случае ... (Visual Studio, IEXPLORER, Firefox, SYMANTEC утилиты, саман ...)

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

обновление:

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

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

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

ответ

0

Если вы на (или развиваться) Mac, то, безусловно, ДА!

И это должно быть верно и для Windows.

15

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

Итак, если вы делаете то, что используется 1.000 человек в течение 10 минут в день, идите с системным внешним видом и механизмами.

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

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

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

+0

Одним из примеров, который приходит на ум, является пользовательская кнопка закрытия вкладок, вкладки по умолчанию не имеют кнопки закрытия, поэтому, если вы хотите добавить один, который соответствует теме, которую пользователь имеет, это сложно. – CiNN 2008-11-10 15:26:06

0

Это зависит от того, насколько широким вы определяете system look'n feel ... Но в целом вы должны его хранить.

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

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

0

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

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

1

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

1

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

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

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

2

Я, как правило, согласен с другими здесь, особенно Soraz и Smaci.

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

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

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

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

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

1

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

Возникает вопрос «Стоит ли ломать внешний вид ОС и чувствовать? Иными словами,

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

Не просто сделать это, чтобы быть разными "

+0

(1) делает мой собственный контроль, потому что иначе было бы слишком много взломать по умолчанию, (2) таким образом я бы не застрял в ограничениях по умолчанию. (3) интеграция с темами будет нарушена (некоторые части не будут иметь эквивалент или половину реализованных тем) – CiNN 2008-11-10 15:22:47

0

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

Для получения дополнительной информации см. Are there any standards to follow in determining where to place menu items?.

0

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

0

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

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

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

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

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