Microsoft за всё время своего существования неоднократно пыталась выйти на рынок, отличный от компьютерного. И за всё время существования компании накопилось огромное количество проектов, которые сразу оказались неудачными или просуществовали недолго. Исключением стала разве что история с Xbox.
Надо заметить, что были и весьма интересные попытки. Например, с Windows CE. Эта операционная система очень напоминала самое известное творение Microsoft: Windows, но имела свои отличия. Предполагалось, что на этой мобильной ОС будет работать всё, кроме компьютеров. Windows CE просуществовала довольно долго, но в итоге эта ОС так и не получила широкой известности. Более того, она стала рассматриваться как угроза самой Windows.
Почему? Рассказываем.
Начало пути
Изучение рынка мобильных устройств компания Microsoft начала в 1990 году. Спустя два года компания официально объявила о начале работы над проектом Windows CE (Compact Edition / Compact Embedded). Разработка шла медленно: ОС создавалась отдельно от пользовательского интерфейса. Кроме того, Microsoft распыляла силы: на основе ранних наработок и уже существовавшей Windows 95 параллельно развивались сразу два проекта Pulsar и WinPad.
Проект WinPad должен был стать чем-то совершенно новым для пользователей, привыкших к стандартным средствам управления Windows. Чувствительные к нажатию экраны, распознавание рукописного текста и прочие возможности, не требующиеся при работе с настольным компьютером. В проект были вовлечены такие серьёзные компании, как Compaq, NEC, Motorola, Sharp. Ранние версии WinPad были включены в беты Windows 95 (тогда ещё Chicago) — чтобы синхронизировать устройства на её основе с «большими» компьютерами. В основе этой мобильной ОС лежала урезанная Windows 3.1, а запускаться она должна была прежде всего на устройствах с процессорами Intel Polar. Но довести проект до конца не удалось.
Причиной провала объявили недостаточную готовность существующей аппаратной базы. В то время 32-битные процессоры только начинали победное шествие в составе настольных компьютеров. О доступности мощностей в мобильных устройствах и речи не шло. Считается, что основной ошибкой была попытка использования кода Windows без существенной переработки. Возможно, компания надеялась на быстрое развитие аппаратных возможностей носимых устройств. В 1994 году проект закрыли.
В случае с Pulsar продвигалась концепция беспроводного, многофункционального устройства с простейшими функциями ввода (управление с помощью нескольких кнопок) и архитектурой, полностью отличающейся от настольного компьютера, вновь оказалась слишком новаторской. Оценив результаты исследований, Microsoft решила отказаться от идеи создания такого устройства.
Вопросу выхода на рынок мобильных устройств уделяли много внимания. Руководство Microsoft желало, чтобы компании и обычные пользователи воспринимали Windows как нечто вездесущее, а не просто ОС для компьютера. Своего рода экосистема Windows.
Маркетинговая идея Windows CE заключалась в том, чтобы «избавить пользователей от необходимости изучать совершенно новую парадигму». Заметим, что концепция портативного компьютера, который был как бы продолжением настольного ПК, была новой и непривычной для других производителей компьютерной техники того времени.
Мобильная ОС
Технические сложности и дороговизна производства стали поводом расформировать подразделения Pulsar и WinPad и создать новый проект: Pegasus. От первой разработки досталась неплохая аппаратная база, от второй — 32-битный код для RISC-процессоров. Работа закипела с новыми силами, и уже к 1995 году появились промежуточные версии Windows Pegasus. Код ОС писали с учётом особенностей архитектуры мобильных устройств. Существовали жёсткие ограничения по использованию определённой аппаратной базы, позволившие решить проблему энергопотребления, ставшую камнем преткновения для WinPad. Синхронизация данных с настольным компьютером проводилась с помощью отдельной программы H/PC Explorer.
Windows CE 1.0 была представлена 17-го сентября 1996-го года. Первые компьютеры, работавшие с ней, появились ближе к концу года. Windows CE фактически представляла собой урезанную версию Windows 95. Это было хорошо и плохо одновременно. Хорошо — потому что потребители получали привычную среду для работы. Плохо — потому что многие функции были неудобными или ненужными, а интерфейс — перегруженным.
Первая версия Windows CE представляла собой многозадачную, многопоточную и многоплатформенную ОС с поддержкой реального времени. Разработчикам было доступны около 600 компонентов, при использовании которых они могли создавать собственные образы операционной системы, которые включают только необходимую данному конкретному устройству функциональность.
ОС Windows CE изначально проектировалась так, чтобы она была совместимой с универсальными ОС семейства Windows. Поэтому ядро и компоненты первой версии ОС Windows CE были в большой степени унифицированы с ядром и компонентами настольных ОС семейства Windows NT.
Windows CE оптимизировали для устройств, имеющих минимальный объём памяти: ядро могло работать на 32 КБ памяти. С графическим интерфейсом (GWES) для работы Windows CE требовалось от 5 МБ. Устройства часто не имели дисковой памяти и конструировались как «закрытые» устройства, без возможности расширения пользователем (например, ОС могла быть «зашита» в ПЗУ).
Windows CE предоставляла разработчикам приложений набор API, основанный на стандартном Win32 API и дополненный специализированным API для встраиваемых устройств. Поскольку CE поддерживал только часть Win32 API и имела определённую специфику, связанную со встраиваемой природой ОС, приложения, написанные для настольных версий операционной системы Windows, могли требовать дополнительной адаптации и модификации для запуска их на встраиваемых устройствах. В любом случае для запуска программ на устройстве требовалась их перекомпиляция.
Надо сказать, что Windows CE была достаточно функциональной ОС, но весьма требовательной с точки зрения производительности аппаратной части. Чтобы реализовать всё в железе, Microsoft анонсировала платформу Palm-Size PC («Персональный компьютер размером с ладонь»). Аппаратная часть устройств строилась на базе RISC-процессоров с архитектурой SuperH (SH3) или MIPS.
Устройства Palm-size PC имели хороший дисплей с разрешением 320x240 пикселей. Интерфейс напоминал Windows для настольных ПК. Ну и в целом, в плане производительности, устройства Palm-size PC были лучше, чем устройства Palm OS. Однако производительность добавляла габаритов и веса. А ещё КПК на базе Windows CE стоили дороже, хотя уступали в плане автономности устройствам Palm.
Сотрудничество с Casio, Compaq, HP, LG Electronics (бывшая GoldStar), NEC и Philips позволило в кратчайшие сроки выпустить несколько различных устройств, таких, как HP 300LX, Philips Velo1, NEC MobilePro 400, Cassiopeia A10, Compaq C120, LG Phenom GP40M. В общей сложности компании удалось продать около полумиллиона устройств с Windows CE 1.
Этому способствовала внедрение ОС в торговое оборудование. Возможно, лет 5-10 назад вы обращали внимание на интерфейс кассового терминала или сканера штрих-кода, которые использовались в магазинах. Неуклюжие, иногда напоминающие пистолет устройства, работали под управлением Windows CE.
Несмотря на кажущиеся успехи Microsoft, вышедший примерно в то же время Palm Pilot пользовался намного большим успехом. Он был легче, да ещё и без клавиатуры. В Palm использовалась система распознавания рукописного ввода «Граффити». Вместо того, чтобы пытаться (и потерпеть неудачу из-за технических ограничений 1990-х годов) расшифровать настоящий почерк человека, «Граффити» заставил потребителей выучить упрощенный алфавит, где каждую букву можно было написать одним штрихом. Это не только сделало ввод текста надёжнее, но и позволило Palm создать компактное устройство с большим сенсорным экраном, мало чем отличающееся от современных телефонов.
Резкий контраст между тяжёлыми Windows-устройствами с неповоротливым интерфейсом и более «юзабельными» устройствами Palm привёл к тому, что только NEC и Casio использовали на своих устройства Windows CE, занимая чуть более 3% совокупной доли рынка. А Palm отгрузила более 360 000 устройств, захватив более половины рынка.
Пускай проигран бой, но не проиграна война
Проиграв Palm в первом сражении, компания Microsoft не сдавалась. Уже в 1997 году была опубликована версия Windows CE с порядковым номером 2 (с кодовым названием Mercury, что интересно, на официальном сайте Microsoft ведёт историю Windows CE только с версии 2.1 — Birch SP1). Такая поспешность подняла волну слухов о том, что первая версия Windows CE была не более чем бетой, а вторая отличается от неё лишь исправленными ошибками. Но в действительности ядро ОС претерпело большие изменения при переходе.
Список процессоров, на которых мог работать Windows CE 2.0, включал два десятка моделей, среди которых были Intel x86 (486, Pentium), NEC VR4x0x (MIPS), Hitachi SH3/SH4, AMD Elan SC400, IBM PPC 4036C, Motorola PowerPC 82x и другие. В действительности производители использовали только MIPS и SH3.
ОС умела работать с сетевыми адаптерами, модемами, VGA-экранами, разъёмами расширения с интерфейсом PCMCIA и CompactFlash, другой периферией. Заметные изменения претерпело комплектное ПО: появились Pocket Access и PowerPoint. На базе Windows CE 2.0 выпустили Casio E-10, Philips Nino 210/300, Everex Freestyle, Palmax PD-300 и ещё с десяток КПК, некоторые из которых работоспособны до сих пор.
С версией 2.10 появилась поддержка TCP/IP, файловой системы FAT32, fast infra-red (со скоростью передачи до четырёх Мбит/с), шины USB (только slave). Производители немедленно озаботились выпуском новых моделей: Casio Cassiopeia E-100, Compaq Aero 1530/21xx, HP Jornada 420/430SE, Philips Nino 500.
Обновление 2.11 для Handheld PC привнесло одну интересную возможность: работа на КПК с файлами Microsoft Word и Excel без дополнительных преобразований. Эта функциональность исчезнет из дальнейших выпусков ПО для Windows CE, но появится у основного конкурента — Palm OS (в виде Documents To Go).
Были интересные попытки сделать Windows CE востребованным на рынке. Например, в 1998 году Microsoft выпустила набор инструментов Windows CE для Dreamcast. Sega и Microsoft договорились, что Microsoft предоставит оптимизированную версию операционной системы Windows CE с интегрированными службами DirectX в качестве ОС для использования с Dreamcast.
Сотрудничество должно было позволить разработчикам использовать одни и те же инструменты и наборы инструкций для создания игр как для Windows, так и для Dreamcast. Однако из более чем 600 игр, официально созданных для Dreamcast, только 78 использовали вариант разработки игр Microsoft. Например, игра Tom Clancy's Rainbow Six, портированная на Dreamcast в мае 2000 года, не вышла на рынок из-за «недостатка опыта» у команды переноса и «проблем, связанных с использованием Windows CE».
Последним обновлением линейки 2.x стала версия 2.12. Ни одного устройства с поддержкой этой ОС не было выпущено — производители ждали смены первой цифры версии.
Работа над мобильной версией Windows велась совместно до 2000 года. В новом тысячелетии Windows CE стала настоящей мобильной платформой. Третья версия Windows CE под кодовым названием Cedar появилась в июне 2000 года, и именно она стала основой для платформ Pocket PC 2000/2002, Handheld PC 2000 и Smartphone 2002. В этих ОС разработчики реализовали основной набор программ для работы вне офиса, некоторые развлекательные приложения и модули беспроводных соединений. Важно подчеркнуть отличие ядра ОС Windows CE от определённого комплекта поставки, который может включать различные дополнения. Microsoft выпустила решения для клавиатурных (handheld) и бесклавиатурных (Pocket PC) устройств, а также автомобильный вариант (CE for Automotive, октябрь 2000). Список поддерживаемых архитектур процессоров сократился до ARM, SH3 и MIPS.
В дальнейшем на базе ядра Windows CE 3.0 компания Microsoft выпустила модификации Pocket PC 2002 (Merlin, октябрь 2001), CE for Automotive 3.0 (декабрь 2001), Smartphone 2002 (Stinger). Эти версии были работоспособны только на процессорах ARM-архитектуры (Intel StrongARM, Intel XScale). Развивать направление handheld корпорация не стала, посчитав эту область маловостребованной.
2003 год стал годом кардинальных перемен, Windows CE и разработки на её основе стали историей, и миру была представлена первая Windows Mobile. Помимо прежних функций в Windows Mobile 2003 появились L2TP/IPsec VPN, опция отправки SMS в ответ на вызов в Phone Edition, игра Jawbreaker, специальное приложение для просмотра, редактирования и пересылки картинок, а также была улучшена поддержка Bluetooth.
ОС, «размывающая» бренд
Windows CE могла работать на большом количестве устройств, в основном несовместимых друг с другом как на программном, так и на аппаратном уровне. Это было неплохо, но внутри Microsoft была предпринята попытка переосмыслить стратегию развития и вернуть Windows CE в первоначальное русло.
Один из руководителей Windows CE предложил оставить исходную систему для использования только в КПК, отказаться от других её разновидностей, а затем создать подразделение в Microsoft, которое работало бы над созданием специализированного встраиваемого ПО для мобильных телефонов. Гейтс отверг эту идею.
В 2000 году Microsoft выпустила обновлённую версию наладонника. Новая платформа, получившая название Pocket PC, лишилась нескольких концепций интерфейса рабочего стола, которые не имели смысла ни на маленьких экранах (например, панели задач), ни на любом устройстве, которое помещалось бы в карман (двойное касание для активации иконки). Внешний вид системы также был оптимизирован: исчезли лицевые панели и сглажены значки на панели инструментов. Визуально система по-прежнему вдохновлялась Windows, но ощущение того, что разработчики старались втиснуть как можно больше элементов рабочего стола в 3,5-дюймовый экран, было не таким явным, как раньше.
Выпуск Pocket PC в апреле 2000 года ознаменовал момент, когда Microsoft начала уводить бренд Windows CE из поля зрения потребителей. Платформа, а также её "родственник" Handheld PC 2000 и более поздний ответвление Smartphone 2002 по-прежнему основывались на Windows CE. Но устройства выпускались с другим названием: Microsoft Windows Powered Pocket PC.
Отказ от бренда Windows CE объяснили через неделю после запуска Pocket PC. Оказалось, что это было частью перестройки внутри Microsoft, когда подразделения, ответственные за Windows CE и встроенные версии настольной Windows, объединили в одну команду. Согласно пресс-релизу Microsoft, новый бренд «Windows Powered» должен был «упростить и унифицировать все встроенные и аппаратные решения Microsoft».
Опасения, что Windows CE «размывает» Microsoft, отчасти подкреплялись отзывами продавцов, которые жаловались, что люди хотят покупать не ноутбуки с обычной ОС Windows, а лёгкие, тонкие устройства с мгновенным включением — как КПК типа «H/PC», работавшие на Windows CE.
Windows не возвращался всерьёз к мобильным операционкам до 2005 года, когда платформы Pocket PC и смартфонов были частично объединены в «Windows Mobile». Название Windows Powered так и осталось малоизвестным. Лишь через пять лет появилось что-то сравнительно известное: ОС Windows Phone 7.
Финал истории
2012 год ознаменовал конец Windows CE как системы, с помощью которой Microsoft хотела бы создавать потребительские продукты. Windows Phone 8 получила то же ядро, что и десктопная Windows. Этот шаг приблизил компанию к видению, которое было в 1994 году и которое анонсировали вместе с первой версией Windows 10 в 2014 году: единая система, используемая на всём, от телефонов и ПК до консолей и IoT-устройств. Компания также выпустила урезанную версию Windows 10 для клиентов, которые по-прежнему использовали Windows CE на своих устройствах.
Так закончилась история Windows CE. Как вы считаете, это была хорошая попытка?
Использовались источники
Что ещё интересного есть в блоге Cloud4Y
→ Малоизвестный компьютер SWTPC 6800
→ Сделайте Linux похожим на Windows 95
→ Как не позволить техническому долгу одолеть вас
→ WD-40: средство, которое может почти всё
→ Игры для MS-DOS с открытым исходным кодом
Подписывайтесь на наш Telegram-канал, чтобы не пропустить очередную статью. Пишем только по делу.
Комментарии (18)
Ailuropoda_M
19.04.2022 10:46+5На текущий момент устройства на Windows CE 6.0 вполне себе живы и активно выпускаются.
stasus
21.04.2022 08:16Да, автор, как и многие путает встраивпемую ОС Windows CE с операционным системами для наладрнников, которые используют её ядро.
da-nie
19.04.2022 17:31Интересно, а в чём выполняется разработка для CE? Где взять SDK? Что у неё за API внутри? Такое же, как у обычной Windows?
megahertz
20.04.2022 01:04+1Win32 API частично совместим, также в последних версиях можно было на .NET писать
BoldDwarf
20.04.2022 10:57+3Внутри подмножество Win32 API.
Стандартные SDK публиковались МС, но это сферический конь в вакууме.
Реальный SDK строится тем, кто строит конкретную платформу и строится он прямо от готового платформенного билда.
Поскольку WinCE конфигурируется в широких пределах, результирующие SDK могут отличаться очень сильно.
Кроме того вендоры могут добавлять туда свои специфические вещи.
Подобный SDK ставится в VS (для WinCE7 это VS2008) версии не ниже Pro (ЕМНИП) у кого угодно и можно строить под платформу.
Если же речь о разработке самой платформы то с ней поставляется Platform Builder который плагин для VS (для WinCE7 это все та же VS2008) и в ней ведется разработка.
Есть отладчик ядра, вполне удобен, цепляется через serial или ethernet (смотря что целевая платформа поддерживает).
Есть Kernel Tracker - кардиограмма работы системы со всеми мутексами, эвентами, context switch, priority change/inversion и тому подобное, плюс туда можно свои вещи логировать.
Он есть в графическом виде или как простой лог; живой, post-mortem или on-demand.
Сильно помогает если надо понять почему таска зависла на 2 миллисекунды и кто виноват.
Преимуществом разработки является возможность разработки под Win32 для десктопа и с небольшими изменениями (и добавлением специфичных вещей) компилация под WinCE.
То есть большинство кода просто отлаживается для десктопа (быстро и удобно) и при этом уже не надо этот код отлаживать для тартега (хотя приколы иногда бывают).
BoldDwarf
20.04.2022 09:50+2Как то не до конца описана история.
Нет Windows Embedded Compact 7 (которая WinCE 7) и Windows Embedded Compact 2013 (которая WinCE 8).
Первая принесла поддержку многоядерности, вторая новый интерфейс и поддержку ARMv7 а еще там есть dotNET.
Обе системы вполне живы и используются во встройке.
Забыто то, что WinCE это система реального времени, что дает ей преимущества в определенных применениях.
Правда поддержка от МС для WinCE - лучше бы ее совсем не было чем такая как сейчас.
stasus
21.04.2022 08:18Потому что замешана в одну кучу встраиваемая система и система для мобильных устройств на основе её ядра.
v1000
Мне кажется, переход от CE к Windows Phone только ухудшил положение, потому что старые приложения переставали поддерживаться, а новые не успевали появляется. А без достаточного приложений особо не продвинешь саму ОС. Тем более когда развивались Андроид и иОС вместе с базой приложений для них.
saege5b
У ВинФонов была забавная логика: раз памяти мало, дохлый проц, никакой аккумулятор - давайте держать все запущенные програмы в оперативной памяти. Так типа, экономилось время запуска, при этом аппарат постоянно и регулярно начинал тупить и наглухо зависал.
В результате кнопка Резет, иногда уничтожалась до состояния дыры в плате.
mortadella372
Я возможно проявлял умеренность, но у меня от Люмии 820 очень приятное впечатление осталось. До сих пор жалею.
saege5b
Люмии это уже сильно позже :)
Веселье было в эпоху, когда народ упорно выяснял, что лучше: экран в 2.8 дюйма, или в 3.1? Или взять лопату в 3.5?
...А потом пришёл HTC HD2, и понеслось...
mortadella372
А что же это было до Люмий, WP7? не пересекся. WP8 было очень неплохо оптимизировано.
Или вы про "коммуникаторы" на 6.5?
saege5b
Windows Mobile 6.5 она самая :) перелицованая СЕ.
mortadella372
А. Так а вроде все версии CE так работали — загрузились с карты, и живем в ОЗУ?