Макети: Кодування проти малювання?


9

Мова йде не про веб-дизайн, а про дизайн інтерфейсу взагалі. Краще кодувати інтерфейсні макети або "малювати" їх у графічній програмі, наприклад GIMP, Photoshop тощо?


3
Мені завжди кажуть: "замальовуйте свій інтерфейс, якщо ви це зробите в Photoshop або все, що люди думають, що ви далі, ніж ви є насправді. Залиште свої макети виглядаючи схематично, просто опустіть основи, щоб ваш клієнт знав, чого чекати, а потім розширюйтесь пізніше у вашому інтерфейсі. "
Ганна

1
Це повністю залежить від проекту. Універсальної "найкращої" відповіді немає.
DA01

Відповіді:


14

Задайте собі ці питання:

  • Скільки макетів / варіантів інтерфейсу можна вивчити за 30 хвилин, кодуючи? Скільки ви можете дослідити, замальовуючи?

  • Як часто ви отримуєте дизайн інтерфейсу точно під час першої спроби? Якщо не дуже часто, наскільки швидко / легко змінити ескіз проти кодованого макету?

  • Чи можете ви миттєво визначити колір, просто подивившись на його шістнадцятковий / rgb-код (не лише здогадку про бальний парк, а точний відтінок / колір)? Коли ви малюєте кольором у своїй свідомості, чи можете ви негайно перевести це на шестигранний? Наскільки швидко ви можете вибрати колірну гамму, ввівши шістнадцяткові коди порівняно з реальним кольором?

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

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


ОП може задуматися про використання редактора коду WYSIWYG, за допомогою нього ви можете вибрати кольори або навіть "намалювати" об'єкти ...
jackJoe

2
Насправді, кодування без проектування спочатку інтерфейсу є досить вірною методикою. Це, звичайно, якщо "кодування" не означає UI або UX частини :). Більшість API та бібліотек розроблені фактично без врахування інтерфейсу користувача - це було б непрактично.
thebodzio

1
@lese, ти розкриваєш метод водоспаду. Що може бути нормальним, але в ці дні тенденція полягає в тому, щоб рухатись швидко, коли дуже ймовірно, що ви працюєте з кодом з першого дня.
DA01

@ DA01: Ви працюєте над кодом з першого дня, але ви все ще застосовуєте методологію зверху вниз. Нічого не спритного, що говорить про те, що ви не можете спланувати свою архітектуру даних або визначити спочатку інтерфейс користувача перед кодуванням (що, на мою думку, більшість спритних фірм віддають перевагу над UML, діаграми класів тощо).
Lèse majesté

2
@thebodzio: Так, звичайно, саме для цього належить розділення проблем. Але я не маю на увазі кодування бекенду. Коли я кажу про кодування з точки зору проектування частини запитання (не аналогію програмування, яку я використовував для ілюстрації пункту - я знаю, трохи заплутано), я маю на увазі кодування макету (CSS + HTML або будь-якої мови вашого інтерфейсу) ).
Lèse majesté

5

Я б голосував за "малювання" першим. У графічному інтерфейсі ключовим є правильний макет / презентація, який вимагає розробити наочні засоби. Проектування графічного інтерфейсу дозволяє візуально змінювати дизайн, не потребуючи "уявляти" кожну зміну, "переводити її в код" і, нарешті, перевіряти її. Інший спосіб також можливий, але він рідко кращий (наприклад, проект надзвичайно малий, як-от пара кнопок, і ви знайомі і звикли працювати на рівні «коду»; під час проектування можуть з’явитися деякі шаблони, які можуть бути просто повторне використання з незначною модифікацією).

Якщо ви розробляєте певний інструментарій віджетів, ви також можете скористатися деяким додатком "конструктор графічного інтерфейсу", якщо він доступний. Це пришвидшить ще більше процес розробки графічного інтерфейсу, оскільки він обидва показує, як саме виглядатиме розроблений графічний інтерфейс у запущеній програмі та може експортувати готовий до використання опис графічного інтерфейсу на презентаційному рівні.


2
"і ви знайомі і звикли працювати на рівні" код "-> Важливо, щоб команда UI / UX могла працювати на рівні коду. Кожен дизайнер не повинен бути кодером, але команда повинна вміти будувати все, що вони розробляють і розуміти інженерію так само, як і візуальний дизайн.
DA01

Я можу погодитися, якщо ви маєте на увазі команду в цілому. Я думаю, що, коли ви просто проектуєте UI / UX, а не кодуєте його, знання внутрішніх функцій коду насправді може стримувати вас, тому що ви будете схильні уникати деяких можливих рішень лише тому, що будете вважати їх "занадто важкими для реалізувати ". Це означає, що ваші дизайни можуть бути позбавлені деяких геніальних ідей, тому що "інструментальне мислення" замикає частини вашої фантазії. Потім знову ... це лише одна сторона клинка :) Крім того, питання стосувалося лише "макетів".
thebodzio

1
Я багато чую аргумент «стримуй тебе», але знаходжу це лише від візуальних дизайнерів, які вперто проти вивчати код шару презентації. Ці люди також схильні до того, щоб робити все у Flash. :) Мені подобається припускати, що він не відрізняється від дизайну друку. Знаючи, як працює поліграфія, не «стримує» вас як дизайнера друку. Швидше, це заважає створювати файли, які задушать RIP або змушують принтер кричати на вас за 300% покриття чорнилом. Йдеться лише про розуміння середовища та пов'язаних з цим обмежень.
DA01

1
WYSIWYG не для полегшення "візуального мислення". Це для того, щоб не дозволяти людям, які не хочуть навчитися чомусь кульгати. ;) Що стосується обмежень, вони визначають носій. Архітектор, який може малювати чудові фотографії, але не розуміє основ навантажень і прольотів, дуже стримується ... оскільки нічого, що вони малюють, насправді не можна побудувати.
DA01

1
(і багато моєї думки сформовано, працюючи або з командами UX, які не мають уявлення про те, як створити все, що вони придумали. Вони не інновації більшість часу ... а розробляють лише напів продуману. рішення, які не є практичними з точки зору впровадження, терміни, користувачі або бюджети [все це додаткові обмеження, які допомагають визначити дизайнерське рішення, а не бути "стінами"] PS: хороша дискусія!
DA01

3

Для дизайну інтерфейсу у мене є три етапи з різними цілями:

  1. Ескіз. По-перше, ви хочете скласти основне уявлення про те, які елементи будуть і як вони впишуться разом. Будь-яка дрібна деталь чи естетичний перфекціонізм на цьому етапі - це відволікання. Я використовую дошку та ручку для стирання жиру, тому неможливо відволіктися на занадто багато деталей та легко писати набори різних ідей та починати заново в будь-який час. Я чув про людей, які лише ескізують невеликі нотатки після публікації або користуються лише їх рукою (наприклад, лівою рукою, якщо ти правою рукою), щоб змусити себе взагалі не звертати ніякої уваги на естетику та зосереджуватись на 100% на ідею та функцію. (зображення не моє, від Frank Prendegast )

Фото каркасної дошки

  1. (2!) Імітація.По-друге, ви хочете опустити погляд і отримати зворотній зв'язок, дізнавшись, наскільки це можливо, про інтуїцію людей та непередбачувані відповіді, перш ніж розпочати трудомістку роботу з впровадження. Це повинно бути в тому, в чому ви працюєте найбільш ефективно, оскільки, якщо ви робите це правильно, вам слід часто повертатися «до креслярської дошки», шукаючи критики та прагнучи якнайшвидше визначити якомога більше несподіваних питань. Якщо ви божевільна машина кодування, і це те, в чому ви найкомфортніше працюєте, то кодування добре, але більшість людей працюватимуть швидше у чомусь на зразок феєрверків, Photoshop, спеціалізованого програмного забезпечення для фреймворків або, можливо, побудованого інтерфейсу, створеного інтерфейсом, як Flash Catalyst (прекрасно, якщо кінцевий продукт не Flash, мета - отримати хороший відгук, перш ніж розпочати реалізацію).

  2. (3!) Реалізація. Нарешті, ви реалізуєте річ і прагнете зробити це таким чином, що дозволяє отримувати більше відгуків рано та часто.

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


2

Це запитання дещо розпливчасте і як таке відповіді.

Крім того, проекти будуть різко відрізнятися, як і команди.

Однак, «найкращого» немає. Йдеться про використання всіх інструментів у робочому процесі, який має найбільш сенс для вас та вашої команди.

Взагалі кажучи, я б сказав, що це тип робочого процесу, на який слід прагнути:

  1. Ескіз. Олівець + папір. Дошки. Ітерація. Працюйте з якомога більше членів команди.
  2. макет з низьким рівнем фантастики. Може бути PSD, може бути visio. Може бути папір. Користувач тестує їх.
  3. Приступайте до побудови прототипів. Саме тут ви хочете почати робити якомога більше робочого коду. Переходьте до Photoshop, як вам потрібно, і отримайте речі з нього в код якомога швидше. Продовжуйте тестування / ітерацію користувача.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.