суббота, марта 03, 2012

Windows 8 Camp

Коротенько опишу, что интересного рассказали на Windows 8 Camp, который прошел вчера в Москве.
Материалов конференции еще нет в интернете, поэтому все свои рассказы я могу проиллюстрировать только вот этим страшненьким слайдом, найденным неизвестно где:

С точки зрения программиста, в Windows 8 появилась Метро-надстройка над ядром операционной системы. Для пользователя - это новый Метро интерфейс, который выглядит как на Windows Phone. А для программиста - это все, что закрашено зеленым цветом на слайде.
Все программы для Windows теперь делятся на два больших класса. Первый класс - это обычные Win32 программы  - это все то что может работать на текущих версиях Windows, включая .Net приложения. Тут все без изменения. Второй класс - это метро-программы. Метро-программы могут выполняться только на Windows 8.  Далее будем говорить именно о них.

Основу всей Метро-надстройки составляет Windows RunTime API, или кратко WinRT. В задачи WinRT входит предоставить унифицированный интерфейс доступа к системным ресурсам для различных типов метро-приложений (всего таких типов три, но об этом позже). Почему это важно? Потому что метро-программы работают в полностью изолированном режиме, и как следствие не имеют доступа ни к Win32 API, ни к более низкоуровневым интерфейсам, тем более. Межпроцессное взаимодействие возможно только через так называемые "контракты", которые также являются частью WinRT. Зато WinRT предоставляет большое количество удобных API для доступа к различной периферии и сенсорам (камера, тачскрин, гироскоп,. компас, GPS и т.д.).  Интересно, что практически весь API WinRT выполнен в асинхронном стиле.
Изменился и сам жизненный цикл приложений. Активным может быть только одно приложение. Все фоновые приложения пребывают в suspended состоянии. Если у системы намечается дефицит ресурсов, то она самостоятельно начинает выгружать suspended приложения. Зачем это надо? Правильно, для экономии энергии, ведь Windows 8 будет работать и на планшетах. Следствие изменения жизненного цикла приложений - совершенно иной подход к организации выполнения всяческих фоновых задач. Для этого появилось множество фич, похожих на то что есть в Windows Phone.
В целом, Метро-надстройка в Windows 8, это не просто перенос из Windows Phone в "большую Windows" метро-дизайна  UI, но и перенос многих архитектурных наработок из мира мобильных OS в мир настольных OS.

Теперь что касается разработки. Тут все здорово.
Как видно из диаграммы, разрабатывать метро-приложения можно на С++, на .Net, и на HTMP5 + CSS3 + JavaScript. Причем в случае использования С++ мы получаем нативный код. Для разработки UI у нас есть выбор из XAML,  HTML5 и DirectX. Насколько я понял, для С++ доступен как XAML так и DirectX, для .Net - только XAML, а для JavaSscript только HTML (могу ошибаться, инфы было маловато).   Замечательно также то, что можно создавать компоненты на С++ или .Net и использовать их в любых приложениях в т.ч. на JavaScript.
HTML5 приложения для Windows8 - это вообще бомба! Во-первых, это отличная возможность для разработки кросс-платформенных приложений, работающих например, на Android, iOS и Windows. Во-вторых, HTML5 на Windows8 это полноценные приложения, имеющие полный доступ к WinRT. Причем, как я уже упоминал ранее, отдельные компоненты такого приложения вполне могут быть написаны на С++.
Интересный факт, на Windows8Camp, представитель разработчиков популярной игры Cut The Rope сказал, что портирование HTML5 версии игры на Windows8 заняло у них две недели. Причем ни одной строки кода в самой игре править не пришлось.

Среду разработки метро-приложений на C++, .Net и HTML5 представляет Visual Studio 11, бета версию которой уже можно загрузить и попробовать. Я советую сделать это всем, и как можно скорее. Поверьте, уже очень скоро на рынке появится очень большая потребность в разработчиках метро-приложений. Хотите узнать почему? В Windows 8 появилась одна интересная штука - магазин приложений Windows Store (да-да, привет Apple, не прошло и трех лет :). Но это не все, есть еще несколько интересных фактов.

  • Метро-приложения можно устанавливать только через Windows Store, больше никак. 
  • Из коробки в Windows 8 будет только два приложения: Windows Store и Internet Explorer.
  • Windows 8 будет работать не только на WIntel дектопах, на которых она рано или поздно заменит Windows 7, но и на ARM планшетах, нетбуках и ноутбуках.

Что у нас получается? Эффект AppStore, который предоставляет огромному числу индивидуальных разработчиков возможность заработать на своих программах, помноженный на самую большую в мире потенциальную аудиторию пользователей. Так что, мой совет, всем осваивать WinRT! Россия будет в числе 20 стран, для которых в Windows Store будут возможны расчеты в национальной валюте.

Подведем итоги.
Можно констатировать, что в мире Windows, восьмерка - это самое кардинальное обновление со времен появления NT. И Windows разработчиков в связи с этим фактом ждут самые радикальные перемены, вполне, впрочем, приятные. Дотнетчики будут востребованы как и прежде. Для C++ников открываются новые замечательные перспективы (в т.ч. и в геймдеве под Метро). Ну, а спрос JavaScript специалистов будет расти с страшной силой.
Дерзайте.
     

среда, февраля 22, 2012

Умный ридер

Я люблю читать новости, и я слежу за новостями.
Для этого я использую iGoogle, Google Reader а на мобильном телефоне- айСтрим. Было бы странно, если бы  я использовал другой ридер, потому что айСтрим придумал я сам :)
Так вот, он оперативно доставляет мне новости, и я вполне доволен им, но есть одна проблема.
В айСтриме у меня постоянно висит 100 - 200 - 300 непрочитанных новостей. Я отписываюсь от одних каналов, обнаружив что практически ни читаю их, и подписываюсь обратно, когда вижу что пропустил что-то важное. Но проблема остается.
Новостей слишком много, большинство из них мне не интересно, а самые интересные проходят мимо меня.
Так вот, сейчас мы начали работать над этой проблемой. Я хочу сделать такой ридер, который избавит меня от потоков бесполезной информации, и в тоже время, выловит в этих потоках крупицы того, что мне действительно интересно. Умный ридер будет анализировать, что я читаю, как и сколько я читаю. Эту информацию он будет использовать для обучения и предсказания (предвидения) того, что мне может быть интересно.
Да, я знаю, что такие системы уже есть, Zite например. Я много интересовался этими вопросами в последнее время, и могу назвать еще несколько примеров. Будем считать, для простоты, что мы делаем русский Zite, потому что ни один из персонализированных ридеров не поддерживает русскоязычный контент. И это не все. Есть еще ряд проблем, которые хотелось бы решить. Одна из них  - социальное ранжирование новостей. Мы хотим научиться ранжировать ссылки, используя для этого социальные графы соцсетей (тафталогия какая, но пока не знаю как сказать лучше).
Пока же, мы сосредоточились на решении задачи фильтрации контента на основе содержания и предпочтений пользователя. Задача не из простых, но ужасно интересная.
У нового проекта пока даже нет названия. Возможно, это будет следующая версия айСтрима, а может быть совсем новый продукт. Надеюсь, нам хватит сил и средств довести это дело до практического результата.
Как вы думаете, насколько эта тема будет востребована?
         

среда, февраля 08, 2012

Статистика.

Не помню, кто сказал: "Есть правда, есть ложь, а есть статистика".
Опубликовали приложение на Windows Marketplace. Статистика показывает 8 загрузок, и 12 отзывов. Это при том, что пользователь может сделать только один отзыв, ну и отзывы оставляет далеко не каждый.
Статистика, такая статистика.  

воскресенье, декабря 18, 2011

Продолжим?

Ох, давненько я сюда не заглядывал...
Но теперь, я надеюсь, у меня появятся новые темы для этого блога. Подобно многим, я покинул большую компанию для того, чтобы поучаствовать в стартапе. Моя новая область деятельности мобильные технологии, вернее софт для мобильных платформ. Должность - СТО, а круг обязанностей просто необъятен. Буду стараться выкраивать время для того, чтобы писать сюда.
До встречи.  

четверг, октября 06, 2011

Мечта одного человека может изменить целый мир

Сегодня ушел Стив Джобс.
Я всегда черпал вдохновение в этом выдающемся человеке. И сегодня, я думаю, такой момент, чтобы еще раз перечитать его замечательную речь перед выпускниками Стэнфорда 2005 года. Сегодня она звучит как напутствие, нам оставшимся, от человека, который сумел изменить мир.


Речь Стива Джобса перед выпускниками Cтэнфорда
Перевод (C) Дмитрий Честных.

“Для меня большая честь быть с вами сегодня на вручении дипломов одного из самых лучших университетов мира. Я не оканчивал институтов. Сегодня я хочу рассказать вам три истории из моей жизни. И всё. Ничего грандиозного. Просто три истории.

Первая история – о соединении точек.

Я бросил Reed College после первых 6 месяцев обучения, но оставался там в качестве “гостя” ещё около 18 месяцев, пока наконец не ушёл. Почему же я бросил учёбу?

Всё началось ещё до моего рождения. Моя биологическая мать была молодой, незамужней аспиранткой и решила отдать меня на усыновление. Она настаивала на том, чтобы меня усыновили люди с высшем образованием, поэтому мне было суждено быть усыновлённым юристом и его женой. Правда, за минуту до того, как я вылез на свет, они решили, что хотят девочку. Поэтому им позвонили ночью и спросили: “Неожиданно родился мальчик. Вы хотите его?”. Они сказали: “Конечно”. Потом моя биологическая мать узнала, что моя приёмная мать – не выпускница колледжа, а мой отец никогда не был выпускником школы. Она отказалась подписать бумаги об усыновлении. И только несколько месяцев спустя всё же уступила, когда мои родители пообещали ей, что я обязательно пойду в колледж.

И 17 лет спустя я пошёл. Но я наивно выбрал колледж, который был почти таким же дорогим, как и Стэнфорд, и все накопления моих родителей были потрачены на подготовку к нему. Через шесть месяцев, я не видел смысла моего обучения. Я не знал, что я хочу делать в своей жизни, и не понимал, как колледж поможет мне это осознать. И вот, я просто тратил деньги родителей, которые они копили всю жизнь. Поэтому я решил бросить колледж и поверить, что всё будет хорошо. Я был поначалу напуган, но, оглядываясь сейчас назад, понимаю, что это было моим лучшим решением за всю жизнь. В ту минуту, когда я бросил колледж, я мог перестать говорить о том, что требуемые уроки мне не интересны и посещать те, которые казались интересными.

Не всё было так романтично. У меня не было комнаты в общаге, поэтому я спал на полу в комнатах друзей, я сдавал бутылки Колы по 5 центов, чтобы купить еду и ходил за 7 миль через весь город каждый воскресный вечер, чтобы раз в неделю нормально поесть в храме кришнаитов. Мне он нравился. И много из того, с чем я сталкивался, следуя своему любопытству и интуиции, оказалось позже бесценным.

Вот вам пример:
Reed College всегда предлагал лучшие уроки по каллиграфии. По всему кампусу каждый постер, каждая метка были написаны каллиграфическим почерком от руки. Так как я отчислился и не брал обычных уроков, я записался на уроки по каллиграфии. Я узнал о serif и sans serif, о разных отступах между комбинациями букв, о том, что делает прекрасную типографику прекрасной. Она была красивой, историчной, мастерски утонченной до такой степени, что наука этого не смогла бы понять.

Ничто из этого не казалось полезным для моей жизни. Но десять лет спустя, когда мы разрабатывали первый Макинтош, всё это пригодилось. И Мак стал первым компьютером с красивой типографикой. Если бы я не записался на тот курс в колледже, у Мака никогда бы не было несколько гарнитур и пропорциональных шрифтов. Ну а так как Windows просто сдули это с Мака, скорее всего, у персональных компьютеров вообще бы их не было. Если бы я не отчислился, я бы никогда не записался на тот курс каллиграфии и у компьютеров не было бы такой изумительной типографики, как сейчас.

Конечно, нельзя было соединить все точки воедино тогда, когда я был в колледже. Но через десять лет всё стало очень, очень ясно.

Ещё раз: вы не можете соединить точки, смотря вперёд; вы можете соединить их только оглядываясь в прошлое. Поэтому вам придётся довериться тем точкам, которые вы как-нибудь свяжете в будущем. Вам придётся на что-то положиться: на свой характер, судьбу, жизнь, карму – что угодно. Такой подход никогда не подводил меня и он изменил мою жизнь.


Моя вторая история – о любви и потере.

Мне повезло – я нашёл то, что я люблю по жизни делать довольно рано. Woz и я основали Apple в гараже моих родителей, когда мне было 20. Мы усиленно трудились, и через десять лет Apple выросла из двух человек в гараже до $2–миллиардной компании с 4000 работников. Мы выпустили наше самое лучшее создание – Макинтош – годом раньше и мне только-только исполнилось 30. И потом меня уволили. Как вас могут уволить из компании, которую вы основали? Ну, по мере роста Apple мы нанимали талантливых людей, чтобы помогать мне управлять компанией и в первые пять лет всё шло хорошо. Но потом наше видение будущего стало расходиться и мы в конечном счёте поссорились. Совет директоров перешёл на его сторону. Поэтому в 30 лет я был уволен. Причём публично. То, что было смыслом всей моей взрослой жизни, пропало.

Я не знал, чего делать несколько месяцев. Я чувствовал, что я подвёл прошлое поколение предпринимателей – что я уронил эстафетную палочку, когда мне её передавали. Я встречался с David Packard и Bob Noyce и пытался извиниться за то, что натворил. Это было публичным провалом и я даже думал о том, чтобы убежать куда подальше. Но что-то медленно стало проясняться во мне – я всё ещё любил то, что делал. Ход событий в Apple лишь слегка всё изменил. Я был отвергнут, но я любил. И, в конце концов, я решил начать всё сначала.

Тогда я этого не понимал, но оказалось, что увольнение с Apple было лучшим, что могло было произойти со мной. Бремя успешного человека сменилось легкомыслием начинающего, менее уверенного в чём-либо. Я освободился и вошёл в один из самых креативных периодов своей жизни.

В течении следующих пяти лет я основал компанию NeXT, другую компанию, названную, Pixar и влюбился в удивительную женщину, которая стала моей женой. Pixar создал самый первый компьютерный анимационный фильм, Toy Story, и является теперь самой успешной анимационной студией в мире. В ходе поразительных событий, Apple купила NeXT, я вернулся в Apple, и технология, разработанная в NeXT стала сердцем нынешнего возрождения Apple. А Laurene и я стали замечательной семьёй.

Я уверен, что ничего из этого не случилось бы, если бы меня не уволили из Apple. Лекарство было горьким, но пациенту оно помогло. Иногда жизнь бьёт вас по башке кирпичом. Не теряйте веры. Я убеждён, что единственная вещь, которая помогла мне продолжать дело была то, что я любил своё дело. Вам надо найти то, что вы любите. И это так же верно для работы, как и для отношений. Ваша работа заполнит большую часть жизни и единственный способ быть полностью довольным – делать то, что по-вашему является великим делом. И единственный способ делать великие дела – любить то, что вы делаете. Если вы ещё не нашли своего дела, ищите. Не останавливайтесь. Как это бывает со всеми сердечными делами, вы узнаете, когда найдёте. И, как любые хорошие отношения, они становятся лучше и лучше с годами. Поэтому ищите, пока не найдёте. Не останавливайтесь.


Моя третья история – про смерть.

Когда мне было 17, я прочитал цитату – что-то вроде этого: “Если вы живёте каждый день так, как будто он последний, когда-нибудь вы окажетесь правы.” Цитата произвела на меня впечатление и с тех пор, уже 33 года, я смотрю в зеркало каждый день и спрашиваю себя: “Если бы сегодняшний день был последним в моей жизни, захотел ли бы я делать то, что собираюсь сделать сегодня?”. И как только ответом было “Нет” на протяжении нескольких дней подряд, я понимал, что надо что-то менять.

Память о том, что я скоро умру – самый важный инструмент, который помогает мне принимать сложные решения в моей жизни. Потому что всё остальное – чужое мнение, вся эта гордость, вся эта боязнь смущения или провала – все эти вещи падают пред лицом смерти, оставляя лишь то, что действительно важно. Память о смерти – лучший способ избежать мыслей о том, что у вам есть что терять. Вы уже голый. У вас больше нет причин не идти на зов своего сердца.

Около года назад мне поставили диагноз: рак. Мне пришёл скан в 7:30 утра и он ясно показывал опухоль в поджелудочной железе. Я даже не знал, что такое поджелудочная железа. Врачи сказали мне, что этот тип рака не излечим и что мне осталось жить не больше трёх-шести месяцев. Мой доктор посоветовал пойти домой и привести дела в порядок (что у врачей означает приготовиться к смерти). Это значит попытаться сказать своим детям то, что бы ты сказал за следующие 10 лет. Это значит убедиться в том, что всё благополучно устроено, так, чтобы твоей семье было насколько можно легко. Это значит попрощаться.

Я жил с этим диагнозом весь день. Позже вечером мне сделали биопсию – засунули в горло эндоскоп, пролезли через желудок и кишки, воткнули иголку в поджелудочную железу и взяли несколько клеток из опухоли. Я был в отключке, но моя жена, которая там была, сказала, что когда врачи посмотрели клетки под микроскопом, они стали кричать, потому что у меня оказалась очень редкая форма рака поджелудочной железы, которую можно вылечить операцией. Мне сделали операцию и теперь со мной всё в порядке.

Смерть тогда подошла ко мне ближе всего, и надеюсь, ближе всего за несколько следующих десятков лет. Пережив это, я теперь могу сказать следующее с большей уверенностью, чем тогда, когда смерть была полезной, но чисто выдуманной концепцией:
Никто не хочет умирать. Даже люди, которые хотят попасть на небеса не хотят умирать. И всё равно, смерть – пункт назначения для всех нас. Никто никогда не смог избежать её. Так и должно быть, потому что Смерть, наверное, самое лучше изобретение Жизни. Она –причина перемен. Она очищает старое, чтобы открыть дорогу новому. Сейчас новое – это вы, но когда-то (не очень-то и долго осталось) – вы станете старым и вас очистят. Простите за такой драматизм, но это правда.

Ваше время ограничено, поэтому не тратьте его на жизнь чей-то чужой жизнью. Не попадайте в ловушку догмы, которая говорит жить мыслями других людей. Не позволяйте шуму чужих мнений перебить ваш внутренний голос. И самое важное, имейте храбрость следовать своему сердцу и интуиции. Они каким-то образом уже знают то, кем вы хотите стать на самом деле. Всё остальное вторично.

Когда я был молод, я прочитал удивительную публикацию The Whole Earth Catalog (“Каталог всей Земли”), которая была одной из библий моего поколения. Её написал парень по имени Stewart Brand, живущий тут недалеко в Menlo Park. Это было в конце шестидесятых, до персональных компьютеров и настольных издательств, поэтому она была сделана с помощью пишущих машинок, ножниц и полароидов. Что-то вроде Google в бумажной форме, 35 лет до Google. Публикация была идеалистической и переполненной большими идеями.

Steward и его команда сделали несколько выпусков The Whole Earth Catalog и, в конце концов, издали финальный номер. Это было в середине 70–х и я был вашего возраста. На последней странице обложки была фотография дороги ранним утром, типа той, на которой вы, может быть, ловили машины, если любили приключения. Под ней были такие слова: “Оставайтесь голодными. Оставайтесь безрассудными”. Это было их прощальное послание. Оставайтесь голодными. Оставайтесь безрассудными. И я всегда желал себе этого. И теперь, когда вы заканчиваете институт и начинаете заново, я желаю этого вам.

Оставайтесь голодными. Оставайтесь безрассудными.

Всем большое спасибо.”