cd_riper (cd_riper) wrote,
cd_riper
cd_riper

Category:

Windows Phone 7. Новая политика партии.

"И никто не вливает молодого вина в мехи ветхие"--
Христос в эпоху, когда не было программирования

"Developers! Developers! Developers!" --
он же, в постиндустриальную эпоху



Решил, наконец-то, отписать по теме новой мобильной ОС от любимой компании Microsoft.

Первый, и самый главный, вопрос, который нужно затронуть -- вопрос совместимости.
"В чем сила, брат?" -- о силе платформы я уже писал в этом блоге много-много раз. Единственная вещь, благодаря которой M$ сегодня есть тем, чем она является, называется Windows API. Сила любой платформы -- в количестве приложений под нее. Аминь.



Больше пяти лет назад Джоэл Спольски написал очень классную статью на тему, почему M$ проиграла "битву за API" (ссылку привожу, если кто-то случайно до сих пор ее не читал -- читать обязательно!). Статья эта была написана задолго до выхода большого FAIL'а под называнием Vista, но те проблемы, который принесет новый API в Longhorn (новое ядро ОС тогда называлась так) предрекались уже тогда. По факту -- так оно и оказалось.

Я по прежнему считаю, что главная проблема Vista не "глючность" или непомерные системные требования -- главная проблема это совместимость с существующим софтом, без проблем, работавшим в WinXP.

Когда, пару лет назад, я ставил на новенький ноут жены с Vista пару десятков мелких программ, разной степени полезности, более половина из них либо не установилась, либо работала с глюками и проблемами. И это были самые заурядные программы, не драйвера или монстрозный софт.

Кроме этого, Vista сломала совместимость одной коммерческой программы, в создании которой я участвовал. В новой ОС от M$ внезапно перестал работать старый добрый Interbase версии 6.x, который без проблем работал во всех мыслимых и немыслимых операционках любимой компании, начиная с Windows 95 и NT 4. Не говоря уже о появившихся досадных проблемах, навроде сломанной справки в формате hlp. Да, это устаревшее решение, но в мире существует огромное число давно не поддерживаемых программ, у которых справка сделана в этом формате. И есть десятки тысяч пользователей этих программ. С какого х$я они должны остаться без справки? Из-за прихоти компании Microsoft, которая не вложила в дистрибутив один exe файл, размером в 300k? Первый MPEG тоже старый формат, так что, давайте уберем его поддержку из всех существующих плееров?

И еще раз. Есть много, очень много старых, как гавно мамонта, программ под Windows -- от этих программ уже давно потеряны исходники, их авторы уже давно умерли, но есть множество людей, которые каждый день в своей работе используют эти программы. И они счастливы. И именно в этих людях, и в этих программах, сила платформы от Microsoft.
Поэтому когда сегодня ты выпускаешь ОС, в которой перестают работать тысячи существующих программ, ты наносишь самому себе непоправимый урон. И кроме этого, ты наносишь урон по пользователям твоей ОС, по разработчикам для твоей ОС, которые вместо того, чтобы сделать что-то действительно полезное, вынуждены тратить кучу сил и нервов на выяснение вопроса -- почему их программа вдруг перестала работать.
Ты подрываешь веру в свою платформу. И полный дурак тот, кто этого не понимает таких простых вещей.

ОС это вторичная штука. Она нужна лишь для запуска полезных программ. Если нужная для тебя программа не работает в новой ОС, то на хрена тебе такая ОС нужна?
Именно поэтому Vista это полный FAIL. Именно поэтому было столько желающих сделать любой ценой downgrade с Vista на старый-добрый WinXP.

А как же Windows 7?
Относительный успех этой ОС на рынке мало связан с тем, что она чуть быстрее Vista. Или имеет несколько улучшенный интерфейс. Главный фактор -- очень правильная PR компания, которая началась задолго до выхода семерки.
А проблемы у Win7 все те же. Относительно недавно коллега по работе пытался себе поставить это чудо на рабочий компьютер. Неделю рыл интернет в поисках дров для нашего сетевого принтера Panasonic и занимался анальным сексом с WinXP в виртуалке. После всего -- плюнул и снес.
Нет жизни на Марсе.

Но вернемся к нашим баранам -- к проблеме совместимости. Как правильно писал Спольски "Microsoft утратила религию обратной совместимости". Был нарушен фундаментальный принцип успеха компании, и на примере Vista мы хорошо увидели как дорого стоит такая ошибка.

Но, выводов никто не сделал, шагание по граблям продолжается -- Windows Phone 7 aka Windows Mobile 7.
Никакой совместимости со старым Windows Mobile. Не слишком ли дорогая жертва -- просто так, за здорово живешь, хоронить платформу, которая, не смотря на очень жесткую конкуренцию, по прежнему является лидером по количеству и качеству сторонних приложений?
Да, очевидно, что сегодня Windows API выглядит архаично, но ведь никому не пришла в голову светлая мысль выкинуть его из Vista/Win7, ведь правда? Это огромный задел, которым в своей новой мобильной ОС M$ жертвует, не моргнув глазом. А ради чего? Ради того, чтобы выйти через год с ОС, написанной с нуля, которая уже на данный момент отстает от iPhone OS на три года, а от Android на два. Чем M$ будет закрывать этот огромный разрыв, это отставание?

Это ведь самое простое решение -- выбросить все в мусорную корзину и начать с нуля. Но сильная компания тем и сильна, что может качественно решить сложную техническую задачу. Например, создать 32-х разрядную ОС с хорошей совместимостью с Win16 API и MS-DOS. Не пойди M$ тогда по этому пути, не сидели ли бы мы с вами сегодня под OS/2, а Microsoft была бы маленькой компанией, разрабатывающей всякие бейсики?

С совместимостью разобрались, теперь следующий вопрос. Что будет представлять из себя новая платформа для разработчиков.
Официальный SDK пока что не был представлен, поэтому сейчас я опираюсь, в основном, на различные слухи, правда, очень, очень похожие, на печальную правду.

Итак. Никакого Outlook + ActiveSync, про Compact Framework забудьте, никакой многозадачности для сторонних приложений, никакого native кода, никакого реестра и файловой системы (только per applcation storage), никаких вольных установок и cab файлов -- только через магазин, цензуру и сертификацию. И конечно -- никаких глубоких надстроек, вроде подмены PIM, звонилки или главного меню. Да, и copy-paste пользователям, конечно же, тоже не нужен.
Очень, очень конструктивное копирование идей Apple.

Выглядит все это так, что Windows Mobile, из самой открытой платформы для сторонних разработчиков, превращается в самую кастрированную и зарытую.
Сильный ход!

Нужна ли здесь критика? Судите сами -- современный "телефон" по характеристикам это ноутбук N летней давности. Устройство мощное, с очень большими возможностями. Для такого устройства нужны большие и сложные программы, и разработчик платформы их единолично не вытянет. И в тот момент, когда некоторые, вроде Nokia, приводят в мобильный мир девайсы, для которых, с минимальными усилиями, можно портировать взрослые программы из мира Linux, Microsoft создается убогую песочнику для авторов свистелок и перделок за $0.99.
Вот вы, например, верите в то, что M$ в состоянии создать качественный браузер для мобильного телефона?...

Резюмируя.
Фактически это тот самый конец Windows Mobile, о котором нам так долго рассказывали всякие оналитеги.
M$ теряет всю силу своей текущей платформы, и выступает в роли аутсайдера, который вступает в гонку с отставанием в три-четыре года от своих конкурентов. Получится ли у них что-то хорошее?
Совсем не уверен. Больше похоже на то, что мы видим очередной "успешный" проект, навроде Zune.

И еще. Идеи и подход Apple начинают править миром. Может кому-то и нравиться, но лично мне -- нет.

Как Microsoft проиграла битву за API -- http://russian.joelonsoftware.com/Articles/HowMicrosoftLosttheWaronA.html
Tags: mobile, programming
Subscribe

  • Про API

    Евгений Кирпичев затронул тему, о которой рано или поздно задумывается любой мало-мальски опытный программист -- тему о том, должен ли быть доступ к…

  • Судьба

    Советский Союз, хоть и вышел первым в космос, был крайне отсталым государством в IT отрасли -- в свое время было принято решение ни хрена самим не…

  • Загрузочное

    В этой заметке хочу написать об околозагрузочных вещах, которые мы делали в рамках нашего проекта на основе камня от Analog Devices BF-537 (семейство…

  • Post a new comment

    Error

    Comments allowed for friends only

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 33 comments

  • Про API

    Евгений Кирпичев затронул тему, о которой рано или поздно задумывается любой мало-мальски опытный программист -- тему о том, должен ли быть доступ к…

  • Судьба

    Советский Союз, хоть и вышел первым в космос, был крайне отсталым государством в IT отрасли -- в свое время было принято решение ни хрена самим не…

  • Загрузочное

    В этой заметке хочу написать об околозагрузочных вещах, которые мы делали в рамках нашего проекта на основе камня от Analog Devices BF-537 (семейство…