Скругленные углы — они повсюду!
О том, как Стив Джобс изучал работу своих подчиненных под микроскопом, ходят легенды. Но вот совсем реальный случай, когда талантливая работа от «волшебного пинка» Стива превратилась гениальным творением, которое стало частью истории не только Apple.
Май 1981 года.
Рассказывает Энди Херцфельд.
Большую часть времени Билл Аткинсон работал дома, но как только он достигал каких-то весомых успехов — сразу спешил в Apple, чтобы кто-нибудь оценил его старания. В этот раз он пришел в офис проекта Macintosh, который располагался в «Башнях Тексако», чтобы показать свежие процедуры прорисовки овалов, созданные на основе реально хитрых алгоритмов.
Билл добавил новый код в программу QuickDraw (тогда она еще называлась LisaGraf), из-за чего процесс рисования овалов и кругов стал очень быстрым. На Макинтоше это было непростой задачей, поскольку математика кругов включала в себя операцию извлечения корня, а процессор 68000, на котором работали Lisa и Macintosh, не поддерживал операции с плавающей запятой. Однако Билл придумал хитрый способ обойти это ограничение, организовав вычисление геометрии круга только суммированием и вычитанием — даже обойдясь без умножения и деления, которые 68000 поддерживал, но выполнял довольно медленно.
В своей методике Билл использовал правило, согласно которому сумма нечетных чисел всегда приводила к идеальному квадрату (например, 1+3=4, 1+3+5=9, 1+2+5+7=16 и т. д.). Таким вот образом, путем циклического суммирования и дополнительного вычитания, он мог вычислять требуемые координаты. Эта, на первый взгляд, простая техника обеспечила очень быструю прорисовку овалов в QuickDraw.
Билл запустил свою демку и быстро — намного быстрее, чем вы думаете — заполнил экран Лизы овалами разной величины. Однако Стива Джобса что-то беспокоило.
— Ну, круги и овалы — это круто, — сказал Стив. — Но как ты нарисуешь прямоугольники со скругленными углами? Мы это тоже можем?
— Нет, для этого у нас нет способа, — ответил Билл. — Да и по правде это было бы очень трудно сделать, не думаю, что это нам нужно.
Думаю, Билл немного обиделся, что Стив не радовался быстрой прорисовке овалов, а хотел еще большего. Тем временем Стив пошел в наступление.
— Скругленные углы повсюду! Взгляни на эту комнату!
Конечно, там было много таких предметов: настенная доска, несколько столов и стульев. А затем Стив показал на окно:
— А теперь посмотри на улицу: там их еще больше, практически всюду, куда бы ты не глянул!
Стив даже убедил Билла пройтись с ним по ближайшему кварталу, показывая на каждый скругленный угол, который только попадался на глаза. Когда же им встретился на пути знак «парковка запрещена» со скругленными углами, фокус сработал.
— Ладно, сдаюсь, — сказал Билл. — Я проверю, так ли это сложно, как я думал.
И он ушел домой работать. В «Башни Тексако» Билл вернулся на следующий день с широкой улыбкой на лице. Его новая демка отрисовывала прямоугольники с идеально скругленными углами практически так же быстро, как простые прямоугольники. Добавив новый код в LisaGraf, новый примитив он назвал RoundRects. В течение следующих нескольких месяцев RoundRects окопались во многих частях пользовательского интерфейса и вскоре стали его неотъемлемой частью.
Энди Херцфельд — американский ученый и изобретатель, который с 1979 по 1984 год участвовал в разработке программного обеспечения для «Макинтош». После ухода из Apple в разные годы основал три компании, а в 2005 году пришел на работу в Google. Именно Херцфельд сыграл ключевую роль в разработке «кругов» социальной сети Google+.
Источник: Folklore.org.
Вас также может заинтересовать: apple iphone.