Мне сказали и обнаружили для себя, что многие разработчики не очень хороши в дизайне пользовательского интерфейса (я не знаю, насколько это правда), но , по крайней мере, это правда обо мне .
В веб-разработке хороших навыков разработки кода недостаточно без отличных навыков в дизайне пользовательского интерфейса.
Так что для меня и многих разработчиков, таких как я, которые имеют только половину (хорошие навыки разработки), как мы должны завершить нашу вторую половину, кроме оплаты за дизайнера?
Является ли использование веб-шаблонов с открытым исходным кодом с небольшими изменениями лучшим решением для этого или есть другие варианты?
Ответы:
Я разработчик, который также не так хорош в дизайне. Я стараюсь изо всех сил, работая над проектом, в котором я должен заниматься проектированием, чтобы все было как можно проще. Я использую очень логичный подход и дизайн только для удобства пользователей. Я не могу сделать так, чтобы это выглядело действительно красиво, но я могу сделать его дружественным к пользователю и относительно приятным для глаз.
Я прочитал несколько из этих книг: http://www.uxbydesign.org/2009/06/24/20-user-experience-books-you-should-own/, и они действительно помогли мне.
редактировать мой любимый в этом списке «Не заставляй меня думать: подход здравого смысла к веб-юзабилити, 2-е издание», Стив Круг
источник
Дизайн (чего угодно) - это переговоры между потребностями различных заинтересованных сторон (заказчик, разработчик, пользователи). Никто из заинтересованных сторон, как правило, не в состоянии создать лучший дизайн, потому что они стремятся лучше понять свои собственные потребности и поставить их выше потребностей других заинтересованных сторон. Хороший проектировщик может определить потребности различных заинтересованных сторон - часто потребности, которых сам заинтересованный участник не осознает, что у него есть - и найти решение, которое работает для всех.
Вы, наверное, видели это сами много раз. Пользователи думают о том, как они должны взаимодействовать с системой, обычно с точки зрения какой-то другой системы, с которой они уже знакомы. Разработчики думают в основном о том, как работает система. Клиенты обычно хотят что-то, что решит все их проблемы, или же они хотят решить какую-то очень специфическую проблему с наименьшими затратами.
Чтобы стать хорошим дизайнером, вы должны научиться перестать думать о том, как что-то реализовать. Вместо этого вы должны сосредоточиться на том, что другие заинтересованные стороны говорят вам о том, что им нужно и чего они хотят, и вы должны уметь читать между строк. Как и разработчики, клиенты и пользователи часто имеют в виду какое-то предвзятое решение, и они склонны описывать это решение вместо базовых требований. (Тем не менее, важно понимать, что иногда клиент имеет в виду то, что он говорит, когда он говорит вам именно то, что он хочет; если вы не уверены, спросите.)
Поверхностно, эстетический дизайн пользовательского интерфейса также является проблемой, с которой некоторые разработчики сталкиваются с проблемами. Я думаю, что это отчасти потому, что разработчики программного обеспечения часто не имеют большого опыта в эстетике - у студентов CS может не быть много времени на уроки рисования. Это также отчасти потому, что мы больше заинтересованы в том, как что-то работает, чем в том, как оно выглядит; нам просто все равно, имеют ли углы кнопки радиус 9 пикселей или радиус 10 пикселей. Эти два фактора, безусловно, связаны. Иногда вы можете преодолеть это, полагаясь на готовые решения в форме каркасов пользовательского интерфейса, а использование заранее разработанных компонентов имеет то преимущество, что вы визуально объединяете свою работу с другими приложениями в той же системе. Вы можете улучшить свои эстетические навыки, читая, глядя на работу других людей, и уделять пристальное внимание визуальным деталям, которые вы могли игнорировать в прошлом. Вам также следует попытаться понять логику, лежащую в основе визуальных отличий: означают ли квадратные кнопки что-то отличное от закругленных кнопок? Как используется цвет? и т.п.
источник
Вот некоторые вещи, которые я нахожу, чтобы помочь мне:
Обратите внимание на то, что вам нравится / не нравится в других программах. Мы программисты, большую часть жизни мы проводим за компьютером. Попробуйте и обратите внимание на то, что вы любите / ненавидите при использовании программного обеспечения. Неважно, если это компьютерное программное обеспечение, видеоигры, мобильные устройства и т. Д. Просто попробуйте и следите за тем, что удобно и легко использовать, а что нет.
Найдите простой в использовании инструмент для создания эскизов для создания пользовательского интерфейса для вас и ваших пользователей. Я люблю использовать Balsamiq, так как он быстрый, простой и веб-версия бесплатна.
Помните, что вам не нужно искать кого-то, кто специализируется на разработке программного обеспечения, чтобы помочь вам в разработке чего-либо - подойдет любой пользователь. Я часто делаю свои наброски некоторыми людьми, которые совершенно не связаны с проектом только потому, что я знаю, что они весь день занимаются программным обеспечением и могут сказать мне, если что-то выглядит хорошо или удобно для пользователя. Просто имейте в виду, что они часто дают вам безумные идеи о том, что делать, и вы должны знать, что было бы просто «круто», а что на самом деле улучшило бы производительность.
Не стесняйтесь спрашивать на /ux// для подробных вопросов
источник
Если честно, дизайн пользовательского интерфейса - это совсем другое. Разработчик всегда думает о тонком дизайне и не слишком креативен, когда дело доходит до проектирования. Я считаю, что определенный подход заключается в том, чтобы оставить другого разработчика для дизайна пользовательского интерфейса. Хотя это увеличивает стоимость, но, безусловно, поможет вам достичь лучших результатов.
Для того, кто делает обе вещи сам, никогда не дает наилучшего результата. Итак, ИМХО эти два разных аспекта должны быть назначены двум разным разработчикам. Небольшое знание HTML и CSS для разработки скинов и тем рекомендуется в случае различных CMS, но когда вам необходимо разработать совершенно новый дизайн, обратитесь к дизайнеру пользовательского интерфейса.
источник
Я определенно могу рекомендовать книгу Джоэла Спольски « Дизайн пользовательского интерфейса для программистов» . В этой книге он в значительной степени использует подход, который вы ищете: объяснение, почему дизайн пользовательского интерфейса имеет значение для программистов. Для некоторых онлайн-материалов:
Проектирование для людей, которые лучше справляются со своей жизнью
источник
Дизайн пользовательского интерфейса не является чем-то естественным для многих людей. Однако в последнее время я стал намного лучше в этом, следуя нескольким простым принципам.
Не волнуйтесь, это не так сложно, как вы думаете.
Сначала смоделируйте структуру данных и ваш движок. Создавайте четкие и реально соответствующие модели. Очевидно, это предполагает, что вы нашли время, чтобы понять, что нужно клиенту.
Теперь с листом бумаги и карандашом сядьте и начните рисовать логическое расположение экранов. Обычно это просто представляет вашу модель данных пользователю организованным образом. Ваша цель должна быть просто:
а. Имитируйте среду, в которой будет развернуто приложение. Например, если это приложение для Windows, оно должно вести себя как приложение для Windows, если это веб-приложение, оно должно вести себя как аналогичные веб-приложения, более популярные, чем у вас.
б. Ваша цель состоит в том, чтобы направлять пользователя через вашу модель данных так, как ОНИ прогнозируют. Пользовательский интерфейс хорошо спроектирован, когда пользователь делает что-то в вашем приложении и делает именно то, что он ожидал.
с. Это требует времени и это кривая обучения, но любой может это сделать.
Не беспокойтесь о графике, то есть о кнопках, фонах и т. Д. ... Ваша единственная цель на данный момент - логический макет страницы.
Вам необходимо освоить используемую библиотеку GUI, будь то html, gtk, cocoa, android, Windows.Forms и т. Д., В той степени, в которой вы понимаете механизмы обработки событий, механизм разметки, а также извлечение ввода и отображение данные. Любой разработчик должен быть в состоянии сделать хотя бы это.
Нет ничего постыдного в том, чтобы заставить графического дизайнера занять здесь место. Но вы, по крайней мере, должны быть в состоянии пройти шаг 5. Это 95% рабочей нагрузки для всего приложения.
Вот полезная статья, которая превратила меня из плохого дизайнера графического интерфейса в гораздо лучшего дизайнера графического интерфейса.
http://www.joelonsoftware.com/uibook/fog0000000249.html
источник
Вы также можете найти успешные примеры «похожих» сайтов, чтобы получить идеи для макетов, графики и дизайна. С некоторыми изменениями в вашей любимой программе рисования вы можете позаимствовать множество идей и сделать их своими. Не копируйте прямо - это не только плохие манеры, но и в большинстве случаев, вероятно, также незаконно.
Как только вы заимствуете несколько раз, вы начнете лучше понимать дизайн успешных сайтов и познакомитесь с инструментами для их создания (с вашими небольшими изменениями).
источник
С введением HTML создание простого не уродливого сайта стало проблемой. Несмотря на то, что у вас может быть концепция, для ее реализации требуются несколько хитростей, инструментов, готовой графики и знаний CSS. Кроме того, для создания четких страниц требуются методы юзабилити и другие человеческие факторы, влияющие на процесс проектирования.
Разработчики тратят большую часть своего времени на изучение сложных языков, ООП, ORM, SQL, T-SQL и т. Д. Кроме того, они редко инвестируют в инструменты для создания веб-сайтов (большинство из них дорогие).
В результате многие разработчики страдают от своей неспособности создавать потрясающие веб-страницы. Я верю, что если вы изучите необходимые инструменты, вы также сможете создавать хорошие страницы.
Также важно знать, какова ваша роль в процессе разработки приложений. Вы можете найти, что веб-дизайн - это приятно иметь навык, а не обязательный навык. В больших проектах это не должно быть задачей программиста по крайней мере по указанным выше причинам.
Я обнаружил, что этот инструмент отличный инструмент, он может помочь вам:
Artisteer
Взгляните на него и попробуйте демо, это действительно хорошо.
источник
Я не знаю, верно ли это утверждение, я думаю, что это зависит от того, где вы работаете.
Например, небольшая компания, вероятно, потребует от вас большей гибкости в наборе навыков, в то время как крупная компания может не иметь таких же ожиданий, и вы можете потратить все свое время на разработку, пока команда разработчиков работает над проектированием.
Microsoft фактически обновила свой набор инструментов, чтобы подчеркнуть четкое разделение между разработчиками и дизайнерами. Они представили Expression Blend с WPF, что теперь означает, что разработчик может работать над функциональностью части программного обеспечения, а кто-то другой может сделать дизайн для него. Они оба используют разные инструменты, оба могут одновременно работать над проектом, но один выполняет функциональность, а другой - дизайн.
Разработчик указывает точки данных, а дизайнер отображает их.
источник
Помните, что дизайн тоже может быть проверен, а не только код. Начните с простого, опробуйте свой дизайн на небольшой группе людей, запишите их отзывы и переходите оттуда. Это может помочь вам определить проблемы с вашим дизайном и дать вам представление о том, что можно / нужно делать по-другому. Затем пересмотреть дизайн и повторить.
источник
Вам просто придётся подделать его и скопировать другие дизайны. Избегайте чего-либо необычного, кроме одной или двух функций, которые принесут пользователям большую пользу. Следуйте некоторым основным правилам ограничения шрифтов, цветов и беспорядка.
Не бойтесь задавать вопросы на UI.stackexchange.com
источник
Хотя это не ваша область знаний, я думаю, что всегда интересно изучать, как создавать пользовательские интерфейсы. В настоящее время большинство веб-страниц очень динамичны, и знание некоторых навыков пользовательского интерфейса, безусловно, поможет при создании компонентов и настройке их взаимодействия с элементами вашей страницы. Я пришел из бэкэнд-разработки и был удивлен тем, насколько много задействовано при создании интерфейсов.
Есть особенно хорошая книга о веб-дизайне, которую я читал и которая предназначена для разработчиков:
Веб-дизайн для разработчиков: http://pragprog.com/book/bhgwad/web-design-for-developers
Это легко читаемая книга, затрагивающая все этапы создания интерфейсов: от простого создания эскизов и создания прототипов до создания проектов с использованием HTML + CSS.
Для дальнейшего улучшения ваших навыков пользовательского интерфейса я также рекомендую последнюю скринкаст PeepCode с Райаном Сингером: http://peepcode.com/products/ryan-singer-ux
источник
Я думаю, что приобретение некоторых основ UX / UI / графики / типографики, безусловно, является ценным делом. Конечно, не всегда может быть «разносторонняя» команда специалистов. Много раз люди должны носить несколько шляп. Хороший разработчик увидит ценность в том, чтобы тратить время на изучение вещей за пределами его / ее сферы, и должен быть в состоянии, по крайней мере, распознать хорошую работу в дизайне.
Тем не менее, есть что сказать о том, что делают дизайнеры. Разработчик может сделать так много только в области дизайна (правда, немного больше, чем другие). В частности, крупные общественные проекты, выходящие за пределы узкой ниши, значительно выигрывают, нанимая реальных дизайнеров. И я не просто имею в виду людей, которые могут качаться вокруг цветовых кодов CSS и HTML. Я имею в виду людей, которые потратили ГОДЫ на изучение таких вещей, как книгопечатание, которые прочитали и поняли книгу Джозефа Альбера о цвете , которые могут делать красивые наброски с разбивающимся углем на газетной бумаге. Это ценные навыки, и проекты, которые признают это и могут использовать эти навыки для целенаправленного использования, имеют решающее преимущество перед конкурентами.
Тем не менее, есть некоторые области, где дизайнеры и разработчики могут перекрывать свои навыки. Особенно UX и его поддомен, UI. Рекомендую ...
источник
Наймите профессионала.
Серьезно, пользовательские интерфейсы от разработчиков имеют ужасную репутацию. Это не потому, что разработчики ниже среднего в дизайне, а потому что разработчики ниже среднего в обращении за помощью.
Разработчик имеет тенденцию брать на себя все цифровые вызовы, которые возникают на их пути.
(Я был профессиональным разработчиком в течение 10 лет, а моя жена - дизайнер пользовательских интерфейсов в течение 20 лет)
источник