«Писать книгу — это как мыть слона: трудно решить, с чего начать, и трудно понять, где слон уже вымыт, а где ещё нет».
Не знаю, кому принадлежит этот афоризм (поиск в интернете не дал результатов), но верность его я испытал на собственной шкуре. Это верно для книг и так же верно в отношении дизайна интерфейсов.
Все просто: слон большой, но и любой проект тоже большой. В нём много работы вообще и даже много разных видов работ. Нужно знать, что делать, когда делать, когда переставать это делать.
♦ Какую часть слона вы начнёте мыть первой?
♦ Когда сочтёте её чистой и перейдёте к следующей части?
♦ Как, собственно, убедить других, что слон уже вымыт (у них может быть и, по-видимому, действительно будет своё мнение по этому вопросу)?
Эти три вопроса порождают другие вопросы:
♦ Как определить чистоту слона?
♦ Какую степень чистоты можно считать достаточной?
♦ Каким КПД должна обладать ваша работа по мытью слона? И как этот КПД можно улучшить?
И ещё мириады других.
Так вот, на мой взгляд, процесс дизайна — это правильное задавание таких вопросов и поиск правильных ответов на них. Причем это не фигура речи — я давно убедился, что свободное творчество, не структурированное подобными вопросами, ужасающе непродуктивно. Чтобы ответить на эти вопросы, вам придется выбрать адекватный процесс и воспользоваться адекватными эвристиками. А поскольку в каждом конкретном проекте вопросов немного, трудно будет упустить что-то важное.
Хочу сразу отметить, что хотя слово «придется» выглядит угрожающе, ничего страшного в нем нет. В вопросах нет ничего исключительного. Если у вас есть понимание, что вы делаете и зачем, отвечать на них легко. А понимание, в свою очередь, получить несложно.
Я утверждаю, что если регулярно задавать самому себе по ходу проекта эти вопросы и максимально честно на них отвечать — вы сделаете хороший дизайн (в частности, интерфейс). Вопросы не дадут вам принять малоудачных проектных решений и заставят использовать правильный процесс.
Этим вопросам эта книга и посвящена. Она не может научить вас проектировать хорошие интерфейсы (и думаю, что ни одна книга этого не сможет), но зато научит оценивать их профессионально (а значит, и проектировать их), в частности:
♦ работать производительно, не совершая глупых ошибок
♦ ставить перед собой адекватные цели.
Эти навыки очень важны. Без них, к примеру, дизайнер может потратить большую часть времени проекта на улучшение незначимых свойств незначимых частей интерфейса, причем сделать это неприлично медленно; разругаться с заказчиком, но сохранять искреннюю веру в то, что всё было сделано правильно и что заказчик — придурок, ничего не понимающий в дизайне интерфейсов.
В начале моей карьеры всё это случалось и со мной, что было вредно как для нервов, так и для кошелька. Вам повезло — вы сможете научиться на чужом опыте.