Нужны ли знания программирования для дизайнера пользовательского опыта? - PullRequest
6 голосов
/ 28 января 2009

В нашей команде есть дизайнер пользовательского опыта, который не имеет опыта программирования. Ожидается, что он будет проектировать экраны в Eclipse как среду разработки. Его (действительная) жалоба состоит в том, что каждый раз, когда он разрабатывает конкретный экран и отдает его в разработку - они говорят ему, что технически невозможно с помощью SWT или GEF. Поэтому он хочет, чтобы я научил его основам SWT / GEF, чтобы он мог принимать обоснованные решения и, возможно, даже опробовать определенные вещи в затмении (в отличие от использования Photoshop), прежде чем предлагать проекты для экономии времени.

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

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

Ответы [ 9 ]

9 голосов
/ 28 января 2009

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

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

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

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

Самое главное, чтобы обе стороны осознали, что находятся в одной команде.

4 голосов
/ 28 января 2009

Это очень важно ..

Не зная о:

  1. технология в целом
  2. технология, которую вы выбрали, чтобы посвятить свое время производству конечного продукта

приведет к полной трате времени для всех ..

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

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

Способ сделать их более осведомленными о технологии:

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

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

3 голосов
/ 28 января 2009

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

3 голосов
/ 28 января 2009

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

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

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

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

как ты учишь кого-то абсолютно без программирования испытать графические рамки на различные платформы?

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

3 голосов
/ 28 января 2009

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

Это помогает, конечно. Но если дизайнер просит что-то сделать (потому что это использует какое-то другое приложение), руководитель разработки должен по крайней мере представить обходной путь.

Знания о программировании, вероятно, нет, но, конечно, ограничения на выбранную платформу.

2 голосов
/ 28 января 2009

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

2 голосов
/ 28 января 2009

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

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

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

2 голосов
/ 28 января 2009

Все зависит от ваших инструментов.

Редактировать: Я имею в виду, что есть инструменты, предназначенные для дизайнеров, и инструменты для программистов. Затмение, для одного не дизайнерский инструмент. Фотошоп есть. Вспышка может быть, Flex нет. Мне не понадобится Flash-дизайнер для программирования, но Flex-дизайнер должен программировать.

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

1 голос
/ 28 января 2009

Я немного подумал и, основываясь на ответах, данных ранее, я пришел к определенным выводам:

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

  • Основные рекомендации по проектированию для этой платформы
  • Стандартный набор инструментов / виджетов пользовательского интерфейса, предоставляемый на этой платформе (например: текстовые поля, раскрывающиеся списки и т. Д.)
  • Что невозможно (или слишком громоздко) на данной платформе (например: создание полупрозрачных модальных диалогов при исчезновении фона в Eclipse)

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

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

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