Как мы определяем «вкус» будучи разработчиками? И можем ли мы развить вкус как навык?
Если ваш алгоритм хоть в чем-то похож на мой, то следующее утверждение покажется вам (возможно, до боли) знакомым: «В эпоху ИИ, когда любой может создать что угодно, именно вкус становится дифференциатором».
Эта мысль уже несколько месяцев повторяется в аналитических статьях, твитах, постах и различных проявлениях «линкедин-поэзии», и, пожалуй, вполне заслуженно. Она безусловно звучит как мощный околонаучный тезис или броский заголовок (я добавляю в эту кучу собственную статью, так что в этом определенно что-то есть). Прямо сейчас среди инженеров-программистов витает некий экзистенциальный страх (и я здесь далеко не исключение): если агент может писать код быстрее меня, лучше меня, дешевле меня или всё вместе взятое — что я могу предложить?
Конечно, на этот вопрос есть множество ответов: исторический контекст прошлых решений, принятых в кодовой базе; годы опыта создания программного обеспечения и извлеченные уроки прошлых ошибок; понимание того, когда предложение LLM не является правильным; более глубокое техническое понимание проблемы; осознание того, когда поиски зашли слишком далеко и нужно попробовать новый подход; эмпатия к пользователям; ваша человечность; ваше ремесло; ваша любовь; способность выйти на улицу и почувствовать ветер в лицо, и так далее и тому подобное. В последнее время этот сплав качеств свели к одному слову: вкус.
Вкус — это способность посмотреть на вещь и понять, хороша ли она. Технически вкус субъективен, но мы делаем вид, что это не так. Например, моя любовь к Мелу Бруксу и нежелание смотреть любые фильмы длиннее 90 минут заставляли многих людей на протяжении года заявлять, что у меня дурной вкус в кино. Правы ли они? Возможно, хотя мне хочется верить, что я компенсирую это своим превосходным вкусом в видеоиграх (исключительно пошаговые JRPG продолжительностью более 80 часов). Суть в том, что вкус одного человека — это безвкусица для другого.
Вкус также временен. То, что мы считали обладающим вкусом в 1999 году, отличается от того, что мы считаем таковым сегодня (единственное известное исключение из этого правила — электроника в полупрозрачных корпусах в стиле Apple iMac G3, в отношении которой все сходятся во мнении, что это было великолепно и должно производиться по сей день).
И все же есть определенные качества, которые поднимаются над общим шумом настолько, чтобы считаться общепринято хорошим вкусом. Что должно быть у вещи, чтобы она стала «хорошей»? Если единственное, что отделяет нашу работу от ИИ-халтуры, — это вкус, то нашей новой главной задачей как разработчиков должно стать понимание того, что это значит. Что делает вещь обладающей вкусом? Можно ли вообще дать определение вкусу? (Спонлер: я считаю, что да. Смелое ли это заявление? Тоже, пожалуй, да.)
Определение вкуса
Часто, когда вы спрашиваете кого-то, что такое вкус, вы получаете «Универсальный ответ™️»: «Я пойму это, когда увижу». Хотя это, пожалуй, и верно, это абсолютно бесполезно для любого, кто пытается развить собственный вкус или создать что-то изящное. Возможно, мы не сможем перечислить каждый отдельный аспект вкуса, но я верю, что можно выделить по крайней мере несколько. Вот моя попытка сформулировать то, что, по моему мнению, является пятью ключевыми аспектами качественной работы.
Внимание к деталям
Этот пункт потенциально может охватывать все остальные, поскольку хорошая работа в качестве предварительного условия требует внимания к деталям. Тем не менее, я считаю, что его стоит выделить, особенно учитывая, что это одна из вещей, с которыми ИИ справляется не слишком хорошо сам по себе. В конце концов, каково первое действие, которому нас всех научили при попытке определить, является ли изображение созданным ИИ или нет? Приблизить и рассмотреть детали.
У веб-сайта или приложения не будет тех же признаков, что и у произведения искусства, созданного ИИ (надеюсь), но доказательство обычно кроется в мелкой, детальной работе, в которой ИИ просто не силен. На изображении мы можем рассматривать такие вещи, как текст на вывесках на заднем плане. В интерфейсе мы смотрим на такие вещи, как использование одинаковых компонентов на разных страницах, читаемость текста кнопки при наведении мыши при изменении цвета фона, возможность навигации с клавиатуры и т.д.
Ключевой аспект вкуса — это последовательность. Когда мы смотрим на созданные ИИ веб-сайты, мы часто видим массу несоответствий — особенно в более крупных проектах, включающих работу, созданную несколькими разными разработчиками в течение долгого времени. Макеты и пользовательские сценарии меняются на разных страницах, иконки имеют разные размеры и толщину линий, поскольку они получены не из одного набора иконок, визуальный стиль не всегда точно соответствует руководству по бренду и т.д.
Мы также наблюдаем отсутствие вкуса, когда не учитываются пользователи, выходящие за рамки предполагаемого «среднего». Могут ли ваши пользователи осуществлять навигацию с клавиатуры, изменять размер текста, отменять случайно совершенные действия или приостанавливать и возобновлять различные процессы?
Все это примеры небольших, но крайне распространенных пользовательских задач, которые просто оказываются за пределами «счастливого пути» — того стандартного, предполагаемого пользовательского сценария, где люди делают всё идеально с первого раза (знаете, того самого, которого на самом деле не существует). Если вы не обращаете внимания на детали, они полностью выпадают из поля зрения, поскольку по своей природе не являются неотъемлемой частью основного пользовательского сценария. Вместо этого они возникают, когда пользователи отклоняются от этого сценария, что не менее — а то и более — важно.
Это лишь горсть примеров. На самом деле по всему веб-сайту или приложению разбросаны сотни крошечных деталей, которые могут как улучшить, так и испортить пользовательский опыт. Вкус заключается не только в готовности углубиться и уделять внимание этим мелким деталям, но и в осознании того, что они вообще существуют, и в понимании того, где их искать.
Выявление и решение реальной проблемы
Говоря о пользователях: какую реальную проблему ваше ПО решает для них? какую нишу на рынке оно заполняет? Что оно может сделать такого, чего не делает ни один другой продукт, или в чем оно превосходит уже существующие аналоги? Зачем пользователям тянуться к нему и когда оно им понадобится? Генерация с помощью ИИ расширяет возможности создания программного обеспечения, которое может делать что угодно, но важнее инструмента, гипотетически способного на всё, является инструмент, который действительно что-то делает.
Сейчас безумно легко попросить ИИ сделать копию уже существующего программного обеспечения (подробнее об этом в следующем разделе), но это потому, что когда мы даем запрос вроде «сделай копию Minecraft», нам не нужно уметь формулировать проблему, метод, цель и т. д. Мы просто говорим ИИ посмотреть на проблемы, которые другие люди уже решили, и дублировать решение.
Вкус — это способность распознать проблему, спроектировать решение и описать реализацию этого решения другим людям (и/или агентам). Если вы не можете четко сформулировать, что именно вы решаете, значит, вы просто гадаете — а ИИ в этом уже преуспел.
Отличное выполнение задачи
При всем при том, мало понимать проблему и решать ее. Нужно еще решить ее хорошо.
Недавний ИИ-клон пакета Adobe в последнее время не сходит с заголовков новостей, поскольку люди (в основном те, кому платят за написание провокационных заголовков) задаются вопросом, не пришел ли конец SaaS-программному обеспечению теперь, когда любой может с помощью промптов создать кастомный софт, который делает все, что душе угодно.
Как миллениал, я также являюсь экспертом в «убийстве» различных социальных норм и трендов (сетевых ресторанов, владения жильем и алмазной индустрии, среди прочего), по крайней мере, если верить заголовкам последнего десятилетия, что, как мне кажется, дает мне право комментировать эту недавнюю «смерть». Итак, вот мои «пять копеек»:
Клоны программного обеспечения существуют уже давно; ИИ может сделать их создание быстрее и дешевле, но этого недостаточно, чтобы заставить людей ими пользоваться. Если бы это было так, GIMP или Photopea уже много лет назад вытеснили бы Adobe, а Photoshop отправился бы в анналы истории дизайнерского софта вместе с Quark Xpress (помянем).
Так почему же они этого не сделали? Честно говоря, потому что они просто не так хороши: в них нет такого же полного набора функций, у них нет тех же интеграций и преимуществ, их пользовательский опыт сложнее, а сами они полны багов и несогласованностей. Конечно, они подходят для некоторых простых задач — я обращаюсь к Photopea, когда мне нужно быстро конвертировать файлы или выполнить простое редактирование, например, удалить фон, — но если мне нужно сделать сложный макет или серьезную правку, клоны (сгенерированные ИИ или нет) просто недостаточно хороши… и рынок с этим согласен.
Легко создать что-то, что справляется с задачей «нормально»; трудно создать то, что справляется с ней «отлично». Первый результат, который вы получите от ИИ, вероятно, будет «нормальным», но именно то, что вы добавите поверх этого результата, переводит его в разряд хорошего вкуса.
Вкус отражает способность сопереживать нашим пользователям и думать о том, как они на самом деле будут использовать программное обеспечение, а не только о том, как мы надеемся, что оно будет использоваться. Это позволяет нам выйти за рамки первого решения к инновациям, которые в конечном итоге выделяют продукт.
Хороший дизайн
Конечно, мы не можем говорить о вкусе, не упомянув визуальный дизайн. То, как что-то выглядит, — это, пожалуй, то, что мы больше всего ассоциируем с понятием вкуса: когда работа соответствует нашим предпочтениям (или более широким общественным предпочтениям), она становится «вкусной». Хотя визуальный дизайн — не единственный аспект вкуса, было бы ложью притворяться, что он не является частью уравнения.
Хороший дизайн поддерживает потребности пользователя, добавляя при этом элемент красоты в работу. Дизайн со вкусом может быть разным — провокационным, классическим, минималистичным, декоративным, каким угодно, — но самый важный аспект заключается в том, что он позволяет пользователю эффективно выполнять задачи. Как только ваш дизайн начинает мешать работе пользователя, он перестает быть «вкусным»; просто спросите Apple, что люди думали об их внедрении UI в стиле «Liquid Glass»/стекломорфизма в прошлом году.
Хорошая новость заключается в том, что дизайн интерфейсов — это навык, которому можно научиться. Если вам интересно развивать хороший дизайнерский вкус, сейчас доступно больше ресурсов для самообразования, чем когда-либо, включая (минутка наглой саморекламы) мою бесплатную электронную книгу «Основы дизайна для разработчиков». Достаточно сказать, что понимание визуальной иерархии, цветовых палитр, выбора шрифтов, баланса и т. д. даст вам явное преимущество при оценке работы, независимо от того, создана ли она ИИ или человеком.
Вкус — это способность создавать визуально прекрасные работы, которые не мешают людям, использующим их.
«Человеческий» подход
Из всех вещей, составляющих «вкус», эта, по общему признанию, обладает наибольшим je ne sais quoi. Что значит для чего-то казаться человеческим в эпоху ИИ? Возможно ли это вообще? Я бы сказал, что да, потому что дело не обязательно в том, был ли конечный продукт сгенерирован ИИ, а в том, был ли человек достаточно вовлечен в процесс идеи и создания, чтобы влиять на результат ИИ (и при необходимости переопределять его).
Мы допускаем некоторую степень несовершенства в обмен на знание того, что вещь была сделана вручную. Вещь ручной вязки будет объективно менее идеальной, чем фабричная, и это не только «нормально», но часто именно то, что мы ищем. Мазки кисти на картине не воспринимаются как недостаток по сравнению с принтом; форма сосуда, на которой видны отпечатки пальцев гончара, — это дизайнерская особенность. Иногда именно человеческие штрихи, которые уводят нас от статистического среднего, — это то, что мы ищем; те самые выбросы, которые создают интересную и уникальную работу.
Чтобы внести ясность: я не призываю добавлять в код «ремесленные» баги только ради того, чтобы доказать, что вы написали его вручную. Вместо этого я имею в виду небольшие штрихи, которые мы можем добавить, чтобы продемонстрировать индивидуальность создателя: забавные тексты, пасхалки, моменты радости. Игра с динозавром в Chrome при прерывании соединения. IMDb’s movie quotes 404 page. Взрыв цветов при досрочном возврате книги в приложении Libby.
Дело не в том, что ИИ не может создать эти вещи, а в том, что он не будет этого делать, если его специально не направит человек. Ни одна из этих вещей не является неотъемлемой частью функциональности программного обеспечения; ни одна из них не добавляет прорывную или определяющую продукт функцию. И все же они могли быть созданы только человеческим творцом, именно потому, что они не являются обязательными.
Продукты со вкусом — это отражение радости и творчества, которые вы вкладываете в свою работу.
Развитие вкуса
Если у вас нет вкуса, можно ли его развить? Ответ, конечно, да: вы просто должны быть готовы над этим работать.
Хорошая новость в том, что мы буквально весь день окружены интерфейсами и программным обеспечением. У вас, вероятно, уже есть какое-то мнение о них, так что теперь пришло время начать критически осмысливать эти мнения.
- Если есть программа, которой вы ненавидите пользоваться, составьте список причин. Запишите каждую задачу, которая вам не нравится, и точки трения, которые делают их выполнение трудными. Подумайте о способах, которыми вы бы улучшили ее, если бы были ее разработчиком.
- Если вы заходите на сайт и думаете: «Ого, как некрасиво», сделайте скриншот, обведите части, которые вам не нравятся, и объясните, почему. Слишком перегружено? Слишком ярко или слишком темно? Слишком скучно?
- Когда вы читаете текст и закатываете глаза, подумайте, какая его часть не нашла у вас отклика — звучало ли это пошло, фальшиво или снисходительно? Какие слова произвели на вас такое впечатление?
Начните внимательно следить за системами, с которыми вы работаете, и замечать свои реакции. На самом деле, уделите минуту или две, когда открываете новый сайт или приложение, и просто посмотрите на него — дайте себе время и пространство, чтобы отреагировать. Сохраняйте этот настрой, взаимодействуя с ним, и думайте о том, что вы чувствуете при его использовании.
Это также включает в себя внимание к моментам, когда всё идет хорошо. Хорошие продукты и опыт часто уходят на второй план (что, честно говоря, и является целью), поэтому старайтесь вести такие же заметки с наблюдениями, когда выполняете работу, которая кажется легкой, безболезненной или даже приятной. Для визуального дизайна можно завести альбом для вырезок, куда вы будете вклеивать понравившиеся элементы: интересные паттерны, удачные цветовые сочетания и т. д. То же самое можно делать на телефоне с цифровыми дизайнами: просто создайте фотоальбом или доску в Pinterest и начните собирать то, что вам нравится, как маленькая сорока, собирающая UI-диковинки.
Как только вы обретете эту осознанность, продвиньтесь немного дальше и начните задумываться о причинах. Почему, как вы думаете, дизайнер или разработчик сделал именно такой выбор? Каковы были преимущества и недостатки такого подхода? Если бы вы изменили одну вещь, что еще изменилось бы по принципу домино? Как этот элемент связан с более крупной системой? Каковы требования к поддержке этой реализации, и были бы они выше или ниже, если бы всё было сделано иначе? Когда я использую это, и думаю ли я, что другие пользователи используют это так же? Чем отличается опыт использования этого программного обеспечения на телефоне и на ноутбуке?
Вкус — это мышца, которую вы тренируете, регулярно взаимодействуя с объектом, критически осмысливая его, а затем формулируя свои выводы (даже если только для себя — хотя гораздо полезнее обсуждать это с другими, потому что они могли заметить то, о чем вы не подумали).
Понимание основ и способность выразить словами, почему вам нравится то, что нравится (и не нравится то, что не нравится), является неотъемлемой частью этого процесса. Заставьте себя выйти за рамки «мне просто нравится/не нравится» или «это было просто сложно/легко» и посмотрите, к чему вы сможете прийти. Делайте это снова и снова, пока это не станет вашей второй натурой и частью вашего опыта использования различных программ и систем. Возьмите за привычку замечать и формировать собственное мнение, а затем начинайте применять полученные знания в программном обеспечении, которое вы создаете.
Поздравляю, теперь у вас есть вкус. Используйте его с осторожностью; по всей видимости, это единственное, что (пока что) отличает вас от бездушных механизмов.












