Перестаньте портить своим дизайном мой идеальный код
О вреде чрезмерного внимания к деталям в ущерб представлению о целом. Программное обеспечение должно учитывать несовершенство реального мира, помогать в работе, а не быть работой.
Содержание
  1. Методы решения дизайн-задач, вместо суетливой беготни
  2. Реальный и цифровые миры
  3. Проверка гипотез нерепрезентативными выборками
  4. Действовать смело, но аккуратно

Отдельно и подробно останавливался на обязательных требованиях для эффективной работы над дизайном интерфейса в статье «Паттерны проектирования пользовательского взаимодействия».

Коллективная работа и потеря фокуса — две самые большие проблемы, с которыми можно бороться бесконечно. Иногда они приходят одновременно. Как можно планировать эволюционное развитие, а на другое, как правило, нужно много ресурсов, если вопросы микроэргономики и паттерны построения интерфейсов меняются ситуативно? Отдельно об этом я упоминал в заметке «Дизайн на основе данных (Data Driven Design)». Понятно, что логика обстоятельств сильнее логики намерений. Тем не менее нельзя полагаться на насмотренность и внимательность людей, не отвечающих за конечный результат и целостность пользовательского опыта, особенно на продолжительных временных промежутках.

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

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

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

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

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

  • Ограничения, заложенные в программу разработчиками. Несмотря на реалии нашей жизни, желание соблюсти формальный процесс, если повезёт, зафиксированный в виде технического задания. Моя любимая история. По форме правильно, а по сути издевательство над пользователем.
  • Неправильно выбранная технология, влияющая на множество характеристик, от микроэргономики до быстродействия и энерговоздействия на устройства ввода и вывода. Ну как тут не упомянуть веб-сервисы, предоставляющие общую среду разработки для дизайнеров? Задумка хорошая, только выбранные технологии не учитывают пользователей с ноутбуками, убивая своей оптимизацией всю их мобильность.
  • Формальный подход, выливающийся в политику компании. Все мы сталкивались с этой проблемой: изменения в пользовательских соглашениях в сотни страниц, умалчивание особенностей эксплуатации продукта, непрозрачное гарантийное обслуживание. Тут хочу отдельно передать большой привет компании BORK!
  • Специалисты по маркетингу и ловкачи из смежных областей, решившие, что они занимаются дизайном. В итоге у нас есть невероятно «полезные» и «умные» приложения и сервисы от создателей девятка яиц и почти литра молока, из которых вы можете, очевидно, легко приготовить почти блины.

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

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

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

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

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

Простые базовые паттерны для построения информационной архитектуры и типовые решения подобны разучиваемым движениям танца.
Простые базовые паттерны для построения информационной архитектуры и типовые решения подобны разучиваемым движениям танца.

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

Чем проще движение, чем чаще оно повторяется, тем бодрее идёт процесс разработки и обучения пользователя.
Чем проще движение, чем чаще оно повторяется, тем бодрее идёт процесс разработки продукта и процесс обучения пользователя.

Просто перестаньте так делать. Результаты, например, упомянутых выше коридорных исследований эффективнее всего используются в дискуссиях. Но дискуссии о дизайне должны быть между дизайнерами. Для понимания абсурдности ситуации, представьте на секунду, что доктор собирает консилиум из бухгалтера, юриста, программиста и кладовщика, для того, чтобы поставить диагноз. Бесспорно, каждый из этих специалистов в своём деле может иметь мнение о заболевании, но хотели бы вы быть на месте пациента?

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

BMW Brutus. Грубо, но эффектно!
BMW Brutus. Грубо, но эффектно!

Редуцирование, как подход, не всегда встречает широкое одобрение. Но только до того момента пока команда разработки не дойдёт до самостоятельно тестирования многократным прогоном основных сценариев. Да, возможно, местами решения будут выглядеть грубо, но скорость разработки и стоимость решений будет эффектной. Это фундамент. Да, всё состоит из мелочей, но важен приоритет. В конце концов, сколько лет потребовалось Apple, чтобы добавить обратную связь в форму активации подарочной карты iTunes, а Microsoft добавить в диалог замены файлов при копировании кнопку 'Yes to All'?

Если вам доводилось после переустановки Windows 98 добавлять несколько сотен шрифтов в системную папку Fonts, вы знакомы с радостным чувством от встречи с новым набором терминальных кнопок в свежей версии операционной системы.
Если вам доводилось после переустановки Windows 98 добавлять несколько сотен шрифтов в системную папку Fonts, вы знакомы с радостным чувством от встречи с новым набором терминальных кнопок в свежей версии операционной системы.

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

Лучшие дизайнерские решения обучают и работают с пользователем практически без интерфейса, без прямого взаимодействия или с минимальным его количеством. Например, Time Machine в macOS или Мой офис Текст. Любому мало-мальски знакомому с текстовыми редакторами пользователю эта программа предоставляет необходимый набор инструментов. Нет ничего лишнего, а достаточно хорошая оптимизация, позволяет, например, мне читать и редактировать документы шесть часов кряду на одном из моих, скажем прямо, не очень свежих ноутбуков для хобби и обучения. Поставил, открыл и приступил к работе без лишних усилий. Крайне редкое явление в наше время, хоть и с недостаточно контрастным интерфейсом, да простят меня разработчики за занудство.

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

Дальше надо бы написать незатейливую доку про информационную архитектуру, без воды и с пошаговыми объяснениями, но боюсь и до этого места доберутся далеко не все. Эта тема заслуживает отдельной работы, возможно, целой дизайн системы для широкого спектра устройств. Даже в серии статей такой объём информации (с примерами из реализованных проектов) доступно изложить не представляется возможным.

↑ Наверх


30 декабря, 2023
Пётр Лутов
Дизайн в разработке программного обеспечения