Преодоление общего недостатка навыков разработки пользовательского интерфейса у разработчиков [закрыто]

17

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

В веб-разработке хороших навыков разработки кода недостаточно без отличных навыков в дизайне пользовательского интерфейса.

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

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

Али
источник
12
«Как UX-человек с плохими навыками разработки, как мне разработать сайт, не платя разработчику?»
Стивен Эверс
Вы должны увидеть, над чем я сейчас работаю - UI катастрофа. Я не думаю, что кто-либо, работающий над проектом, когда-либо обращал внимание на руководства по дизайну пользовательского интерфейса. То же самое относится и к моему предыдущему проекту, только на том, который я вынудил решить проблему и задействовать графического дизайнера, но были некоторые части кода, которые были вне моего контроля, которые были действительно ужасными.
Skizz
7
Наймите дизайнера. Это единственный способ быть уверенным.
SF.
1
Этот вопрос проблематичен. С таким же успехом можно говорить о преодолении общего недостатка навыков программирования у дизайнеров.
Алекс Фейнман

Ответы:

11

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

Я прочитал несколько из этих книг: http://www.uxbydesign.org/2009/06/24/20-user-experience-books-you-should-own/, и они действительно помогли мне.

редактировать мой любимый в этом списке «Не заставляй меня думать: подход здравого смысла к веб-юзабилити, 2-е издание», Стив Круг

Sydenam
источник
Я не знаю, почему разработчики считают, что они должны быть всем для всех все время. Я уже разработчик, дизайнер, архитектор, бизнес-аналитик, поддержка производства и QA. Его все еще недостаточно, и я должен быть администратором базы данных.
maple_shaft
3
Вам, как фрилансеру, нужно либо иметь все навыки самостоятельно, либо быть вынужденным отдавать часть проекта на аутсорсинг. Если вы совершенно не в состоянии что-то сделать, то очень плохо, что вам нужно найти кого-то другого. Но если вы можете овладеть навыками, то почему бы и нет, и зарабатывать себе больше и стать более привлекательным разработчиком с точки зрения потенциальных клиентов.
Сиденам
2
Я знаю и согласен с вами, мне просто противно то, что индустрия становится. Я окружен людьми, которые ненавидят свою работу и переутомлены, и у меня есть дурацкая идея, что они надеются стать следующими Angry Birds, и они спрашивают меня, могут ли они заплатить по одному индейцу по 6 долларов в час, чтобы ВСЕ РАБОТАТЬ и просто открыть источник для всего без внесения вклада, потому что открытый источник в конце концов БЕСПЛАТНО. Затем они надеются заработать миллионы и уйти с работы. Эти держатели плохих идей ожидают все больше и больше, а потом еще почти без денег. Это меня просто тошнит.
maple_shaft
5

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

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

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

Поверхностно, эстетический дизайн пользовательского интерфейса также является проблемой, с которой некоторые разработчики сталкиваются с проблемами. Я думаю, что это отчасти потому, что разработчики программного обеспечения часто не имеют большого опыта в эстетике - у студентов CS может не быть много времени на уроки рисования. Это также отчасти потому, что мы больше заинтересованы в том, как что-то работает, чем в том, как оно выглядит; нам просто все равно, имеют ли углы кнопки радиус 9 пикселей или радиус 10 пикселей. Эти два фактора, безусловно, связаны. Иногда вы можете преодолеть это, полагаясь на готовые решения в форме каркасов пользовательского интерфейса, а использование заранее разработанных компонентов имеет то преимущество, что вы визуально объединяете свою работу с другими приложениями в той же системе. Вы можете улучшить свои эстетические навыки, читая, глядя на работу других людей, и уделять пристальное внимание визуальным деталям, которые вы могли игнорировать в прошлом. Вам также следует попытаться понять логику, лежащую в основе визуальных отличий: означают ли квадратные кнопки что-то отличное от закругленных кнопок? Как используется цвет? и т.п.

Калеб
источник
1
спасибо за ответ gr8. Есть ли ресурсы, книги, сайты, обсуждающие эту тему: «Логика визуальных различий: означают ли кнопки с прямоугольными углами что-то отличное от кнопок с закругленными углами? Как используется цвет? и т. д.»
Али
С другой стороны, просто из любопытства, означают ли квадратные кнопки что-то отличное от закругленных кнопок? Интересно, это было решено на UX SE?
Шон Хэнли
Цветные и закругленные кнопки являются проблемой графики и на самом деле не имеют ничего общего с UX. Лучшим вопросом для UX было бы «что думает наш пользователь о нашем сайте с цветовой схемой x по сравнению с цветовой схемой y» и расположением этих кнопок.
Ник
@ Ядын, это зависит от контекста. Геометрия кнопок может дать пользователю ключ к функционированию и поведению: кнопки с прямоугольными углами образуют привлекательные группы и часто хорошо подходят для выбора параметров или режимов. Закругленные кнопки складываются не очень хорошо и часто указывают на различные операции. Но такие визуальные подсказки имеют смысл только в том случае, если они используются последовательно в приложении или (лучше) во всем графическом интерфейсе.
Калеб
@ melee, я подхожу к этому с точки зрения разработки приложений. В веб-интерфейсе гораздо больше разнообразия интерфейсов, и я согласен, что в этом контексте это сложнее. Но если вы взяли типичное настольное приложение на Mac и сказали: «Синие кнопки выглядят великолепно - давайте сделаем все кнопки голубыми!» вы могли бы создать много путаницы для пользователей, потому что пользователи придают значение цвету и форме кнопки. Примеры здесь (Apple HIG): tinyurl.com/6agv54v
Калеб
3

Вот некоторые вещи, которые я нахожу, чтобы помочь мне:

  • Обратите внимание на то, что вам нравится / не нравится в других программах. Мы программисты, большую часть жизни мы проводим за компьютером. Попробуйте и обратите внимание на то, что вы любите / ненавидите при использовании программного обеспечения. Неважно, если это компьютерное программное обеспечение, видеоигры, мобильные устройства и т. Д. Просто попробуйте и следите за тем, что удобно и легко использовать, а что нет.

  • Найдите простой в использовании инструмент для создания эскизов для создания пользовательского интерфейса для вас и ваших пользователей. Я люблю использовать Balsamiq, так как он быстрый, простой и веб-версия бесплатна.

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

  • Не стесняйтесь спрашивать на /ux// для подробных вопросов

Рейчел
источник
1
Хороший совет, хороший инструмент
NoChance
2

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

Для того, кто делает обе вещи сам, никогда не дает наилучшего результата. Итак, ИМХО эти два разных аспекта должны быть назначены двум разным разработчикам. Небольшое знание HTML и CSS для разработки скинов и тем рекомендуется в случае различных CMS, но когда вам необходимо разработать совершенно новый дизайн, обратитесь к дизайнеру пользовательского интерфейса.

Панкадж Упадхяй
источник
2

введите описание изображения здесь

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

Проектирование для людей, которые лучше справляются со своей жизнью

Андреас Йоханссон
источник
2

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

  1. Не волнуйтесь, это не так сложно, как вы думаете.

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

  3. Теперь с листом бумаги и карандашом сядьте и начните рисовать логическое расположение экранов. Обычно это просто представляет вашу модель данных пользователю организованным образом. Ваша цель должна быть просто:

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

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

    с. Это требует времени и это кривая обучения, но любой может это сделать.

  4. Не беспокойтесь о графике, то есть о кнопках, фонах и т. Д. ... Ваша единственная цель на данный момент - логический макет страницы.

  5. Вам необходимо освоить используемую библиотеку GUI, будь то html, gtk, cocoa, android, Windows.Forms и т. Д., В той степени, в которой вы понимаете механизмы обработки событий, механизм разметки, а также извлечение ввода и отображение данные. Любой разработчик должен быть в состоянии сделать хотя бы это.

  6. Нет ничего постыдного в том, чтобы заставить графического дизайнера занять здесь место. Но вы, по крайней мере, должны быть в состоянии пройти шаг 5. Это 95% рабочей нагрузки для всего приложения.

Вот полезная статья, которая превратила меня из плохого дизайнера графического интерфейса в гораздо лучшего дизайнера графического интерфейса.

http://www.joelonsoftware.com/uibook/fog0000000249.html

Джонатан Хенсон
источник
Хороший совет, но я не согласен с пунктом 2. Я также хотел бы привлечь пользователя к вышеуказанным шагам больше.
NoChance
1
@Emmad Если вы рассматриваете свое приложение как серию операций, выполняемых с данными, единственная цель пользовательского интерфейса - предоставить организованный способ получения входных данных для модели данных и отображения модели данных. Причина, по которой я поставил 2, заключается в том, что после моделирования данных пользовательский интерфейс просто становится на свои места. Я провожу обширные интервью с конечным пользователем, чтобы узнать, с какими данными они хотят что-то делать? Это приложение. Затем я помещаю материал на страницу, а затем спрашиваю, как вы хотите, чтобы это выглядело? Это никогда не делало меня неправильно.
Джонатан Хенсон
1
Кроме того, когда я позволяю графическим дизайнерам рисовать графический интерфейс, это всегда заканчивается катастрофой. Они не знают, как должны быть организованы данные, и почти никогда не знают, что есть, а что нет.
Джонатан Хенсон
Спасибо за объяснение, я согласен с вами, что графическим дизайнерам не нужно заниматься управлением информацией.
NoChance
1

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

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

Йорис Тиммерманс
источник
1

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

Разработчики тратят большую часть своего времени на изучение сложных языков, ООП, ORM, SQL, T-SQL и т. Д. Кроме того, они редко инвестируют в инструменты для создания веб-сайтов (большинство из них дорогие).

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

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

Я обнаружил, что этот инструмент отличный инструмент, он может помочь вам:

Artisteer

Взгляните на него и попробуйте демо, это действительно хорошо.

Без шансов
источник
1

все еще в веб-разработке хороших навыков разработки недостаточно без отличных навыков в дизайне

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

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

Microsoft фактически обновила свой набор инструментов, чтобы подчеркнуть четкое разделение между разработчиками и дизайнерами. Они представили Expression Blend с WPF, что теперь означает, что разработчик может работать над функциональностью части программного обеспечения, а кто-то другой может сделать дизайн для него. Они оба используют разные инструменты, оба могут одновременно работать над проектом, но один выполняет функциональность, а другой - дизайн.

Разработчик указывает точки данных, а дизайнер отображает их.

AndrewC
источник
спасибо, я думал об этом, делая это без команды, делая это как один фрилансер!
Али
Определенно не так с большой компанией. У него есть отдельные команды дизайнеров и разработчиков, и оба нуждаются лишь в минимальных знаниях друг друга (знайте, что возможно, знайте, что сломано).
SF.
1

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

Harald
источник
0

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

Не бойтесь задавать вопросы на UI.stackexchange.com

JeffO
источник
+ 1- хорошая отметка об ограничении цветов и т. Д. Отметка пользовательского интерфейса программиста обычно представляет собой неоновый фон с мигающим тегом вокруг всех кнопок и маркировочным тегом вокруг всего остального. Хорошо выглядящие сайты используют значения по умолчанию (белый фон, обычные шрифты и т. Д.) На 90%, с парой крутых отклонений.
Морган Херлокер
0

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

Есть особенно хорошая книга о веб-дизайне, которую я читал и которая предназначена для разработчиков:

Веб-дизайн для разработчиков: http://pragprog.com/book/bhgwad/web-design-for-developers

Это легко читаемая книга, затрагивающая все этапы создания интерфейсов: от простого создания эскизов и создания прототипов до создания проектов с использованием HTML + CSS.

Для дальнейшего улучшения ваших навыков пользовательского интерфейса я также рекомендую последнюю скринкаст PeepCode с Райаном Сингером: http://peepcode.com/products/ryan-singer-ux

Фабио Кенджи
источник
0

Я думаю, что приобретение некоторых основ UX / UI / графики / типографики, безусловно, является ценным делом. Конечно, не всегда может быть «разносторонняя» команда специалистов. Много раз люди должны носить несколько шляп. Хороший разработчик увидит ценность в том, чтобы тратить время на изучение вещей за пределами его / ее сферы, и должен быть в состоянии, по крайней мере, распознать хорошую работу в дизайне.

Тем не менее, есть что сказать о том, что делают дизайнеры. Разработчик может сделать так много только в области дизайна (правда, немного больше, чем другие). В частности, крупные общественные проекты, выходящие за пределы узкой ниши, значительно выигрывают, нанимая реальных дизайнеров. И я не просто имею в виду людей, которые могут качаться вокруг цветовых кодов CSS и HTML. Я имею в виду людей, которые потратили ГОДЫ на изучение таких вещей, как книгопечатание, которые прочитали и поняли книгу Джозефа Альбера о цвете , которые могут делать красивые наброски с разбивающимся углем на газетной бумаге. Это ценные навыки, и проекты, которые признают это и могут использовать эти навыки для целенаправленного использования, имеют решающее преимущество перед конкурентами.

Тем не менее, есть некоторые области, где дизайнеры и разработчики могут перекрывать свои навыки. Особенно UX и его поддомен, UI. Рекомендую ...

Angelo
источник
0

Наймите профессионала.

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

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

(Я был профессиональным разработчиком в течение 10 лет, а моя жена - дизайнер пользовательских интерфейсов в течение 20 лет)

Крис Ван Баел
источник