Ричард знал. Его демоверсия была переломным моментом. Он показал нам, что веб-браузер Konqueror может работать на Macintosh. Он обошел острые углы, чтобы подчеркнуть потенциальные возможности этого кода. Конечно, достижение Ричарда стало возможно благодаря его великолепной программной оболочке, но только представьте себе, какую концептуальную модель он построил вокруг своего плана и как обошел все трудности создания демоверсии браузера, что лишь одна часть его программы — оболочка — оказалась нужна, чтобы замкнуть круг. Итоговый результат создавал полную иллюзию настоящего браузера, хотя и был его недоделанной частью.
И он работал. Когда мы с Доном увидели эту демоверсию, нам показалось, что Ричард пригласил нас в свой кабинет, поставил на стол магический кристалл, поводил вокруг него руками и показал будущее нашего проекта, причем этот вариант указывал путь, которым можно воплотить видение в реальность.
Также демоверсия Ричарда преподала нам несколько важных уроков, и, чтобы рассказать о них, я обращусь за примерами к области, имеющей долгую историю применения упрощений и обхода острых углов — некоторых из тех трюков, которые Ричард использовал при создании своей демоверсии так, чтобы мы увидели то, чего на самом деле не было.
Возьмем натурные съемочные площадки в Голливуде, полупостоянные участки, находящиеся в собственности у студий и изображающие улицы и переулки, которые киношники используют в качестве фона для своих картин. В давние времена, до того, как сделанные на компьютере спецэффекты вытеснили дорогие съемки на местности, натурные площадки были самым важным элементом создания фильма. Даже при самом ограниченном бюджете такая площадка могла полностью изменить всю сцену. Тем не менее, для того чтобы иллюзия того, что происходит с киногероями, была убедительной, мы должны увидеть на экране что-то, что действительно очень похоже на реальность.
Одна из моих любимых натурных сцен — это площадка из «Поющих под дождем», мюзикла 1952 года, выпущенного компанией Metro-Goldwyn-Mayer, с Джином Келли и Дебби Рейнольдс в главных ролях. Рассмотрим заглавный танцевальный номер фильма, где Джин Келли после того, как поцеловал Дебби Рейнольдс, желая ей спокойной ночи на крыльце ее дома, с ликованием отбивает чечетку, прыгает, приземляется в воду и кружится под проливным дождем. Эта сцена поставлена на голливудской натурной площадке, изображающей городскую улицу. Сразу после того, как Келли окатил бурный поток воды из водосточной трубы, спускающейся с крыши одного из «зданий», мимо которых он движется в танце, актер минует магазин женских головных уборов La Valle — соблазнительно выглядящую витрину с выставленными в ней модными женскими шляпками. Конечно, этот магазин не был настоящим. Витрина могла быть плоской фанерой, за которой ничего не было, или за дверью «магазина» мог скрываться обычный студийный кабинет, где, возможно, сидел бухгалтер или клерк MGM. Нам это неважно. Мы слишком очарованы танцами и пением. Сравните этот фальшивый магазин шляп с еще одним предметом реквизита, который мы видели раньше, когда Келли запрыгивал на фонарный столб на краю тротуара. В отличие от магазина шляп этот фонарный столб должен быть реальным или, по крайней мере, достаточно реальным, чтобы выдержать вес актера. А что насчет остальных фонарных столбов на площадке? Мы не знаем, но, опять же, нам это не важно. Может быть, они настоящие, а возможно, и нет, но декораторы должны быть уверены в том, что один определенный фонарный столб достаточно прочен, чтобы главный герой фильма запрыгнул на него. Он должен быть хорошо сделан, потому что этого требует танец.
Точно так же демоверсии программ должны быть достаточно убедительны для того, чтобы оценить идею, запланировать этапы для разработки продукта, хотя сама по себе демоверсия продуктом не является. Как и фильмы, демоверсии должны быть тщательно срежиссированы, поэтому понятно, что в них следует включить, а чем можно пренебречь. Те вещи, которые не являются главной целью демоверсии, но необходимы, чтобы создать правильные параметры настройки, должны быть реализованы с надлежащим уровнем детализации, чтобы они дополняли целое.