Перезагрузка проекта

Проект Windows Longhorn был начат в мае 2001 года. Несмотря на прошедшее время разработки, система была сырая, и её выпуск уже не раз откладывается. То это был 2002, затем 2003, потом 2004, а выпустить систему всё никак не получалось.

Ни один из основных компонентов не был доведён до стадии готовности. Новые функции - проекты WinFS и Avalon не заменяли существующей инфраструктуры ОС, а ложились поверх неё.

Кроме прочего, помешало то, что в 2004 году, в свежевыпущенной Windows XP обнаружили 0day-уязвимость и для системы разрабатывался SP2 (пакет обновлений, который, по словам одного из разработчиков, несмотря на своё название, стал огромной затеей, которая высосала тысячи ресурсов из Longhorn) в создании которого приняла участие большая часть подразделения Windows.[1][2]

В апреле 2004 прошла ежегодная конференция WinHEC. На этой конференции Microsoft пользователям раздали сборку 4074. В ней присутствовал способ включения DWM (Desktop Window Manager) (Ранее DCE), что в сочетании с темой Jade дало прототип Windows Aero.

Вице-президент Microsoft, Джим Оллчин, решился на отчаянный шаг, он прямо заявил председателю совета директоров, Биллу Гейтсу, что разработчики не справляются, и что выйти система в 2004 году не сможет. Он предложил перезагрузить проект, взяв за основу стабильную версию ядра для корпоративных версий (т.е. Windows Server 2003, ядро Longhorn до сего момента было основано на RC (Release Candidate, кандидат в релизы) Windows Server 2003).[3]

После официального релиза Microsoft принимает решение переписать некоторую часть кода с нуля, что стало причиной появления сборки 4093 - последнего "чистого" Longhorn, который назывался Windows Longhorn Before Reset. Однако в нем остались основные проблемы всей серии Longhorn: нестабильность, тормоза и неработающий WinFS. Из-за этого Microsoft принимает решение "перезагрузить" проект.

Одной из причин перезагрузки стал, скорее всего, .NET Framework. .NET Framework был достаточно новым проектом, когда началась разработка Windows Longhorn. Первоначально преемник Longhorn, Blackcomb, должен был включать множество функций на основе .NET-кода, но позже было решено, что и Longhorn будет включать в себя функции на .NET. В основном, все визуальные элементы пользовательского интерфейса были написаны на .NET через новый Avalon API; Боковая панель, панель предварительного просмотра и т.д. Вскоре, стало ясно, что еще незрелая платформа .NET просто не справляется с управлением полноценного пользовательского интерфейса. Более того, зависимости между управляемым кодом .NET и неуправляемым кодом стали настолько сложными, что весь код стал неуправляемым. В конечном счете, Longhorn стал большой, громоздкой массой, которая стала шагом назад по сравнению с XP по надежности и безопасности.[4]

Система лабораторий сборок была переорганизована и переименована в **virtual build labs**. Были предприняты меры, чтобы убедиться, что заполненный ошибками код не может быть обратно интегрирован в основную ветку, которая теперь называлась winmain. Допустив определённое количество ошибок, сотрудник отстранялся от дальнейшей разработки.

Роберт Скобл, программист времен Longhorn, заявил, что после перезагрузки было запрещено писать в .NET. Весь новый код должен был быть написан на C ++.

В результате этого новые сборки начали выходить чаще, раньше это были несколько недель, а теперь это происходило каждую пару дней. Разработка пошла намного быстрее, и вот уже к лету 2005 года работа была почти завершена.

После этого был выпущен Windows Longhorn After Reset Build 5048 - Windows Vista Pre-beta.[5][6][7]

## Убранные функции

* Боковая панель с "titles" (заменена гаджетами)
* Мое оборудование
* WinFS
	+ Мои контакты
	+ Поиск
	+ Фильтр данных по определенным значениям
* Avalon
* Альбом
* Next Generation Secure Computing Base (NGSCB) (Palladium) (Часть наработок была использована в функции шифрования диска Bitlocker в Windows Vista и "Измеренной (Measured) загрузки" в Windows 8)
* WinFX
* Indigo
* Phodeo