Например, иногда мы использовали эвристические правила, чтобы регулировать алгоритмы. В программе автоисправления клавиатуры алгоритм отклонения от схемы мог
Бывали случаи, когда мы соединяли алгоритмы и эвристические правила вместе. Выход эвристического правила часто оказывался входом для алгоритма, а результат работы алгоритма, в свою очередь, часто становился вводом данных для следующего эвристического правила. Например, свайп влево, чтобы увидеть следующую фотографию в приложении «Фото», начинается движением вашего пальца, указывающего, следует ли перейти к следующей фотографии или остаться на текущей (эвристическое правило). Далее применяется код анимации, чтобы передвинуть экран с фото в определенную геометрическую позицию, дабы в центре появилось другое изображение (алгоритм). Все это происходит с определенной скоростью, которая зависит от быстроты вашего свайпа (еще один алгоритм). Затем следует мягкая остановка фотографии, для чего используется тщательно разработанный отсчет времени анимации (эвристическое правило).
Вот что такое работа на перекрестке наук. Эти примеры должны объяснить, почему мы всегда делали так много демоверсий. Пример с движением фотографий особенно хорошо объясняет, почему вы не можете «быть инженером» своего продукта на одном этапе, а затем переключиться на «наглядность и восприятие» на другом. Часто было трудно решить, где должен кончаться алгоритм и начинаться эвристическое правило. Обычно для того, чтобы оценить все относящиеся к делу варианты, требовалось много прогонов дизайнерами и программистами. Лучшим способом было принимать небольшие, тщательно взвешенные решения, уменьшая всю сложность такого количества многокомпонентных и налагающихся друг на друга факторов. Это было словно пытаться сложить пазл, когда не совсем представляешь, какой должна получиться картинка в конце, а куски постоянно меняют форму. Никакие А/В-тесты не были возможны. Так как программное обеспечение изменялось от поколения к поколению, мы редко могли увидеть все последствия нашего выбора в одной конкретной демоверсии. Мы чувствовали, что должны какое-то время пожить с этим софтом, чтобы знать наверняка, чтобы понять, как ПО подходит к нашей повседневности, чтобы увидеть, как то, что мы сделали, работает по сравнению с первоначальной версией. Нашей целью было срежиссировать последовательность алгоритмов и эвристических правил, чтобы создать великолепный продукт, который вызывал бы улыбки на лицах людей и хорошо работал без суеты. В конце концов, дизайн — это то, как он работает.
Это медленный путь. Как сказал Стив во время презентации iPhone, ему пришлось ждать этого события два с половиной года.
В случае такого продукта, как iPhone, случается много пересечений, и некоторые из них имеют совершенно особенный характер.
На презентации устройства на Macworld, когда Стив впервые продемонстрировал iPhone, моя клавиатура пересеклась с миром.