На московской конференции ReMIX корпорация Microsoft представила Web-разработчикам свои основные продукты для создания и активного использования ресурсов современной Глобальной сети. Выступая на конференции, генеральный директор Microsoft Стив Балмер наиболее удачным Internet-проектом корпорации назвал браузер Internet Explorer. Перед московской аудиторией выступил архитектор новой, восьмой версии этого продукта, наш соотечественник Алексей Могилевский, работающий в Microsoft с 1993 года. С ним побеседовала редактор журнала «Открытые системы» Наталья Дубова.
- Расскажите, пожалуйста, о своей карьере в Microsoft.
Я работаю в корпорации уже 15 лет. Первым проектом, в котором я принял участие в Microsoft, был Word for Windows 6. С тех пор мне приходилось работать в разных группах в компании, в том числе над компонентами Office, Windows. Фактически Internet Explorer 8 — это четвертая версия браузера Microsoft, в разработке которой я участвую. И мне кажется, что это самый интересный проект за всю мою жизнь. Думаю, нам будет чем гордиться, когда результат окажется в руках пользователей.
- Когда планируется окончательный релиз новой версии Internet Explorer?
Разработчики очень суеверные люди, поэтому мы не называем даты, пока вся работа действительно не закончена. Кто знает, что может случиться. Конечно, у нас есть определенные контрольные точки, но это закрытая информация.
- В чем состоит роль архитектора Internet Explorer 8?
На самом деле архитектор — очень неопределенная должность. Я занимаюсь технической деятельностью, работаю с группой программистов и сам пишу программы, а не только даю указания, что надо делать. Как архитектор, я должен хорошо понимать, как и что работает в программе, а единственный способ этого добиться — писать код самому.
- Как ведется разработка в компании, следуете ли вы какому-либо строгому процессу или все происходит достаточно свободно?
Microsoft настолько большая компания, что в ней можно найти множество разных процессов и методов разработки. В проектах, работа над которыми ведется не один год, складываются определенные традиции. Работая над восьмой версией Internet Explorer, мы берем лучшее из опыта разработки предшествующих семи версий. Однако, если не отвести целый день на рассказ о том, как строится разработка в нашей группе, то описание процесса сведется к самым обычным этапам. Мы сначала планируем, потом пишем программы, потом фиксируем "баги".
- А как вы относитесь к «скорым» (agile) методам?
Мы используем некоторые элементы «скорой» разработки, у нас в команде есть любители этих методик, но я не могу сказать, что весь наш процесс можно определить каким-то громким ключевым словом. Мы используем то, что работает, и меняем процесс, если в этом возникает необходимость. Главное — поставленная цель, а не способы ее достижения.
- Как бы вы охарактеризовали эволюцию браузеров от Microsoft?
Мы перестали заниматься разработкой браузеров примерно в 2001 году. Между шестой и седьмой версиями возникла пауза. Это были «темные» времена в Internet, и в Microsoft в какой-то момент решили, что новая версия браузера на данном этапе не так важна, и начали работу над другими проектами. Поэтому для новой версии Explorer была собрана совершенно новая команда. В ней оказалось очень мало людей из тех, кто работал над предыдущей версией, что в общем тоже способствовало определенному прогрессу. Эта же группа продолжает работать над Internet Explorer 8. Сейчас у нас очень хороший коллектив, способный эффективно конкурировать с разработчиками других браузеров.
- Какие новшества восьмой версии вы бы выделили?
Самое главное, чем мы занимаемся сейчас, это стандарты. Конечно, мои соратники, которые работают над скоростью и безопасностью нового браузера, наверное, расстроятся, услышав эти слова. Безусловно, есть и серьезные достижения в том, что касается повышения безопасности, надежности и быстродействия браузера, например, для увеличения скорости переписаны два важных компонента — "движок раскладки" (lay out engine), ответственный за разбор и форматирование текста на странице, и движок JavaScript. И все же самые большие вложения в этой версии были сделаны в стандарты. Технологии, которые легли в основу предыдущей, седьмой версии Internet Explorer, были созданы в прошлом тысячелетии, гораздо раньше, чем появились современные стандарты браузеров. А сейчас сформировалась критическая масса браузеров, построенных в точном соответствии новым популярным стандартам, поэтому мы тоже стремимся их реализовать. В результате в следующей версии Microsoft сможет уже расширять поддержку стандартов и создавать новые.
- Помимо поддержки конкурирующими браузерами, что еще послужило стимулом обратить пристальное внимание на стандарты?
Это пожелание и пользователей, и разработчиков. Сейчас очень легко принимать решения о том, что надо делать следующим этапом, достаточно почитать блоги.
- Какие ключевые стандарты будет поддерживать Internet Explorer 8?
Один из самых сложных и самых популярных стандартов для браузеров - каскадные таблицы стилей CSS. В Internet Explorer 8 мы должны обеспечить полную поддержку текущей версии этого стандарта - CSS 2.1. Следующая версия CSS 3 значительно расширяет предыдущую, включая в себя все возможные идеи о том, что еще можно сделать с Web-страницами. Эти идеи находятся в разной степени стабильности, поэтому, прежде чем их реализовать в продукте, необходимо стабилизировать стандарт. Я участвую в работе комитета консорциума W3C по этому стандарту и в свободное от программирования время помогаю создавать его новые версии, над реализацией которых мы будем работать в следующих версиях Internet Explorer.
- Сложно работать в W3C?
Очень интересно. Это дает возможность встречаться с ведущими программистами из конкурирующих с нами компаний. У меня есть друзья в группах разработки всех остальных браузеров. Кроме того, в комитете участвуют специалисты в данной области, не работающие ни в каких коммерческих проектах. В результате получается очень продуктивная техническая дискуссия по развитию стандарта.
- Как, на ваш взгляд, должны складываться взаимосвязи Microsoft с сообществом разработчиков Open Source?
Есть много разных определений Open Source. Если говорить об Open Source как сообществе, объединяющем множество людей, которые хотят внести технический вклад в развитие той или иной технологии, то именно этим мы и занимаемся, работая над стандартами. Если под Open Source понимать возможность дать другим людям посмотреть наш код для каких-либо целей, то этим мы тоже будем заниматься. Однако буквально поменять бизнес-модель на то, чем занимается Firefox, было бы, на мой взгляд, бессмысленно. Достаточно конкурировать в области технологий.
- А каковы основные преимущества Internet Explorer 8 по сравнению с другими известными браузерами?
Я бы предпочел, чтобы это определили пользователи. Мы пытаемся сделать лучшее, что можем, и в платформе, и в интерфейсе.
- Как организована обратная связь в процессе бета-тестирования новой версии?
Существует несколько видов результатов. Во-первых, ошибки, о которых нам сообщают пользователи, затем ошибки, информацию о которых мы получаем автоматически. Когда программа ломается, появляется кнопка «скажите об этом Microsoft». На нее надо обязательно нажать, потому что мы действительно отслеживаем все эти сообщения и исправляем ошибки в зависимости от частоты их возникновения. Такой способ обратной связи очень помогает нашей команде в работе. Кроме того, пользователи могут делать нам различные предложения по улучшению и изменению продукта, причем не только по бета-версии. Но, учитывая тот факт, что у Internet Explorer сотни миллионов пользователей, наша реакция зависит от типа ошибки: мы можем отреагировать практически на все автоматические сообщения об ошибках, на небольшое количество сообщений, присланных пользователями, и на совсем небольшое число предложений.
- Вы участвовали в различных проектах Microsoft. Какие из них кажутся вам по-настоящему прорывными c точки зрения развития пользовательских технологий?
Мне трудно сравнивать, поскольку я любил все проекты, в которых участвовал, я не могу работать над тем, что мне не нравится. Но, как я уже сказал, моя сегодняшняя работа кажется мне самой интересной из всего того, что я делал в Microsoft.
- Существует ли русская «диаспора» в Microsoft?
В Microsoft около тысячи русских. Существует онлайн-сообщество, внутренняя электронная почта с названием Rodina, с помощью которой все, кто подписан, могут получать полезную информацию. Большинство моих друзей в Microsoft говорят по-русски. Но собрать всех вместе уже трудно. Когда я пришел в компанию, то всех знал по имени. Тогда русских в Microsoft было человек двадцать.
- Насколько велика, по вашему мнению, роль российского образования в том, что вы и ряд ваших коллег смогли построить успешную карьеру в разработке самых массовых и успешных на рынке программных продуктов?
Возможно, это не тот ответ, которого вы ждете, но мне кажется, что некая «особость» российской системы образования — это скорее миф. Так же, как и русское гостеприимство. Я не видел ни одной национальности, которая не гордилась бы своим гостеприимством. В компании работает много хороших специалистов из России. Как мне кажется, определенные общие характеристики можно дать людям, получающим компьютерное образование в определенных странах. Например, в одной стране относятся к программированию более научно, в другой более технически, кто-то пишет много кода почти автоматически, другие сначала все тщательно продумывают, а потом делают правильную программу. Однако я не очень хочу расставлять такие штампы, потому что из всех правил есть исключения. И для того чтобы определить общие свойства специалистов из России, надо собрать очень много статистики, а так я просто приклею некие ярлыки, что будет с моей стороны безответственно.