Apple iOS vs. Google Android - да им всем на тебя наплевать
пост написан и отправлен в печать 2012-05-16 примерно в 10:04
Святая тема для холиваров. Грааль гламурных кис, которые с пеной у рта доказывают свое преимущество над прыщавыми засаленными задротами с последними моделями Samsung или HTC. Вопли ярости гиков, собирающих GCC для Android (RLY). Как можно сдержаться и не вбросить по этому поводу?
 
Я, наверное, буду писать очевидные вещи, но, судя по глупым комментариям как в интернетахютубах, так и у меня в твиттере, многим эти прописные истины неясны. Первое и основное заблуждение: Apple делает технику для людей, Google Android - для гиков. Спешу тебя разочаровать, в хуй ты, ущербный мой, впился как первым, так и вторым. Небось сидишь сейчас такой с поцарапанным iPhone 3G (или каким-то HTC Wildfire, тут не суть важна) в своем Малом Мухосранске и визуализируешь себе Джобса-Айва на пару с Шмидтом-Брином. Они ночами не спали чтобы угодить тебе, Васе Соплежуеву, которому модную тачскрин трубу подарили предки на совершеннолетие. Ну а как иначе! Поступил на юридический или в художественное ПТУ - куда ж ты без айфона, в перерывах между изучением уголовного права или золотого сечения обязательно надо вогнать пару птиц в свиней, как бы пошло это не звучало. Поступил на информационные технологии в какой-то вшивый ВУЗик местного разлива? Гордо выпросил у мамки с папкой Samsung Galaxy 100500 и рассказываешь всем на форумах про многозадачность, полный доступ к файловой системе, опенсурсе и прочие вещи, заученные бессонными ночами под одеялом.
 
А правда, она одна - и Apple, и Google наплевать на тебя с высокой колокольни, мой милый друг. В основе каждой из этих компаний лежит своя модель продаж, которая абсолютно никак не привязана к куску стекла, железа и пластмассы, который ты так крепко сжимаешь в своих потных ладошках. Вот так новость! Ты купил новый iPhone 4S или четырехядерный, пятибатарейный, десятиэкранный андроидофон, а в глазах компании производителя ты все еще обычный нищеброд. А вот все почему. 
 
Apple взяли за основу очень правильную модель под названием "продажи ради продаж". Если простым языком, то вместо iPhone ты купил десяток-другой маленьких чумазых цыганенков, которые бегают за тобой по пятам и тычут в тебя солнцезащитными очками, зонтами, бусами и прочим мусором. Ну ты понял, на каждом курорте такая публика имеется. Они вроде и не цепляются, но ты начинаешь задумываться. Купил я, значит, поездку на море, песок, водичка, хорошо-то как, но тут яркое солнце всегда. Как же я без очков-то? Куплю себе парочку. А вот зонт крутой и совсем недорогой. Дайте три - мне, жене и дочурке Василиске. А какие красивые бусы из настоящего пластмассового жемчуга ручной обработки. А потом еще оказывается что и саму путевку тебе продали в каком-то "Romany Travel". Звучит немного надумано? Так и есть, никто не покупает у цыганенков, ну разве что кроме иностранцев, которые решили попробовать экстремальный туризм где-то на южном берегу Крыма. И именно поэтому цыганенка нужно причесать, отмыть от грязи, одеть в какие-то кеды, футболку с принтом, нью-эйдж очки, научить говорить понятным, но в то же время каким-то возвышенным, интеллигентным языком.
 
Именно этим и заняты ребята в Apple уже много лет - они причесывают цыганенка, делают его идолом эпохи и символом для подражания. Но смысл его функций от этого не меняется, европеизированный цыган-хипстер в футболке с цитатами Федерико Гарсиа Лорки все так же пытается продать тебе кухонный комбайн за $4,99. Весь тот перфекционизм, забота о безопасности пользователя, лоск и элитарность - последствия работы великолепнейших стилистов и имиджмейкеров, нанятых лишь с одной целью - подсадить еще больше людей на иглу, заставить их чувствовать себя счастливей, красивей, моложе, убедить, что такие вот пластмассовые бусы можно купить исключительно на этом причале. Цыганенок показывает тебе десяток фотографий знаменитостей в таких же бусах и ты начинаешь течь и хотеть. Это вполне естественно, не нужно этого стесняться или тем более отрицать. 
 
Плохо ли это для покупателя? Отнюдь! Прежде всего, ты получаешь продукт, вылизанный до состояния близкого к идеалу. Вот тебе еще одна метафора. Купил бы ты коврик за несколько десятков тысяч долларов, сотканный из шелка и шерсти уссурийского тигра в какую-то Ладу Калину? Сомневаюсь. А в Ролс-Ройс Фантом? Хотя, по сути, в основе двух этих машин лежит абсолютно одинаковый принцип работы двигателя внутреннего сгорания, обе эти машины позволяют переместиться из точка А в точку Б. Но мало кто в здравом уме мечтает купить себе Калину. Ну мне так кажется. К тому же, визионерство Apple и гений Джобса состоят в том, что ты сам начинаешь хотеть то, что тебе и хотят продать. Нет никакого навязчивого сервиса, никаких глупых акций вроде "купи два приложений и получи банку шампуня в подарок", никаких капитальных трат. Есть 30% с каждой транзакции в Appstore, iTunes, iBooks, которые медленно, но верно увеличивают капитализацию, стоимость акций и улыбки на лицах акционеров. Так что, прочитав в следующий раз, что Apple продали очередной десяток миллионов своих новых устройств, просто представь десант из аналогичного количества цыганенков, отправленных каждому покупателю.
 
У Google Android все совсем по-другому. Прежде всего, пара слов, почему я говорю Google Android, а не HTC, Samsung и так далее. Все эти вендоры были и навсегда останутся для меня ноунейм OEM, которые клепают десятки одинаковых телефонов в год. Они получают прибыль с моментальных продаж. Индус или сириец, который продал тебе банку колы в маленьком американском провинциальном магазинчике, совершенно не парится по поводу того, выпьешь ты ее, разобьешь в порыве расовой white-power гордости о голову его соплеменника в ближайшей подворотне или изнасилуешь какого-то беднягу в отделении милиции. Именно поэтому все эти HTC и Samsung, как бы они не старались, навсегда останутся производителями железа с соответствующим объемом прибылей, незначительно коррелирующих в зависимости от выкинутого на рынок объема безликих трубок с глупым однообразным функционалом.
 
А сам Google очень хитер. Ему абсолютно наплевать на продажи после продаж. Их, по сути, особо и нет. Я могу это легко аргументировать. Прежде всего, у Android отсутствует единый стабильный Design Guidelines. Вернее, он как бы и есть, но сам UI любит кардинально меняться от версии к версии. Кардинально - вскипел сейчас обладатель какого-то андроидофона, - да там только цвета и некоторые контролы поменялись. Ба! Смотрите все! Экий дурак! Даже самые элементарные изменения приводят к отказу подкорки у 80% пользователей, это тебе любой UX специалист скажет. А теперь сравни первую, вторую, третью и четвертую версии операционной системы, я уже молчу про твики интерфейса от самих вендоров. Пользователь, который ходил с iPhone, сможет разобраться с iPad буквально моментально. Пользователь, который был счастливым обладателем какого-то HTC Desire с их Sense, а потом решился купить Motorola Xoom, будет шокирован. Цыганенок Google беззубый, он постоянно пьян, воняет, орет матом и кидается грязью в прохожих. От такого шарахаются как покупатели, так и производители бус-зонтов (в нашем случае - разработчики ПО). 
 
Отдельная проблема - фрагментация рынка сбыта стеклянных бус. Вот представь, приехал ты в пятизвездочный отель в Балаклаву (ха-ха!), гуляешь по пляжу, видишь - стоит чувак, торгует очками. А ассортимент у него двухгодичной давности, такие уже давно не в моде. Ну ты и спрашиваешь: "А у вас есть такие же, только чтобы они не вышли из моды во времена молодости Мерлин Монро". А он тебе и отвечает: "У меня то может и есть, вот они, смотри, на этой витрине, но у тебя харя прошлой версии, так что продать их тебе не я могу". А харю обновить нельзя, потому что родители забили давно на тебя и заняты производством новых детей. И становится грустно, обидно до слез. Я уже молчу про постоянно меняющийся дизайн Google Market. На моей памяти, таких фейслифтингов было 3 штуки. Любой маркетолог тебе расскажет, что если в своем супермаркете ты будешь каждый день переставлять холодильник с молоком в разные отделы, то разочарований покупатель уйдет от тебя к менее ебанутому предпринимателю. 
 
У тебя может сложиться ложное впечатление, что в Google одни дураки и не лечатся, один я тут сижу умный, в белом пальто, красивый и рассказываю очевидные вещи. Но это не так. Модель Google - "продажи ради рекламы". И опять на помощь нам спешит метафора. Покупая телефон на Android, ты как бы переносишься во времена сталинских репрессий (серьезно, простите меня за сравнение, я правда не вижу в смерти миллионов людей чего-либо смешного, правда). Твой телефон периодически сливает все данные про тебя в КГБ, притворяясь лучшим другом и товарищем. Ты ему душу оголяешь, за рюмкой водки о всем самом сокровенном рассказываешь, а он покивал-покивал головой и домой убежал, донос писать. И вот уже КГБ ставит тебя к стенке, но не для расстрела. Нет, эта стенка вся обклеена рекламными объявлениями. Вчера сфотографировал свою собаку, а сегодня на твоей личной кирпичной стене реклама ошейника против блох, поискал с телефона рецепты суши роллов, а сегодня отрываешь язычок с объявления "доставка японской кухни по Киеву 24/7", добавила в календарь напоминание "купить тест беременности, если будет задержка до понедельника", а завтра уже перед твоим носом появляется адрес ближайшего детского сада. Я утрирую, конечно, но так оно и есть. Для этих же целей создавались Google Chrome, Google+, да и все прочие сервисы. Обрати внимания, новокоронованная империя зла закрывает лишь те проекты, которые не могут дать релевантной информации о твоих предпочтениях и социальных активностях.
 
Если для Apple ты безликий рынок сбыта, то для Google - животное, которое жрет, срет, трахается, мечтает о модной тачке, новой мобиле и отдыхе на каком-то курорте со своей жирной цыпочкой. И именно этому животному Google покажет релевантное объявление, а послушное животное обязательно сгенерирует целевой переход, даже не задумываясь, откуда гугл знает про его анальные трещины или волосы на ладонях. И все счастливы. Животное получило жирную пиццу с доставкой на дом, пиццерия продала кусок теста с сыром и курицей с дурной накруткой, Google заработал своей процент. Капитализм по Адаму Смиту, мать его. 
 
Window Phone? А что Windows Phone? Это фетровая шляпа в мире смартфонов. В наше время ее носят лишь единицы, так они пытаются выделиться из толпы. Какая у них мотивация - никто ответить не в состоянии, все вяло мямлят какие-то оправдания про альтернативу существующим игрокам. Зачем это Microsoft? Я не знаю. Кажется, это такие реваншистские настроения по уведенному из под носа рынку. Основная проблема Windows Phone 7 - она никому не интересна. Зачем покупать кино, где в главное роли Аркадий Укупник? Так вот и тут.
 
А ты, мой недалекий друг, устраиваешь холивары, мол, многозадачность отсутствует, анимация интерфейса тормозит, доступа к файловой системе нет или в камере мегапикселей не хватает для телефона такого класса. Ты выбираешь себе не телефон, а социальную роль. Быть мейнстримовым рынком сбыта, животным или бесполезным хипстером - решать тебе, вот только не стоит заблуждаться, что кто-то что-то делает для тебя лично.
 
PS: Я даже удивлен, что вы дочитали этот пост до конца. В  любом случае, не стоит воспринимать все вышесказанное всерьез. А еще лучше - подписывайтесь на RSSфолловьте меня в твиттерерассказывайте друзьям, в ближайшем времени я планирую написать 2-3 технологических статьи про теорию и практику разработки игр для iOS.
Synchromium, Google Nigori и крик о помощи
пост написан и отправлен в печать 2012-04-25 примерно в 12:50
Пришла в мою, затуманенную черепно-мозговыми травмами и алкогольно-наркотическими веществами, голову идея сделать софт для получения данных синхронизации браузера Google Chrome, которым пользуются большинство трезвомыслящих людей. Хронические долбоебы сидят в 21м веке на Opera, придумывая непонятные аргументы вроде "она красненькая и с красивым стартовым экраном". IE - выбор тех, кому все равно, к 10й версии в майкрософте его отлично причесали, но попробуй теперь перебори этот стереотип шестерки. Firefox - для ностальгирующих по сотням тысяч плагинов, для анимешников, ненавидящих империализм и диктатуру Google, или же страдающих навязчивой идеей превращения браузера в почтовый клиент, чат, хлебопечку и цифровое влагалище.

UPD: Synchromium теперь доступен для ваших айфончиков в iTunes. Жалко 99 центов? Пиши мне - вышлю промокод.

UPD: Synchromium на my-chome.ru и в их же vk
 
Программа, разумеется, для телефонов марки iPhone, которые используют не только трезвомыслящие и идейные, но все кому не лень, создавая огромный потребительский рынок, готовый проглотить любое привлекательное предложение. Я сейчас про нормальные страны, если что. Делал я эту небольшую утилиту под названием Synchromium (ну чотко же, да? тут вам в названии и синхронизация, и хромиум) не столько для алчного желания наживы (после review обезьянками из эппла она появится в AppStore по смешной цене в 99 центов, о чем я сообщу в уютненьком ласковом твиттере, там же будет проведена раздача 40 промокодов для бесплатной загрузки), сколько для ознакомления с современным инструментарием разработки под iOS. Последний раз я занимался этим в те далекие времена, когда XCode был еще в третьей версии, iOS называлась iPhoneOS, а толпы индусо-китайцев еще не купили себе БУшный маки и не начали демпинговать цены своим ущербным предложением.
 
Обычно я разбирался в способе передачи данных следующим образом: запускал mitmproxy (незаменимая вещь, которая после установки своего корневого сертификата на целевую машину, реализует ssl interception оригинальным образом - realtime генерацией своих самоподписных, но валидных сертификатов для всех https запросов), настраивал прокси сервер в виртуальной машине с Windows, запускал испытуемую программу и наблюдал за ее поведением. К счастью, в современном мире для большинства сервисов REST API в сочетании с JSON де-факто стал стандартом обмена информацией между клиентом и сервером. Но я забыл, что это же Google, йопта! Paranoid Android, как пели радиоголовые. Сложно описать, насколько сильным было мое разочарование, когда в привычном Answer body вместо ожидаемой каши из XML тегов или десятков скобок JSON я увидел бинарный нераспарсиваемый яд с вкраплением кучи base64 encoded строк и unicode мешанины. Это так же обидно, как и выиграть в национальной лотерее поездку на 5 дней в Крым, в частный сектор, за 7 километров от моря.
 
На этом можно было махнуть на идею рукой, взять билет в Бангкок и пойти в гоу-гоу бар смотреть на бывшего мужика в коротенькой юбке и в топике, как бы странно это не звучало. К счастью, Google Chrome это Google Chromium на стероидах, который как бы опенсорсе со всеми вытекающими. Тут нужно отметить великолепное качество и логику организации кода в репозитарии. Им зачитываешься как Википедией: начинаешь изучать код синхронизации данных, а через какое-то время уже смотришь на их враппер вокруг OpenSSL или на уровень абстракции NaCl. Но что-то я запизделся. Вкратце, в Google изобрели свой протокол обмена под названием Protocol Buffers. Термин "протокол", правда, тут не подходит, скорее способ инкапсуляции данных, так как протобуфер в нашем случае работает поверх HTTP. 
 
Сама реализация напомнила мне такой себе ORM для API. В proto файле вы описываете интерфейс будущего объекта, а потом специальный транслятор-компилятор protoc переводит эти файлы из родного формата и синтаксиса в классы на C++, Python, Java прямо "искаропки", либо в любой другой, поддерживаемый неофициально. Протосинтаксис достаточно богат, реализовано наследование, инкапсуляция, полиморфизм и прочие прелести OOD. Идея не нова (тот же Apache Thrift), но охуенна в своем удобстве и простоте. По сути, описав весь протокол взаимодействия один раз, вы получаете готовый cross-language код ready for work. А еще этот способ призван обезопасить ваше API от посторонних глаз и пытливых умов, без proto файла практически нереально сформировать измененный запрос или разобрать ответ во что-то читаемое. Именно практически, ведь на теоретическом уровне гипотетическая обезьяна, ударяя пальцами по клавиатуре печатной машинки случайным образом, рано или поздно напечатает одну из пьес Шекспира. Но где вы видели таких обезьян? Современные писатели из РФ и Украины не в счет. Protocol Buffers - основная техническая причина, почему Google+ все еще не имеет сторонней реализации функции отправки сообщения. Мобильный клиент для обмена данными использует именно его.
 
К моему счастью, для ObjectiveC существовала unofficial реализация протокола сравнительно достойного качества. Все дескрипторы были взяты из исходного кода Google Chromium и успешно собрались в .m и .h non-ARC файлы. Собрались, правда, не без проблем, результат пришлось немного редактировать вручную для устранения некоторых критических ошибок, которые сводились, как правило, к непонятному переназначению переменных и наслаивающимся областям видимости. Ну а дальше дело техники. Во многом мне помогла внутренняя страница Google Chrome доступная по адресу chrome://sync. Много писать о самой реализации я не буду, чуть ниже вас ждет целый абзац о моих впечатлениях от XCode, iOS и еще один абзац с описанием проблемы, которую я впервые попробую решить с помощью читателей этого бложика. 
 
С самого начала для хранения данных я решил попробовать модный CoreData - уровень абстракции от синтаксиса sqlite (не только, но в большинстве своем). Скажу сразу, я ни разу не ObjectiveC программист. Выучить синтаксис после всех тех языков, которые я знаю, проблемы не составило, но я никогда не смогу понять эту увлеченность объектами и порождение ненужных сущностей. Язык развивается, пытаясь избавиться от тяжелого наследия си с помощью блоков, нотификейшнов или нового синтаксиса конструкторов для основных типов, но все еще выглядит крайне монструозно с этой кашей делегатов и оборачивания в классы всего того, что отлично помещалось и в примитивы. Так вот получилось и с CoreData. За призрачным удобством разметки схемы базы данных скрывается каша из координаторов, контекстов, фетчед-реквестов и прочих излишеств. Да, при правильном подходе все это офигенно интегрируется в инфраструктуру того же UITableView, но я, видимо, просто не достиг дзена. И именно поэтому использовал FMDB - обертку над сишной sqlite3 библиотекой с raw sql request syntax. Все очень просто и со вкусом, а как легко интегрировалось в тот же TableView? Ну просто песня.
 
Сам XCode изменился. Я бы не сказал, что в лучшую сторону, развитие движется в направлении, которое нам пытаются преподнести единоверным. Безусловно, ARC порадовал прожженную release-ами и dealloc-ами душу старого волка. Впрочем, возникли определенные трудности в понимании принципов его работы. У меня был UIViewController c всунутым в него UIWebView, вся эта красота показывалась пользователю через pushViewController сигнал UINavigationController-а. И вот, если вдруг пользователь открывал этот экран с вебвью и загружал в ней какой-то адрес, а потом, не дождавшись окончания загрузки, нажимал Back, то весь UIViewController деаллокался, но при этом, по окончанию загрузки, вебвью, который вроде как бы должен был умереть вместе с родителем, посылал уже мертвому папаше сигнал "пацантрэ, празднуем, я закончил грузить", что, естественно, приводило к падению всего в ERR_BAD_ACCESS. Это решилось отсылкой стоп-сигнала вебвью из viewWillDisappear, но кажется каким-то печальным недоразумением. Вероятней всего, имела место моя тупость, которая позволила сделать делегатом UIWebView объект, который этот вебвью и создал, но тем не менее. 
 
Полным факапом я считаю историю со Storyboard. Зачем это было сделано остается для меня загадкой. Возможно, редактирование интерфейса в XIB недостаточно тормозило. С одной стороны все стало как-то удобней и логичней (особенно в свете Static Cells, те же экраны настроек или формы входа можно теперь делать не вслепую в коде, а прямо в UI дизайнере), но с другой стороны я не вижу смысла в отображении всех экранов приложения, соединенных segue стрелками. Ну ладно, все это имело бы право на жизнь, если бы не жутчайшие лаги. После 20 разных контроллеров в одном Storyboard начинается покадровый цирк, а 8GB оперативной памяти категорически не хватает. И да, в 21 веке XCode все еще не может избавиться от детской болезни неадекватной организации проекта. Все просто валится скопом в одну папку, ваш покорный слуга потратил целый час, приводя код в нормальный читаемый вид не только в IDE, но и в Finder-Explorer. 
 
Раз уж вы дочитали до самого конца, то самое время поговорить о чем-то интересном. Прежде всего, форкнуть или скачать код Synchromium вы можете на GitHub. Я считаю, что большинство приложений для iOS должны быть opensource. Это не лишает разработчиков каких-то гиперприбылей, ведь для компиляции скачанных исходников не под iOS Simulator или хотя бы установки на свой девайс нужно покупать Developer License за 99 американских марок. А на jailbreak-нутый девайсах ваша программа и так рано или поздно появится в Installous-e.
 
Впервые за всю историю существования этого блога, я прошу помощи и обещаю за нее денежное вознаграждение. Небольшое, но вы будете горды собой, прославлены в этом бложике и в самой программе. Чего уж там, я даже сделаю татуировку с вашей фотографией. Проблема состоит в следующем - в Google Chrome существует возможность cшифровать свои данные синхронизации. Сотрудниками Google был разработан собственной алгоритм (вас это еще удивляет?) под кодовым названием Nigori. По сути, это даже не алгоритм шифрования, а концепция обмена данными между облаком и устройством. Подробнее о нем можно прочитать. И вот передо мной встала задача: как расшифровывать зашифрованные данные. Что может быть проще, когда под рукой есть отличные исходники Хромиума? Да, признаю, я беспробудно туп. Даже имея весь материал на руках, я не могу перенести его на платформу iOS и CommonCrypto фреймворк. Чуть ниже следует мое виденье алгоритма с ссылками на исходный код.
 
Нас интересует файл nigori.cc. Прежде всего, нужно обратить внимание на NigoriStream-класс, который реализует своеобразный concat строк через <<. Но мы не в C++, да и множественной записи в поток нам не нужно, достаточно просто объединить две строки вроде concatNigori:@"localhost" withString:@"dummy". Далее переходим к формированию ключей помощью алгоритма PBKDF2. Для начала нам нужно сформировать sUser ключ. Он генерируется с HMAC SHA1 хешированием нашей конкат строки на месте псевдорандомной функции, паролем шифрования, и другими параметрами из nigori.h (длинна ключа 128 бит и количество итераций равное 1001). Тут возникает первая сложность, наша конкат строка создается следующим образом: NigoriStream salt_password << username << hostname. А вот со значениями переменных username и hostname небольшая проблема. Насколько я понял, в Google решили сделать их статичными localhost и dummy, упоминания об этом я нашел в коде юниттестов (что не показательно) и тут. Полученный salt (который мы переводим в строковой формат с помощью GetRawKey метода) мы будем использовать при генерации следующих ключей kUser (128 бит, 1002 цикла итерации), kEnc (128 бит, 1003 цикла итерации), kMac (128 бит, 1004 цикла итерации). В качестве псевдослучайной функции тут используется, насколько я понял, AES128. Теперь переходим непосредственно к нашей зашифрованной строке. Прежде всего, нам нужно декодировать ее из base64 в строку. Тут у меня возникает проблема #2, мы не знаем кодировки. Подозреваю, что это конечно же не ASCII, методом перебора (StringUsingEncoding для NSData) получилось установить, что строка декодируется лишь в UTF16 (я без понятия, нужно выбирать big или little endian). Далее нарезаем полученную строку на куски. Первые 16 байт - IV, последние 32 байта - hash, все, что между ними - наша зашифрованная строка. До расшифровки нам еще далеко, сначала нужно убедиться в том, что строка была зашифрована именно нашим паролем. Сравниваем наши последние 32 байта в виде hash строки с HMAC SHA256 хешсумой нашего kMac. В случае совпадения инициализируем AES CBC декриптор ключем kEnc и теми первыми 16 байтами IV. Этим декриптором расшифровываем строку и все.
 
Пиздец, да. Непонятно, зачем такая паранойя, когда на конечной машине все пароли хранятся в sqlite базе данных без шифрования вообще. Я пытался собрать nigori.cc в static lib, но потерпел неудачу - необходимые зависимости просто отсутствовали. Возможно, есть вероятность собрать OpenSSL, а не NSS версию, под iOS это должно работать, но у меня просто не хватает ума. Желающие помочь приглашаются в скайп orl-light или в почту vladimir@smirnov.im, где я с удовольствием расскажу вам все детали. Такой день.
Четыре с половиной года
пост написан и отправлен в печать 2012-04-08 примерно в 12:14
Сегодняшний мой пост - продолжение эксперимента с "синхронным переводом", который я опробовал со статьей "17 причин, которые делают проживание европейца в США невыносимым". Я получил определенное количество отзывов, как позитивных, так и негативных, обвиняющих меня в излишней, как бы это назвать, люмпенизации текста и в большом количестве "отсебятины", используемой для адаптации. В этот раз я постараюсь быть более сдержанным, ведь перед нами пост самого Стивена Фрая. Для современников Бибера и Ребекки Блэк, рожденных в дефективные двухтысячные, можно коротко объяснить, что это такой культовый английский персонаж, одаренный великолепным чувством юмора, острым умом, эталонными британскими манерами и говором. Подробнее о нем можно почитать, а оригинал статьи находится вот тут. Еще раз напомню, что перевод делается одним проходом, без каких-то литературных коррекций или вычитывания, поэтому прошу меня простить за излишнюю топорность и стилистические ошибки. В этом вся соль, %username%.

Обычно, ко мне подходят на улице и говорят: "Стивен, дружище, почему ты так плохо одет"? А еще, постоянно норовят спросить, сколько мобильных телефонов я взял с собой сегодня. И это именно то, о чем хотелось бы поговорить в сегодняшнем блэссе (блэссэ - свой собственный мем Стивена, такое объединение блога + эссэ).

Я уже достаточно много писал о своем отношении к смартфонам. Вы можете понаблюдать за развитием этого процесса, пролистав вниз и нажав на "старые записи на дне блога". Старые записи на дне блога? Уверен, что есть более приятная формулировка этого действия. Ну да ладно. Все началось с поста под названием "Устройства и Желания", в нем я ошибочно предполагал, что виртуальная клавиатура первого iPhone - плохая идея, но оказался чертовски прав, требуя 3G интернет и возможность установки сторонних приложений. А еще я оплакивал (даже больше, я проклинал, ударяя с пеною у рта ногой по полу) глупость и недалекость, идиотизм, упрямство, убийственную тупость Nokia, Palm и Sony в их неспособности сделать хоть что-то похожее на "убийцу айфона", чего требовали все потребители, требовал рынок, да и я лично. Но мы не хотели обрушить Apple (тогда они был намного меньше таких компаний, как Sony или Nokia, не говоря уже о Google, HP или Microsoft), просто всему сектору производителей смартфонов требовалась приличная встряска и элемент здоровой соревновательности. Apple бросили белую перчатку всем в лицо, и конкурентам стоило бы ответить.

В IT все происходит чертовски быстро. Этому блогу четыре с половиной года (а моему уже под 6 лет, but who cares), он появился задолго до Android или Appstore, а iPhone тогда еще не продавался в Англии. Сейчас же мы живем в мире, где Apple - компания с наибольшей капитализацией, компания, которая стоит больше, чем все ее конкуренты вместе взятые. Она стоит даже больше чем ... в общем, есть даже сайт, который полностью посвящен этой тематике.

Если вы читали мой блог тогда, то могли лицезреть, как я с трудом сдерживаюсь, держа айфон в своих руках. В течении целого дня он оставался обычным дорогим бесполезным кирпичом и я попортил много крови, пытаясь выйти на кого-то в AT&T, кто мог бы дать мне код разблокировки этого инопланетного девайся. Это случилось седьмого июля.

Ужасно интересно перечитывать тот пост (интересно для меня, во всяком случае) потому что он наглядно демонстрирует то, как iPhone опередил свое время. Давайте же взглянем на конкурентов и их продукты. В целом, предлагаю помечтать о будущем, взглянув на него из недалекого прошлого. Я как раз закончил читать книгу "Future Babble" Дэна Гарднера, так что я хорошо осведомлен о тщетности попыток предсказания чего-либо. Но тем не менее...

Microsoft

Ближе к концу 2007 года "Редмондский Бегемот" презентовал Windows Mobile 6 для PPC, именно так они называли свое уродское уебище в мире мобильных операционных систем. Простите мой французский, но ничего не могу с этим поделать. СЕО Стив Балмер и остальные ребята в MS сами признали этот пренеприятный факт (но не без моей помощи, как всегда), когда полтора года тому назад представили миру Windows Phone 7. Простая, минималистичная операционная система с необычной концепцией пользовательского интерфейса уже заняла свою нишу (смешную, если сравнивать с iOS и Android, но тем не менее), да и называется приятно - Windows Phone.

Microsoft, следуя за Apple с их Lion и Mountain Lion, в ближайшем времени собирается выкатить Windows 8, которая будет двигаться в направлении объединения, как это сейчас принято называть, "юзер экспириенса" спартфонов и PC. Хвост мобильных устройств махает собакой настольных компьютеров: многие предсказывали, что это случится, ведь все больше и больше вычислительных мощностей помещается в вашем кармане, следуя неизбежной тенденции закона Мура. Я считаю, что это интересная тема, достойная внимания.

Закон Мура

Со-основатель Intel, Гордон Мур, наиболее известен своей аксиомой: количество транзисторов на чипе будет удваиваться каждые два года. Я расскажу вам историю про зерна риса на шахматной доске, которая часто используется, чтобы объяснить ошеломляющий рост, который происходит, когда число чего-либо постоянно умножается на два. Геометрическая прогрессия ведет к экспоненциальному росту, если по-умному.

Правило "риса на шахматной доске"

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

Да, но давайте обратимся к математике. Размер шахматной доски - 8х8, а 8х8 = 64. К тому моменту, как вы дойдете, удваивая количество, до 21й клетки, вам нужно будет высыпать на нее чуть больше миллиона зерен, а на 32q, которая всего-лишь средина вашего пути от 1го к 64м, нужно будет уместить уже 2 миллиарда рисинок. Да, только на одну эту клеточку. К концу доски получилось такое огромное количество риса, которого не было ни в одном королевства. На 64ю клетку шахматной нужно было высыпать ровно 9,223,372,036,854,775,808 зерен риса. Когда финансовый директор Императора и главные бухгалтера сказали ему, как много он задолжал, то правитель приказал отрубить голову мудреца, предупредив остальных хитрожопых, чтобы неповадно было. Есть и другая концовка: Император сделал мудреца своим визирем. Визири - они как премьер министры, разве что менее тупые.

Закон Мура был впервые предложен в 1970 году. С того времени произошла 21 итерация цикла удваивания, а это значит что более 1 миллиона транзисторов может уместиться сейчас на том месте, где в 1970 помещался всего один. И это число удвоится в 2014. А потом еще один раз в 2016.

Знакомьтесь, Ричард Фейнман

Есть ли этому конец? Одним из моих кумиров всегда был и остается Ричард Фейнман. По правде говоря, он был кумиром любого, кто восхищался наукой, но кому не хватало мозгов понять ее без помощи этого великого ученого и просветителя. Фейнманом восхищались не только такие простаки, как я, но и его именитые коллеги. Он был лауреатом Нобелевской премии, учителем, обладавшим удивительным блеском и остротой ума, способного постичь суть любого более-менее значимого вопроса в мире науки.

У всего есть свой предел

В 1985 он читал поразительные лекции в Японии, посвященные возможным рамкам вычислительной мощности компьютеров будущего. Чуть позже, он проведет серию докладов в Калтече, университете, где была написана большая часть его работ. Эти доклады были посвящены все той же теме, но впервые затрагивали возможность возникновения того, что сейчас именуется "квантовыми вычислениями".

Это был не первый раз, когда он переворачивал парадигмы науки и техники с ног на голову. В начале 1960х он шокировал свою аудиторию, предсказывая и описывая то, что мы сейчас называем нанотехнологиями. По этому случаю, он предложил приз тому, кто сможет сделать работающий электромотор размерами не больше 1/64 кубического дюйма (что-то около 0.4 мм3). А еще он обещал награду человеку, который придумал бы способ переноса информацию со страницы книги поверхность с площадью в 25000 раз меньше оригинала, причем так, чтобы потом этот текст можно было прочитать специальным сканирующим электронным микроскопом. Такие масштабы позволили бы уместить всю Британскую энциклопедию на булавочной головке.

Первый приз он выплатил менее чем через один год, а вот второй спор занял больше времени. Фейнман вручил последнюю премию в 1986, за два года до того, как ему был диагностирован рак. Безвременная кончина этого великого ученого оставила огромный траурный отпечаток на всем научном сообществе США, от которого оно не может оправится до сих пор.

Если вам интересны его лекции, то вы просто обязаны скачать и прочитать отменную статью Тони Хея, напечатанную в Современной Физике в 1999 году. Что касается японских выступлений, то дома у меня были распечатки, но я сейчас в Новой Зеландии. Японские дневники - третья статья в цикле его публикаций и она однозначно стоит прочтения.

Параллельные и квантумные вычисления

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

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

А что в итоге?

Я предполагаю, что все вышесказанное можно свести к следующему. У Закона Мура впереди есть еще несколько лет, а тенденция развития техники по законам "риса на шахматной доске" создаст такие процессоры и интегральные схемы, которые позволят ученым сконструировать новый тип машин, которые в свою очередь воссоздадут то, что Шредингер называл "неопределенностью" деятельности на квантовом уровне.

Вернемся к нашим делам

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

Последний с конца, Intel

Гордон Мур (моя мать пользуется "косметической зубной пастой Гордона Мура". Как думаете, он и к этому отношение имеет?) наверняка очень рад наблюдать за тем, как компания, которую он основал, пытается выйти на перспективный рынок смартфонов. Договор с оператором мобильной связи Orange должен положить начало покорения интеловскими телефонами европейского рынка в течении следующих нескольких месяцев. Intel будет заниматься железом, а Android станет операционной системой. Похоже, что что они собираются стартовать с версией 2.4 Gingerbread (мятный пряник), вместо захватывающего нового 4.0 Ice Cream Sandwich (Сендвич из мороженного). Как вы скорее всего знаете, Google и ребята из команды разработчиков Android любят называть версии в честь десертов и тортов. Ну а почему бы и нет?

В Microsoft, конечно же, не так глубоко завязли в производстве железа. Мы не берем их чрезвычайно успешный XBox или супер-пупер крутой Kinect. Нам еще предстоит выяснить, будет ли способствовать появление Windows 8 возрождению судеб Dell и других производителей системников или ноутбуков. Ну а Intel, который производит процессоры для Mac и PC, без всякого сомнения будет в шоколаде. Возможно, это именно Apple, наладив производство своих процессоров А-класса (сейчас это A5X в новом iPad), подтолкнула Intel к частичному переходу от производства комплектующих к изготовлению полноценного устройства. Добро пожаловать, Intel.

Пощечина ладонью, Palm

Прощай, мой любимый Palm. В мае 2007, за месяц до запуска первого iPhone, они допустили катастрофическую ошибку, проанонсировав запуск легкого компактного лэптопа Foleo, заточенного под беспроводные сети. По сути, они сделали его основным устройством, отказавшись от каких-либо претензий на рынке смартфонов. Теперь-то они могут утверждать, что они были первопроходцами в классе Macbook Air в частности и субноутбуков в целом, но даже если мы и согласимся, что их устройство опередило время, то все равно оно сыграло с ними злую шутку.

Урок Big Blue

В 70х было принято говорить: "никого не увольняют за покупку компьютеров у IBM". Это значило, что если ты собираешься руководить IT отделом (отделом Анализа Данных, как это называлось тогда) в средней или большой компании, то ты покупаешь железо у IBM, или Big Blue, как их все тогда называли (их продавцы и менеджеры были обязаны носить голубую униформу) - не важно, смысл был в том, что даже если ты купил полное говно, то ты можешь сказать разозленному председателю совета директоров, финансовому директору или CEO: "Я не при чем, это же IBM". И все начинают кивать и бормотать: "Ах да, ну тогда все нормально… IBM. Мммм. Хорошая компания. Нам просто не повезло, наверное".

IBM, конечно же, проглядела приход Билла Гейста и, не успев даже моргнуть, скатилась с самой верхушки индустрии к продаже своего подразделения пользовательской электроники китайской компании под названием Lenovo. Я же говорил, в цифровом мире все случается очень быстро.

Начало конца, Palm

Что ж, Palm в свое время допустил ту же ошибку. Их великолепная проприетарная Palm OS постарела и вместо того, чтобы тратить деньги на R&D, приспосабливая ее к современным реалиям, которые сложились после выхода iPhone, они посчитали, что все будет тип-то, если сконцентрировать все свои силы на производство устройств на Windows Mobile. Ну разве можно было прогадать, выбрав такую тактику? Microsoft была крупнейшей компанией во всем мире. Их операционная система была установлена на 96% всех продаваемых компьютеров. Windows Mobile был единственным доступным решением, если тебе требовался смартфон с синхронизацией. С их позиции, это был беспроигрышный вариант.

У них ушло почти два года на осознание и исправление этой ошибки. Наконец они решили перепрыгнуть через голову Apple и родить на свет новую операционную систему для устройств с сенсорными экранами, которая могла бы сделать выскочку iPhone.

Pre-ближение к исчезновению

Они все еще думали, что ветер дует в их паруса, что они еще не опоздали с выпуском своего устройства. Это стало второй роковой ошибкой. В 2009 году свет увидели раздражающе мелкие и пластиковые телефоны Pre, которые работали на основе их новой WebOS. Запуск был встречен с энтузиазмом, под шумы полыни и одиноких перекати-поле, подгоняемых звуками ударов колокола в безлюдной пустыне.

Такая ужасающая стратегия, коммерческие и инженерные просчеты, объединенные с отсутствием чувства рынка, угробили компанию. Palm развалился, его куски были куплены Hewlett Packard за 1,2 миллиарда долларов. Они обещали продолжить развитие WebOS и в скором времени выпустить на ее основе планшеты и телефоны. Спустя 2 года и они полностью отказались от тщетных попыток, открыв технологию для тех, кто рискнул бы выпустить WebOS устройство на рынок.

Ошибки Sony

Земля тебе пухом, Palm, покойся с миром, Sony Ericsson. 16 февраля этого года, Sony выкупил пакет акций у своего шведского партнера и стала называться просто Sony Mobile Communications.

Мне кажется, что Sony - компания, которой должно быть стыдно больше всех за свою стратегию присутствия на рынке на протяжении последних двух десятилетий. Имидж их бренда в 80е был пределом мечтания любой высокотехнологичной компании, Sony и их Walkman правили балом. Как компания, так и их бренд-имидж казались чем-то непоколебимым. Они были Apple своей эпохи, известные хорошим дизайном, инновациями, умом, элегантностью, утонченностью своего ассортимента. Их мониторы Trinitron были на голову выше ЭЛТ дисплеев и телевизоров других производителе, да и весь товарный ряд потребительской электроники, начиная c My First Sony и заканчивая видеокамерами, был крут настолько, насколько он отстоен и не конкурентноспособен теперь. И даже не думайте говорить мне про их ноутбуки VAIO: вызывающие презрение и презирающие потребителя, они вряд ли когда-либо были чем-то больше, чем пустым звуком, представленным скучающей публике.

Опоздали на автобус

Исторический прорыв в мире технологий произошел в 2001 году, когда главный инженер компании Apple, Джон Рубинштейн, приехал в штаб-квартиру Toshiba с обычным рабочим визитом. Годом ранее Стив Джобс потребовал у Джона сконструировать портативный музыкальный плеер, на что Рубинштейн ответил, что для этого не существует необходимых электронных компонентов. В штаб квартире Toshiba Рубинштейну показали 1,8" жесткий диск, разработанный японскими инженерами. Впрочем, они никак не могли придумать ему применение. В Toshiba даже представить себе не могли, что это именно то, чего так не хватало Рубенштейну для осуществления задуманного Джобсом. Так случилось, что Стив в тот же день тоже посещал Токио с деловым визитом. Во время ужина Рубинштейн сказал ему: "Вот теперь я знаю, как сделать то, что ты хотел. Мне нужно всего ничего - чек на 10 миллионов долларов". Джобс подавился, ну а все что было дальше - история. И все остальные конкуренты Apple тоже стали историей.

Моим главным вопросом, работай я в Sony, стал бы: "какого черта мы не изобрели iPod". Sony не только физически находился в одной стране с Toshiba, но и, в отличии от Apple, был законотворцем музыкального бизнеса. Sony Music и Sony Pictures, Sony Walkman, видеокамеры Sony. Компьютеры Sony. Идеальное сочетание? Идеальный проеб. Apple просто переиграла Sony. Стив Джобс взял малоизвестную в музыкальной индустрии компанию Apple и сделал ее основным продавцом цифровой музыки в мире. Прямо под носом у Sony. То же самое он провернет и в сфере телекоммуникаций шестью годами позже.

С их телефонным бизнесом дела тоже как-то не заладились. В рейтинге крупнейших дистрибьюторов мобильных телефонов Sony Ericsson обвалились с 4го на 6е место. Их провал был предначертан, даже до появления iPhone SE производило шокирующее уродство на основе Symbian UIQ, телефон Sony Ericsson P1i стал жертвой моего первого технологического блога. Это чудовище стало могильным камнем компании. Они отказались от Symbian UIQ (который лично мне нравился, но который не мог работать без постоянных ошибок и перегрева) в пользу переоцененных и крайне дорогих смартфонов Xperia, они же в самом начале работали на основе Windows Mobile. Это было уже когда весь мир осознал, что WM - дохлый номер. Когда они наконец-то увидели, куда ветер дует, их китайские инженеры в жуткой спешке собрали X10, который никто конечно же не покупал по причине древней версии Android. За те же деньги можно было купить телефон от HTC более высокого класса.

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

Nokia

Nokia, номер 1 среди производителей телефонов, тогда, в 2007 году, клепали популярные и не менее удобные трубки среднего и низшего ценового сегмента. Благодаря Symbian, который очень экономно относился к батарее и подкупал пользователей своими простым интерфейсом, им удалось продать сотни миллионов своих аппаратов, а "Тот Самый Рингтон" можно было слышать в любой точке мира. Чего уж там, многие рестораны держали зарядку для Nokia на ресепшене, если вдруг в самом разгаре обеда вашему телефону тоже потребуется пополнить запасы своей энергии.

В высшем же ценовом сегменте они выдавали на гора таких ужасных серебристых продолговатых уродцев, что вы могли заработать рак чувства прекрасного, только взглянув на них. Никто в Nokia даже не мог себе и представить, что производство "топовых телефон" когда-либо станет ядром их бизнеса. Никто даже не мог и подумать, что производство смартфонов когда-либо станет единственной прибыльной сферой в производстве телефонов. Все это достаточно странно, ведь Nokia считались пионерами смартфонов на пару с Palm и Handspring.

Как я уже писал в своем чертовом блоге, на протяжении девяностых и нулевых я купил практически все модели серии Nokia Communicator. Я пользовался электронной почтой в 1996 году, отсылая письма с самого первого Nokia 9000. Чтобы вам стало понятно, до презентации iPod оставалось ровно 5 лет, а это намного больший срок, чем тот, который отделяет сегодняшний день от презентации публике первого iPhone. Удивляет тот факт, что Nokia, понимая растущие возможности смартфонов, прозевала тот момент, когда камень будущего врезался в лобовое стекло их реалий.

Пробуждение титана

Грозный финский гигант, который зарождался, как заготовщик древесины и поставщик туалетной бумаги, смог эволюционировать в производителя устройств на Windows Phone. Впрочем, они не отказались и от производства дешевых и доступных телефонов, которые, между прочим, в рамках программы микрокредитования M-PESA, совершили небольшую экономическую революцию в Кении и других африканских странах. Я являюсь счастливым обладателем Lumia 800, хотя и нахожу его слишком "мелким". К моему счастью, этот недостаток был устранен в 900й модели. Уверен, что Nokia и Microsoft вздохнули с облегчением, наблюдая активность предзаказа и весь медийный шум, который возник вокруг новости о сотрудничестве двух гигантов. И их можно понять, ведь будущее Стива Балмера и Оллила Йорма в большей своей части зависело именно от успеха этой авантюры.

Во всем прошу винить BlackBerry

Без сомнения, причиной неверной стратегии развития Nokia в те далекие нулевые стал феноменальный успех BlackBerry, тень которого накрыла индустрию на следующие лет так 10. Как и Palm, Sony, Nokia в свои лучшие времена, этот гигант казался непоколебимым творцом мод и стандартов развития, которым все должны беспрекословно следовать. Они открыли вторую эру субкультуры "Яппи". Вездесущий BlackBerry попал во все словари и стал метафорическим образом офисных крыс среднего звена в первое десятилетие нулевых: уткнувшись в экран, они нервно крутят колесико скролла или нажимают на клавиши. Не удивительно, что даже газеты, которые никогда не отличались настоящим пониманием теории эволюции, пророчили появление детей с более сильными и гибкими пальцами, искажая концепцию ламаркизма.

Затишье перед штормом

И опять игнорирование потенциала iPhone сыграло свою злую шутку. Research in Motion, канадский производитель BlackBery, выпал из струи. В свое время они выпустили удивительный Perl, великолепный Bold, что же они приготовили в качестве ответа Apple? О господи, это же их Storm. Мерзко щелкающий при прикосновении к его экрану тачфон был пугающии монстром из параллельного изменения. Ужасный звук забивал даже возмущенные крики ярости менеджеров среднего звена, которые рискнули обновиться с привычных удобных Blackberry до этой модели. Storm вызывал лишь отторжение, без исключений.

Последний вздох

Вторая попытка переиграть iPhone произошла до того, как RIM попыталась в отчаянии избавиться от неудачного Strom в пользу Torch, который хоть и был лучше, но так и не стал зеркалом потребностей рынок. Он не смог предложить что-либо интересное и захватывающее как преданным фанатам BlackBerry, так и новому поколению. Их финальный успех получил свое отражение в возрождении бренда Bold, где они удачно соединили чудеса акселометра и тачскрина с классическим формфактором устройства и физической клавиатурой. Новый Bold (сейчас у меня в руках модель 9790) стал последним коммерчески успешным телефоном в истории RIM.

Миллионные потери RIM, падение цены акций с 140 до 14 долларов всего за три года, их неудачная попытка входа на рынок планшетов со своим BlackBerry Playbook (святые угодники, там даже не было предустановленного почтового клиента!) стали последними доводами для основателей компании - Майка Лазаридиса и Джима Балсилли (Фрай шутит по поводу Balsillie, представляя, какое ужасное детство может быть у парня с фамилией, созвучной Ballsilly). Они уступили должность CEO Торнстену Хайнсу, который проанонсировал "план перепрофилизации бизнес сегмента и закрепления лидирующих позиций в корпоративном секторе". Это значит, что все фанаты BlackBerry могут пойти куда подальше.

Вечная память

Сможет ли BlackBerry когда-либо вернуть былую славу своему бренду, сможет ли сервис push email не потонуть, получив пробоину айсбергом постоянных неудач, скалой падения уважения потребителей? Рассудит время. А время, как я не устаю повторять, очень скоротечно в мире цифровых технологий. Долгосрочность - характеристика божьего промысла, в Кремниевой долине все случается в мгновении ока. IBM, Compuserve, AOL, MySpace, Alta Vista, Yahoo, Palm … разве не эти имена должны были благоговейно шептать наши внуки и внуки наших внуков до скончания времен? А как же Nokia, Sony, RIM и Microsoft? Только полный кретин мог представить, что эти титаны когда-либо будут разочаровывать нас в роли догоняющих. Кто вообще мог усомниться в их сакральности?

А победителем гонки оказался

Apple. Я говорю (и всегда буду говорить это) без особого триумфа. Я никак не связан с этой компанией, у меня нет их акций. Я восхищаюсь ими лишь потому что они вызывают восхищение, причем уже очень долгое время. Да, они тоже допускали ошибки, но они никогда не были фатальными или сколько-то значимыми. Любая серьезная ошибка стоила бы Apple жизни, ведь не существует больше такой компании, которая бы привлекала к себе столь пристальное внимание. Их обвиняют в переизбытке рекламы, одновременно виня в излишней замкнутости, но правда в том, что все, кто истинно ненавидят Apple, - одержимы этой навязчивой идеей. Ха! Их телефон теряет мобильную сеть, если вы возьмете его в руку как-то по-особому. Это уничтожит их! Хм, странно, ну ладно. Смотрите! Этот iPad похож на название гигиенической прокладки или просто увеличенный iPhone, вот тут-то они точно облажались. Нет? Ок, ха! Они обманули всю Австралию с 4G в новом iPad! И вы только подуйте! Он перегревается! Простите, в этом не так хорош, как Macalope - всемирно признанный гений троллинга эпплофобов.

Здоровяк Google

Так произошло, что Google зарабатывает больше с рекламного трафика Apple iPhone и iPad, чем с растущей доли Android устройств. Не просто больше, в 4 раза больше! И тем не менее, Android доказал, что тотальные ограничения iOS API - не единоверный путь. Конечно, всецелая открытость стала причиной появления вирусов и прочих вредоносных программ, добавив много головной боли разработчикам. Попробуйте представить себя на месте Android программиста: разные планшеты и смартфоны используют совершенно разные кнопки для навигации и управления. Без сомнения, производители должны выработать стандарт, иначе разработчики будут вынуждены покупать все популярные устройства, тестируя работу своего приложения на них. Основная вина за неразбериху в Android экосистеме лежит на совести третьего победителя войны телефонов и планшетов.

Тайвань наносит ответный удар

HTC - OMG в мире OEM. Они плескались на мелководье, делая телефоны на Windows Mobile вроде HTC Touch или P3600, которые мне очень нравились тогда, в далеком 2007м. Но у них получилось среагировать так быстро, креативно и правильно на выпад Apple, что HTC можно было бы переименовать в СБР - Силы Быстрого Реагирования. Корабль их компании, делающей хорошие и качественные телефоны, часто заносило розой ветров в океан влияния патентных акул Apple. Я, пожалуй, ничего не буду говорить по поводу этого нонсенса с патентами. Эти войны должны прекратится, от этого выиграют все. Ну разве что кроме юристов.

В любом случае, HTC сделали первый телефон от Google (G1 на закате 2008) и продолжали радовать лучшими телефонами на Android в течении следующий трех с половиной лет. Desire, Sensation, XL (с крутыми битами от Dr Dre), а теперь еще и четырехядерный HTC One с поддержкой 1080p, обзор которого я планирую написать в ближайшее время, он пока еще недоступен в Новой Зеландии. И это точно не конец, несмотря на его высокие характеристики, он все еще поддерживает только 3G сети. Как же они назовут 4G модель? The This Really, Really, Really Is The One, Promise?

Иногда HTC (аббревиатура привлекательно расшифровывается, как High Tech Computer) может плоховать. Как можно снять заднюю крышку отсека батареи, не подорвав все свои ногти? Как в Rhyme могла закончится память, когда я установил только Dropbox и Evernote? И зачем они предлагают этот ужасный собственный клиент для Twitter? Но в целом, скорость их реагирования, милый и современный дизайн, “урашения” Android с помощью HTC Sense, их Hub, их ценовая политика и постоянные релизы новых телефонов позволяют им очень крепко держаться на плаву. А иногда у них получается придумать что-то настолько оригинальное и глупое, что остается только хлопать в ладоши (глупо смеясь). Хороший пример - The Charm, вы можете посмотреть все видео целиком, или же сразу перемотать его до 1:13. Жутко тупо, но прикольно.

Везунчики из Samsung

Samsung, производитель телефонов из Южной Кореи, похоже пережил эти годы этой войны с Apple с наименьшими потерями. Они экспериментировали и преуспели с OLED и AMOLED экранами, они опробовали все направления развития железа, они передрали идею и дизайн iPad даже до его релиза, но все же выжили. Даже больше, они не только выжили, но и процветают.

Далее следует обзор телефона Galaxy Note от Стивена Фрая, который не представляет какого-либо интереса для тематики этого поста, поэтому я его и упустил.

Вернемся к нашей теме

Каждое утро, возвращаясь к вопросу, который стал первопричиной этого непростительно огромного блэссэ, я тру подбородок и спрашиваю сам себя. The Note или HTC XL?

Разумеется, iPhone отправляется в один карман. Lumio или HTC HD7 на Windows Phone 7 (не долго думая, беру тот, чья батарея заряжена) кладется в другой карман. BlackBerry Bold занимает почетное место в третьем кармане и тут мне приходится выбирать телефон на Android.

Samsung или HTC?

Я много пользовался Note и, как это часто бывает, когда ты даешь устройству время, тебе начинают нравится те вещи, которые до этого вызывали раздражение. Выбирать между HTC и Samsung - это как выбирать между двумя машинами, у которых приборные панели находятся с разных сторон руля. Вы случайно включаете дворники, пытаясь показать левый поворот. У HTC и Samsung “качельки” громкости расположены с разных сторон, это жуткая путаница. Но это мелочи. Android, как и Windows Phone, - хорошие альтернативы iOS и два эти устройства достойны того, чтобы вам их отрекомендовать.

Последствия шоковой терапии

Отголоски “взрыва” успеха iPhone все еще ощутимы. Palm и Sony Ericsson стали страницей истории. BlackBerry, сдулись и исчезли с поля боя, потеряв миллиарды долларов. Nokia и Microsoft восстанавливаются после не лучших времен. Google процветает от всего, что его окружает: как от экосистемы приложений Apple, так и от огромной доли присутствия Android устройств на рынке. HTC и Samsung продолжают лидировать на рынке OEM, присутствие LG и Motorola проявляется волнообразно, то спадая, то снова возрастая. И конечно же Intel начал прощупывать перспективную территорию.

Будущее

В течении следующих четырех с половиной лет вычислительная мощность и функциональность компьютеров в наших карманах снова перевернет все с ног на голову. NFC и другие формы беспроводного взаимодействия без сомнения совершат революцию в сфере нашей работы, развлечений и покупок в реальном мире. Следующим шагом развития в процессе пожинания плодов Закона Мура станет интеграция миниатюрных, но мощных, как и большинство современных смартфонов, устройств в приборные панели автомобилей, холодильники, кассовые аппараты, оборудование аэропортов и вокзалов, галереи искусств, спортивные арены, рестораны, которые с помощью того же NFC или биометрических данных смогут взаимодействовать с нашим личным "Облаком", в том числе, и с нашим банковским счетом, куда бы мы не шли.

Но разве эти мои мысли что-то значат? Я думал, я никогда не научусь печатать так быстро на виртуальной клавиатуре, как я печатаю на реальной. Я думал, что зеленая футболка будет смотреться с этими брюками. Я слишком много думаю...
Пишем Skype бот с искусственными мозгами
пост написан и отправлен в печать 2012-03-28 примерно в 17:57
Существует два способа взаимодействия со скайпом. Первый и основной - SkypeKit. Это набор из бинарного ядра, заботливо собранного мейнтейнером для всех ОС, и биндингов к нему на питоне, джаве и плюсах. Все это доступно по подписке, которая стоит 5 долларов разовым платежом и поставляется со скудной документацией, которая представляет собой скорее описание API (нам не привыкать к Epydoc, ага), да и то не всех методов и свойств. Зато в нагрузку вы получите с десяток разных предупреждений о секретности и конфиденциальности полученных файлов. А вот качество реализации очень хромает, ваш покорный слуга так и не смог найти тот event, который поднимается при получения запроса на авторизацию. В интернете, что характерно, информации тоже сущие крупицы и, в большинстве своем, по биндингу на C++, но, разобравшись со всем необходимым функционалом методом проб и ошибок, вы получите доступ к абсолютно всем функциям Skype. Ну и для запуска бинарника ядра из SkypeKit SDK в той же Linux версии никакие иксы не нужны, что тоже заметное преимущество перед вторым способом - Skype API. Этот вариант представляет из себя набор протоколов взаимодействия с скайповым гуем через Skype.framework для MacOS, X11 и DBUS для Linux, COM-интерфейс на Windows. Основные минусы: острая необходимость в запущенном клиенте, который жрет ресурсы и требует наличия иксов, ну и относительная глючность, сравнительно с первым вариантом. 

Ходят бездарные слухи, что в скором времени мы получим еще и третий способ - нативная библиотека без каких-либо лимитов. Подобные разговоры начались после деобфускации бинарника скайпа и продолжаются по мере наполнения репозитория https://github.com/skypeopensource/. Хотя, между нами, девочками, наполняется он кодом такого низкого качества, что меня одолевают сомнения, будет ли доведен проект до рабочего образца.

Я решил использовать SkypeAPI. Прежде всего, я вообще не знал о существовании SkypeKit, вот такой вот стыдный прокол. Впрочем, оно и к лучшему, меньше времени ушло на написание того, что не работало. Аналогов необходимых мне функций, доступных в старой питоновской библиотек Skype4Py, в SDK просто просто не оказалось. Допускаю, что я просто плохо искал, но тем не менее. Бота мы с вами будем писать не простого, а умного, который сможет поддерживать элементарный разговор, ну или даже послать. Тут нам на помощь приходит AIML - XML-производный язык разметки логики ботов в стиле "поболтать". Совсем удачно нашлась и библиотека PyAIML, которая сделала создание умного болтливого робота делом трех строк кода. Для начала, нам нужны мозги. 

Мозги можно взять в мясном магазине, стушить их вместе с цветной капустой или спаржевой фасолью, подать с белым вином, забив на продолжение этого поста. Если такие кулинарные изыски вас не прельщают, то открывайте Google Code, куда добрые люди выложили и до сих пор продолжают комитить большой жирный сет aiml-ок, которые помогут машине начать думать и чувствовать. Прежде чем продолжить, нужно перевести мозги из XML разметки в бинарный формат, иначе каждый раз ваш бот будет запускаться по 5-10 минут. Все это делается с помощью такого простого кода на Python. Будьте готовы к исправлениям файлов своими собственными руками, многие из них просто не проходят валидацию и парсер отваливается с печальными новостям. Обычно все проблемы либо в незакрытом теге, либо в неэкранированном спецсимволе, или точке гулящей. Процесс это утомительный и неспешный, но во всем есть свои плюсы: по мере редактирования вы познакомитесь с синтаксисом AIML.

На этом можно было бы и закончить, 3 строки кода и ваш бот научился говорить и отвечать на полученные сообщения.  Но нам все мало. Давайте приделаем возможность взять трубку и поговорить голосом с заделом на кроссплатформенность, сведя зависимости и сложность кода к минимуму. Для этого мы будем использовать 2 бинарника, которые собираются под всеми системами, и 2 неофициальных APIшки от Google. Внимание, код и описание предоставлены исключительно для ознакомления. Я настоятельно не рекомендую нарушать лицензионное соглашение. Помни, каждый раз, когда ты отправляешь запрос по этим ссылкам, Эрик Шмидт убивает котенка. Нужно было написать, уже были прецеденты. Вернемся к нашим API. Первый - TTS, который используется в Google Translate и переводит текст в MP3. Как это работает, можете посмотреть в коде. Впрочем, рано радоваться - наш Skype не поймет, если ему в Output канал мы будем засовывать не теплый ламповый WAV (16Khz, 256kb/s, Mono), а ужатый MPEG. Я пытался декодировать с помощью медиакомбайна ffmpeg, но Скайп наотрез отказывался понимать полученный файл. Именно поэтому, мы и будем использовать mpg123, который очень быстро справляется с поставленной задачей. Вот так у нас и получилась функция перевода текста в речь, которую вы можете использовать в любом проекте. Идем дальше - записываем 10 секунд речи нашего собеседника и тут бы не помешало перевести ее в текст. Нам опять поможет Google и API, выдранное из Хромиума, которое как раз этим и занимается. Тут возникает следующая проблема -  отдавать нужно не WAV, a FLAC. К счастью, есть одноименный проект на сурсфорже, который мало того, что кроссплатформенный, так еще и быстрый, как воображение школьника в женской раздевалке.

Итог запускается вместе с скайповским GUI в каком-то Xvfb или даже в Xvnc, что предпочтительней, так как вам нужно будет подтвердить права доступа нашей программы к API кликом мыши. В качестве проверки можете написать или позвонить на ID alice.mindcollapse. Она будет доступна не круглосуточно. Если остается молчаливой - значит ушла спать вместе со мной и ответит, главное, отошлите ей запрос на авторизацию. Ах да, в блог, следуя моде, вернулись социальные кнопки. Теперь все в ваших руках: стоит ли мне писать о своем первом сексуальном опыте со слепой усатой проститукой, или рассказывать о написании модуля ядра для Embedded Linux. Просто перейдите на веб версию поста и щелкните лениво мышкой, поставив +1 или рассказав братюням. Ван лов, пацанва. 
Обзор Lightpack 6: сам себе Philips Ambilight
пост написан и отправлен в печать 2012-03-18 примерно в 21:39

После просмотра видео, у вас наверняка возник немой, но вполне ожидаемый вопрос - qu'est-ce que c'est et pourquoi est-il nécessaire? Тут все просто, однажды в компании Philips решили, что было бы вполне неплохо изъебнуться и встроить в жопную часть своего телевизора RGB светодиоды, которые будут светить на стену (и не просто так, а в зависимости от цветов на экране), визуально увеличивая диагональ экрана и уменьшая световой перепад при просмотре чудес кинематографии в темной комнате. Решили и, что качественно отличает этих ребят от инноваторов из Сколково, запилили, назвали Ambilight, крутанули рекламу, но как-то народ почему-то не оценил. Возможно, очередная фокус группа состоящая чуть более, чем полностью из воинствующих эпилептиков, страдающих дальтонизмом, забраковала фишку, посчитав ее слишком сложной и непонятной для конечного потребителя, возможно, все погнались за новомодным 3D, оставив этот теплый ламповый свет в прошлом, возможно, все проблемы в том, что хитрожопые голландцы из филипса быстренько запатентовали концепцию, оставив всех стальных за бортом со связанными руками. Но это и не важно, идея получила отражение в творчестве народных масс, о чем чуть ниже.

Я давно заприметил эту интересную технологию, но раньше у меня телевизор стоял напротив окна, что, разумеется, лишало какой-либо возможности проецировать свет из задницы на отражающую поверхность. Да и все решения на тот момент времени состояли из каких-то DIY комплектов. Я, конечно, паять всякие мелочи умею, но вот возиться с хлорным железом, утюгом и SMD не было ни малейшего желания. А тут получилось выделить отдельную комнату под домашний кинотеатр и как раз случайно наткнулся на лепре на ребят из Ижевска, которые поставили производства plug and play комплектов для ambient light на конвейер. Я попал практически в конец предзаказа, 4 недели ждал изготовления и еще 2 доставки из Удмуртии в Украину. Фотографировать весь комплект до начала установки я не додумался, уж больно долгим было ожидание, но при желании вы можете посмотреть все в топике на хабре, я лишь отмечу сильные и слабые стороны подобного решения. 

Наверняка, существует какое-то научное объяснения всему этому, но смотреть фильмы с ambient light очень приятно. Прежде всего, нет яркого контраста черной стены и дисплея. Особенно это чувствует при резкой смене яркости, глаза не слепнут. Эффект прекрасно выглядит на динамических сценах. Ну там где много взрывов, погоней, лазеров, бластеров и прочей хуиты. Про увеличение диагонали экрана мне судить сложно, все же наличие черной рамки экрана визуально ограничивает зону просмотра, но определенного эффекта присутствия это добавляет. Вообще, все плюсы сводятся к тому, что ты не замечаешь наличия лайтпака, он делает свое дело, но от поисходящего на экране постоянными миганиями не отвлекает, как это может ошибочно казаться при просмотре ютубовского видео. Однозначным плюсом является хорошее и удобное мультиплатформенное ПО, ну и отсутствие необходимости чего-то паять, крутить, зачищать. Наклеил, настроил и наслаждаешься.

Но, как всегда, есть и минусы. Прежде всего, основной объективный недостаток - необходимость наличия компьютера для передачи данных устройству о цветах того, что происходит на экране. Повторюсь, недостаток объективный, лично я уже очень давно использую неттоп Zotac в качестве HTPC, чего и вам желаю. nVidia ION способна лишь на это. Алгоритм и сама концепция съема цветов непосредственно с видеосигнала защищена филипсовским патентом, да и достаточно дорогостоюща в плане железной реализации, для анализа HDMI потока одним микроконтроллером и парочкой драйверов светодиодов уже не обойтись. Есть и конструктивные недочеты. Клеющаяся лента на задней стороне светодиодных лет сделана из хуй пойми чего, они вообще нифига не держатся, хотя лично у меня поверхность поклейки имеет железную шершавую поверхность и была заблаговременно обезжирена спиртом. Ну и кого-то, возможно, может отпугнуть цена, мне с доставкой получилось что-то около 4090 руб., что равняется чуть больше штуки гривен в пересчете на наши с вами.

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

Чуть позже у нас будет обзор Raspberry Pi. Тут мне повезло меньше, в первую волну рассылки я не попал, деньги с карточки сняли, а обещают отправить только в начале мая. Хотя я до сих пор не понимаю, зачем мне оно нужно. Ну и напишу детальный review нового фотоаппарата (переходное звено между мыльницей и зеркалом) Canon G12, именно на него и проходили съемки вышепоказанного ролика. Не судите строго, бедняга снял вполне достойное видео, хотя и сходил с ума от ярких цветов и низкой освещенности, ну и ютуб, как всегда - изговнял всю малину. Ну и за жизнь чего-то напишу. Stay tuned!