понедельник, 5 декабря 2011 г.

Инновационная Россия-2020

Изучил проект стратегии инновационного развития Российской Федерации на период до 2020 года. Набросал свои заметки, а потом… потом понял, что это неисправимо. Смысл обсуждать теряется, настолько все неисправимо, неправильно написано. Дам свой прогноз: эта стратегия, как и предыдущая, не будет и на 10% исполнена. Знаете почему?

В стратегии хорошо оперируют статистикой, излагают очень грамотно. Но ведь мы же знаем коварство статистики? Статистику совсем не сложно подогнать под нужный нам результат. Первое ощущение от проекта стратегии: результат подгонялся под “хотелку” заказчика. Ну это субъективно. Просто ощущение. Давайте же дальше.

Основная претензия с моей стороны: при подготовке документа ведущую роль играли экономисты. Для них естественно оперировать стат.данными. И им кажется логичным, что если среднестатистически получить такие же показатели инновационного развития как и у лидеров, то мы “автоматом” задачу выполнили: у нас тоже инновации будут развиваться не хуже, чем у “них”. Если это не так, значит надо еще показателей добавить, что-то еще учесть и уж тогда точно все получится. В том то и “засада”, что не получится. Вот попробуйте вписать в эти показатели фейсбуковские “хакатоны”, гугловских массажистов, потоки от Джоэля Спольски. Правильно, это все не имеет под собой экономического обоснования и статистически не может быть учтено. Но ведь это- те самые мелочи из которых складывается атмосфера инноваторства.

Еще один пример. Уважаемый господин Вексельберг сказал как-то в интервью о том, что создаваемый в Сколково университет станет основной всей экосистемы. Что вокруг него будут создаваться стартапы, кипеть мысль ученых. И финальная фраза высказывания: “Это обязательно будет, этого не может не быть!” Ну, конечно, если походить к этому как экономист, то все верно: если целевые среднестатистические показатели получить не хуже чем в США, Китае, Таиланде, то результат в кармане. Куда деваться этим ученым-то?

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

А массажисты, а потоки, а хакатоны? Где все это? В какие-такие экономические показатели они укладываются? С точки зрения экономиста- это все нецелевые траты.

Понимаете, что я хочу сказать? Не могут экономисты писать такие стратегии. Просто потому, что они не понимают что нужно инженеру для того, чтобы самозабвенно изобретать что-то необыкновенное. Это “что-то” не описывается никакими среднестатистическими показателями. Тысячи университетов существуют по всему миру и только вокруг единиц возникла экосистема стартаперства, Множество попыток было повторить успех Кремневой долины, но только у единиц есть скромный результат.

Ну вот, поворчал я, поворчал, а что сам-то могу умного предложить? Я бы предложил писать такой документ от проблемы. Какую проблему нам надо решить? Глобальная стратегическая проблема- демографический провал, который нас накроет к 2020 году. Что нам поможет? Автоматизация, иммигранты. Ну и далее в таком духе. От проблем надо отталкивать, а не от взятой из пустоты фразы: “Россия ставит перед собой амбициозные, но достижимые цели долгосрочного развития – обеспечение высокого уровня благосостояния населения, закрепление геополитической роли страны как одного из глобальных лидеров, определяющих мировую политическую повестку дня. Единственным возможным способом достижения этих целей является переход экономики на инновационную социально-ориентированную модель развития.”

Это была моя общая претензия к документу. Ниже следует список моих заметок на полях:

  1. Не учитывается готовность людей к восприятию инноваций, готовность рынка в целом. Говорится про "инновационного человека" не как потребителя, а как производителя инноваций. Про инновационного человека вообще бредятина- экономист писал, 100%.
  2. Это точно: "…технологическая революция в ресурсосбережении и альтернативной энергетике резко повышают неопределенность в развитии России, основу специализации которой на мировых рынках составляет экспорт традиционных энергоносителей."
  3. Не учитываются вопросы демографии и прихода минимума именно к 2020 г. Нужно не просто привлекать иностранных специалистов, но и иммигрантов.
  4. Ага, если экономисты и далее будут писать стратегии, то и получим: “В то же время, из запланированных в Стратегии развития науки и инноваций в Российской Федерации на период до 2015 года (далее – Стратегия развития науки и инноваций) результатов на первом этапе (2006 – 2007 годы) достигнуто менее трети. Прежде всего это касается индикаторов, существенно связанных со спросом на инновации в реальном секторе.”
  5. ЖУТЬ, ШКОЛА ПОРТИТ НАШИХ ДЕТЕЙ: “На этом фоне важным исключением является резкий рывок в качестве чтения и понимания текста в начальной школе – по результатам PIRLS-2006 (Progress in International Reading Literacy Study) Россия заняла первое место (вместе с Сингапуром и Гонконгом) поднявшись по сравнению с 2001 годом  сразу на 13 мест, при этом российские четвероклассники демонстрируют практически одинаково высокий уровень чтения и понимания как литературного, так и научно-популярного текста. Это значит, что стартовые позиции российских школьников «на выходе» из дошкольного и семейного образования лучше, чем у большинства сверстников в других странах. Базовое образование следующих уровней эти преимущества фактически нивелирует. Так, российские школьники старших классов уступают своим зарубежным сверстникам из развитых стран по большинству показателей уровня знаний по математике (38-39-е место из 65 стран), тем же навыкам работы с текстом (41-43-е из 65 стран), знаниям в области точных наук (38-40-е из 65 стран).”
  6. Это и есть смерть высшей школы, о чем я писал ранее: “Сложной остается ситуация в части преодоления разрыва поколений, сформировавшегося в российской науке в 1990-х годах. Хотя в 2000-х годах доля ученых в возрасте до 29 лет в общей численности исследователей росла, но параллельно вплоть до 2006 г. не происходило роста следующей возрастной категории (30-39 лет), что означает неспособность многих исследовательских организаций удержать молодых специалистов.”
  7. Да! “Создание мотивов важнее остального: Критическими проблемами инновационного развития сегодня являются создание мотивов инновационного поведения всех субъектов экономики и углублении их кооперации с сектором исследований и разработок с опорой на созданную и развивающуюся инновационную инфраструктуру.”
  8. ДА “…у нас просто конкуренция еще не развита: Бизнес должен воспринимать инновации не как «хобби», и тем более не как обязанность перед государством, а как жизненно важную для перспектив развития компании, повышения эффективности и занятия лидерских позиций на рынках модель поведения.”
  9. Задача "Формирование территорий инноваций" мне кардинально и категорически не нравится.
  10. Не учтен базис- совершенно не инновационный бизнес, который делает инструментарий для инноваторов. Например, тривиальные качественные корпуса, без которых и тривиального смартфона не сделаешь.
  11. "Одна из важнейших задач в этой сфере – формирование глобально конкурентоспособных преподавателей, исследователей и управленцев. При этом высшее образование в перспективе должно быть интегрировано с научной деятельностью." А сейчас разве не так? Иначе бы моя диссертация не начиналась со слов "Исследование и разработка..."
  12. Золотые слова: "Формирование компетенций «инновационного человека» должно начинаться еще до школы – во многом именно на этой стадии и в начальной школе закладываются основы навыков по критическому восприятию информации, способности к нестандартным решениям, креативность, изобретательность, способность работать в команде, навыки социализации. Дальнейшее образование может эти навыки развивать, но очень редко может сформировать их заново."
  13. Мало, надо платить больше: "Результатом предпринимаемых мер станет выход среднего уровня оплаты труда научных сотрудников в секторе исследований и разработок до 125% от средней по экономике к 2016 году и 130% к 2020 году."

воскресенье, 23 октября 2011 г.

ASP.Net vs Python ;)

Я об этой статье: “Linux, или туда и обратно”. Как-то так совпало с моей ситуацией. Просто расскажу в добавок к ссылке свою историю, без выводов- вы их сами делайте.

Мне нужно было написать мааааленький web-сервис. Бесплатно- не хочу платить деньги за вещь, которая мне никогда денег не принесет. Я выбрал Google AppEngine и стал писать на Python. Я столкнулся с тем, что немало времени занял разбор документации и установка среды разработки (Eclipse). Но это ерунда. Потом каждая строка кода стоила по времени очень дорого. Буквально каждая строка “сопротивлялась” и “не хотела работать”. Я копался в доках, спрашивал по форумам, лазал по исходникам. Чай, умения мне в этом не занимать- за плечами 15-летний опыт программирования. Делал по вечерам, неспешно… И так прошел ГОД.

Потом я у видел у godaddy.com бесплатный хостинг ASP.Net, очень скромный по характеристикам, но мне хватит. Для меня ASP.Net такая же “темная лошадка”, что и Python- я никогда не программировал ни в Eclipse на Python, ни в VS на ASP.Net. Но я решил попробовать. И тут случилось УДИВИТЕЛЬНОЕ. То, что я писал на Python для Google AppEngine год, я написал в бесплатной Visual Studio Express 2010 на ASP.Net за… ОДИН ВЕЧЕР.

Мне очень помогало, то что студия быстро установилась и без каких-либо настроек можно было приступать к работе. Хорошая среда разработки- “автокомплит”, мощный отладчик, а также развесистый фреймворк. Может, это как-то помогло столь разительно быстрее достичь результата на ASP.Net, чем на Python… а может и нет- выводы сами делайте.

четверг, 29 сентября 2011 г.

Заметки о форуме Microsoft Innovation Day 2011

Ссылка на сайт форума: http://www.microsoft.com/ru/ru/isv/forum/innovationday.aspx.

Форум состоял из двух частей: для технарей и для руководителей. Подробности, видео смотрите на сайте. Я по пунктам перечислю свое ощущение от увиденного.

  1. Очень интересно свел вместе разнородные данные выступающий от IDC. Привел график по численности населения- видно, что в перестроечные времена рождаемость резко упала (“на глазок”- раза в два). Теперь это поколение подросло, и к 2020 году должно заменить на рынке труда уходящее на пенсию старшее поколение. Вот и получается, что, фактически, не кем заменять будущих пенсионеров! Кадры станут дефицитным и, видимо, дорогим ресурсом. Следующий график- рост численности серверов. Их надо кому-то обслуживать- а не кому! Т.е. проблема высококвалифицированных кадров к 2020 году будет просто “аховая”: потребности растут, а специалистов становится все меньше и меньше. Понимаете теперь почему хотят поднять пенсионный возраст в правительстве? Но меня, как программиста, этот доклад успокоил: цена моей работы возрастет, и работы будет много.
  2. Оказывается по данным NIST их MS SQL Server является самым безопасным: SQL Server- 49 уязвимостей; Oracle- ~300 уязвимостей; DB2-121; MySQL- 98. За последние 6 месяцев уязвимостей не найдено вообще. Вау! NIST- это вам “не хухры-мухры”. Уважаю.
  3. Один из недостатков “облаков”- это привязка софта к конкретному “облаку”. Перепрыгнуть в другое “облако” очень тяжело. Ситуация, как бы, выгодная для Microsoft. Но, тем не менее, Дмитрий Мартынов поднял тему миграции между “облаками”, а также обратной миграции из “облака” к клиент-серверу или локальному решению. Удивила такая готовность предложить обратную миграцию.
  4. Не знал про Azure, что их “облако” умеет работать в 3 режимах. Можно вообще образ системы залить, и он там будет “раскатываться” по серверам. Т.е., реально, можно любое ПО таким образом в “облако” засунуть. Грубо, но можно. Молодцы, круто сделали. И про миграцию подумали, и про обратную миграцию. С ходу и не подкопаешься.
  5. Миграция- то ладно, а вот непривычно было, что сотрудники Microsoft не только хвалят, но и про недостатки своих продуктов говорят. Смело так говорят: “Как было можно сделать…! Я возмущался, пинал их…. Обещают сделать.” В таком духе. А я-то думал, что у них с этим строго- никакого негатива и точка. Это очень хорошо, что про недостатки рассказывают тоже- когда сам, лично, на них напарываешься, то это создает гораздо более сильный негатив, чем если просто послушать про это на форуме.
  6. Я привык, что главные докладчики- директора, руководители- после выступления сразу сматываются. А тут, смотрю, Ложечкин сидел всю “пленарку”. Хотя после своего первого 15-минутного доклада мог и уйти. Непривычно.
  7. Если на “пленарке” сидели все вместе- и программисты, и руководители, то потом разбились по секциям. И прямо до смешного стала видна разительная разница во внешнем виде. На секции для технарей сидели люди в свитерах, рубашках, брюках, с длинными волосами- свободный стиль одежды. На секции для руководителей народ сидел в пиджаках, при галстуках, весь из себя чинный- формальнее некуда.

В целом, все, о чем говорили докладчики, давно уже опубликовано. Как источник информации форум скучен, не интересен и бесполезен. Но вот там, в программке есть последний пунктик: фуршет на 1,5 часа. Это неформальное общение, заведение знакомств. Т.е., как одну из задач форума, можно указать стимулирование создания и поддержания экосистемы вокруг продуктов компании. Чтобы люди встречались, обсуждали, знакомились, сотрудничали, чтобы их сотрудничество порождало синергетических эффект, усиливающий экосистему вокруг продуктов Microsoft. Наверное как-то так. А еще, это информационный повод, чтобы о Microsoft писали СМИ. С этих позиций организация форума имеет смысл.

воскресенье, 14 августа 2011 г.

О работе за границей

Кадровое агентство Pruffi опубликовало интересный сравнительный анализ: http://slon.ru/blogs/zlatanik/post/608558/

С одной стороны- он простой, с другой- там именно та информация по зарплатам, что интересует чаще всего: сколько платят и хватит ли этого на жизнь за границей. Тут же привожу ссылочку на одну из моих ранних статей на эту тему: http://itspeciality.blogspot.com/2008/04/blog-post_21.html Сравните мои выводы с данными из исходной статьи- все очень хорошо совпадает.

среда, 3 августа 2011 г.

Обзор зарплат «мобильных» разработчиков

Полезная ссылка: http://habrahabr.ru/company/it_dominanta/blog/125500/. Видно, что под Android потребность в разработчиках чуть меньше, чем по iPhone, но незначительно.

Если хотите научится программировать, то достаточно прийти в  компанию и сказать: “Хочу стажером”. Научат. И даже зарплату дадут неплохую- около 20 тысяч рублей. Главное, стараться, а то и месяца не пройдет, как вылетите даже с такой халявной должности как стажер.

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

По ведущим специалистам картина адекватная. Несмотря на то, что Senior C++ developer выглядит заманчиво со своими 156 т.р., надо понимать, что это очень высокий барьер. Надо очень много знать и уметь на такие деньги.

Ну, и плюс к перечисленным в статье советам для начинающих, советы от меня.

вторник, 26 июля 2011 г.

К вопросу о классификации ПО

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

В технике давно уже сложилось соответствующее деление изделий по исполнению: коммерческое, промышленное, военное. Есть еще деление по климатическим зонам. А есть еще носимая техника, переносная, стационарная. Т.е., это все- классификации самого изделия. В то время как СПО и проприетарное- это характеристика условий использования ПО (условий лицензирования). Т.е. к самому продукту это отношения не имеет. Поэтому слово “свободное” не имеет права находится рядом с фразой “программное обеспечение”, также как и “проприетарное”. Распространение ПО давно уже никто не ограничивает. Я как-то купил журнал “Вокруг света”, и в нем был диск в MS Office 2007. Пожалуйста, устанавливайте сколько угодно, пользуйтесь 60 дней бесплатно. Понравилось- платите, иначе- удаляйте. Т.е., получается что MS Office, как продукт, как набор битов, записанных на носитель, распространяется свободно. А вот лицензий на него множество: для школ, для журналистов, писателей, стартапов, крупных предприятий, работников крупных предприятий, простых индивидуальных покупателей- для каждого можно подобрать лицензию. Лицензию на один и тот же набор свободно распространяемых битов.

Почему важно “отделить мух от котлет”: ПО от условий его использования, четко определить терминологию и правильно классифицировать продукт? Вот, например, последняя, актуальная тема “Национальная программная платформа” (НПП). В документах официально пишется термин СПО. При этом всем ясно, что речь только о Linux. Но ведь это неверно! Под термином СПО может быть и MS Windows и Mac OS- вопрос в том, по какой лицензий они будут предоставлять свое ПО для участников программы НПП. А Microsoft на недавней сделке с Газпромом показала очень высокую гибкость, предоставив им особые условия лицензирования и скидку в 70%. Кроме того, компания давно уже открывает исходные коды гос.органам, крупным своим партнерам. Более того, компания раздает кучу ПО бесплатно. И Windows, и Office уже давно распространяются на принципу shareware. Да Microsoft СПОшнее, чем ALTLinux с Madriva’ой вместе взятые! Может быть, в НПП надо определять типовую лицензию, допуская к участию тех, кто предоставляет свое ПО, которое, помимо других требований, можно будет использовать в соответствии с типовой лицензией НПП?

А то получается, что неправильно подобранная, и своеобразно трактуемая терминология отсекает от участия в программе огромный пласт высококлассного ПО! Более того, давайте посмотрим, что же на самом деле остается в рамках придуманного термина СПО. Ведь так или иначе, речь идет именно о Linux и стеке технологий на базе этой платформы. Если отказаться от словосочетания СПО, то как это все назвать? “Все”- это сам стек технологий, доступность исходных кодов, возможность бесплатной установки и использования и т.п.- то, что большинство специалистов как раз и понимает под сокращением СПО. Повторяю. Исходная задача: терминология, классификация.

Придумывать новую терминологию без необходимости не надо, тем более, что в данном случае нам хватит существующих терминов. Давайте взглянем на мир Linux. Независимые разработчики, как их называют, пишут код. Вечером, сами для себя, для фана- это хобби. Как есть люди, которые любят копаться допоздна с машиной, или увлекаются радиоспортом, или ходят регулярно на футбол- поиграть с приятелями, с такими же увлеченными, как и они людьми. Так и программисты есть, для которых хобби- программирование. Он написал программу- поделился с другим. Другой что-то еще дописал. Третий сказал: “Ерунда!” А ему в ответ: “Вот код- сделай как тебе надо!” Кто все эти люди? Это ЛЮБИТЕЛИ! Радиолюбители, автолюбители, книголюбы, фанаты- все эти люди в свое свободное время делают то, что им нравится. То, что они делают, называют любительскими поделками: “Я захотел и сделал, а если тебе не понравилось, то на- переделай или сделай свое. Мне и так нравится.” Ведь именно так сторонники СПО говорят!

Верные и очень точные термины: программисты-любители и любительское программное обеспечение. Отсюда и классификация ПО “автоматом” выплывает: любительское ПО, профессиональное ПО. Старые, добрые термины, понятная классификация.

Пока вы пишите программы для себя- это хобби, это фан. Как только вы начинаете на них зарабатывать, то за деньги берете на себя уже определенные обязательства. Например, по технической поддержке. А это уже профессиональная лига: “сэйлзы”, маркетинг, “суппорт” (например, вспомните историю фирмы Apple). И для конечного пользователя это уже стоит денег. Назовите эти расходы как хотите: за лицензию, за техническую поддержку, но это деньги. И пользователь уже начнет сравнивать ПО между собой и по деньгам.

И вот тут две неприятности для любительского ПО всплывают.

Первая- это цена. Как только вы переходите в категорию профи, то против вас начинает играть сильный соперник- например, Microsoft. У них большая доля рынка, поэтому они могут позволить себе сильно снизить общую цену лицензии на ПО (покупка, плюс техническая поддержка). Бывшим любителям никуда не деться от организации таких же структур по продаже ПО- и “продажники” нужны, и маркетинг, и “саппорт”, и бухгалтерия, и.т.д. и т.п. Только рынок у них меньше, а, значит, чтобы быть в прибыли, надо поднимать цену. Вот, что писал недавно один из участников обсуждения темы СПО:

“Про это распоряжение узнал месяц назад, когда нас озадачили составить список ВСЕГО софта, используемого у нас и в филиалах. А сегодня все-таки решил поподробнее изучить цену вопроса.
В итоге нашел, что это СПО будет обходиться намного дороже MS.
Цена лицензии "0 руб.", но ОБЯЗАТЕЛЬНАЯ поддержка на каждое устройство (сервер или рабочую станцию) будет обходиться от 2 до 24 тыс. руб. в год!!! Таков порядок лицензирования.
При всем этом, срок решения вопросов поддержки от 2 до 10 дней, при условии, что ее удается решить в этот срок, в противном случае проблема "признается нерешаемой"... и как дальше поступать пользователю - тишина.
Все сведения взяты с официальных источников:
http://tp-npp.ru/ - Координатор технологической платформы ОАО "Концерн "Сириус" (Государственная корпорация "Ростехнологии")
http://www.altlinux.ru/ - основной поставщик СПО госорганам
http://www.altlinux.ru/fileadmin/prod..._tp_01.pdf - Купон технической поддержки.“

Чудес не бывает- то, что называется СПО или в “человеческой” терминологии любительское ПО, которое перевели в разряд профессионального ПО, априори будет дороже лидеров рынка в соответствующей ниши. Именно в силу своей мизерной доли рынка. И исходная его бесплатность разработки практически никак не поможет снизить цену. Это точно не будет столь существенно, чтобы составить серьезную конкуренцию лидерам рынка.

Вторая неприятность- это предложенные термины. Ну как вы себе представляете, чтобы в документах НПП значилось использование любительского ПО? Засмеют. Вот СПО- солидней звучит, и, видимо, не важно, что это полный бред (а почему не важно? неужто опять денежки пилят?).

В итоге:

1. Предлагаю использовать терминологию любительское/профессиональное ПО вместо свободное/проприетарное ПО.

2. Товарищам, занимающимся НПП предложить (интересно, есть ли смысл предлагать?) определить типовую лицензию использования ПО, а не указывать определенную группу ПО. А то получится, что НППшники получат кучу любительского ПО по очень высокой цене- классический вариант: “Хотели как лучше, а получили как всегда”.

понедельник, 11 июля 2011 г.

Советы по прохождению собеседования

Наткнулся на ссылку с верными советами о том, как надо вести себя при прохождении собеседования: http://habrahabr.ru/blogs/google/123831/

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

пятница, 24 июня 2011 г.

Мысли про опрос web vs desktop

В программистской среде пошли дебаты о том, может ли веб полностью заменить десктоп-приложения и я попросил фейсбучных друзей выбрать вариант ответа кто "победит/что лучше": веб, десктоп или "все равно чем пользоваться". В друзьях у меня самые разные люди- далеко не многие из них ИТшники. Поэтому, я ожидал ответа в духе "все равно чем пользоваться". А нет! С небольшим, но все же заметным отрывом победил вариант с десктопом: https://www.facebook.com/home.php?sk=question&id=218739301493362&qa_ref=qd (требуется авторизация facebook)

Притом, вариант с переходом на веб-приложения совсем не прошел- в 4 раза меньше голосов.

Т.е., люди явно за десктоп, несмотря на то, что такое ПО надо инсталлировать (сразу не запустить), потом как-то обновлять его. Кроме того, при переходе на другой комп (дом-работа) это ПО надо иметь на всех компах, чтобы пользоваться им. А еще когда оно глючит, то разработчик этого не видит, в то время как упавший веб-сервис вовремя проконтролирует и подымет. Но, видимо, либо в силу инертности сознания, либо действительно это все не важно, но пользователь за десктоп.

К чему я это. Не надо зацикливаться на "облаках", да веб-сервисах. Десктоп-приложения тоже могут с успехом использовать и "облака", и веб-сервисы. Например, dropbox, evernote. Красиво, мощно выглядит решение, которое использует сильные стороны обеих подходов. В этом ракурсе технологии Silverlight от Microsoft или Adobe Air очень даже хорошо смотрятся. Silverlight умеет работать как в вебе, так и на десктопе, легко инсталлируется и обновляется. Да и людям, судя по опросу, десктоп-вариант больше по душе. А народ (программисты, аналитики) эту технологию уже вовсю хоронит. Может не стоит, а?

четверг, 2 июня 2011 г.

Заметки о деятельности фонда "Сколково"

Вопросы

Эти вопросы задавались многими и ранее. Тут я их просто аккумулировал. А подтолкнула меня к этому статья “Сколково” проиграл китайской компании”. На эти вопросы в том или ином виде ответы есть, но они неудовлетворительны.

  1. Зачем тратить деньги на стройку? 2 млрд. баксов из фонда (2/3 всех выделенных фонду денег) и еще столько же от партнеров. Огромные деньжищи, которые можно было направить на финансирование стартапов. А, если уж так неймется, то разместить фонд в каком-либо существующем городе с налаженной инфраструктурой.
  2. Зачем требовать “прописки” стартапа на территории этой новостройки?
  3. Зачем требовать наличие иностранного специалиста?
  4. Каков список экспертов фонда? Уже не раз я сильно усомнился в их профпригодности.
  5. Почему так мало слышно о реальном финансировании проектов? На сайте (данные за май 2011 г.) из 57 проектов только для 17 указаны суммы финансирования (на моей памяти- двум проектам выданы гранты и это прошло по новостным лентам). Все ли из 17 заявленных получили финансирование? Но тут вопрос многогранный. С одной стороны, проблем с деньгами нет- инвесторов много и фонд тут один из многих. С другой стороны, он не претендует на долю в проекте, т.к. раздает гранты, т.е. его деньги обходятся дешевле проекту, чем деньги других инвесторов. Если смотреть на рынок, то участники прекрасно обходятся без дешевых “сколковских” денег. Очевидно, что эта дешевизна либо мнимая, либо это не ключевой фактор для проектов.

Последний вопрос связан с исходной ссылкой. На последнем РИФе был такой момент. Один из ведущих заохал по поводу налогов, мол высоки. В ответ уважаемые люди, владельцы бизнесов зашикали на него: “Налоги- это далеко не самая большая проблема для бизнеса.” Т.е., по поводу налоговых льгот фонда “Сколково” можно сказать:

  1. Это нечестно. Льготы эти принадлежат государству. Фонд никаких расходов тут не несет (не фонд, а государство не досчитывается денег в казне из-за предоставления этих льгот). Более того, вызывает сомнение законность этого действия. Только подумайте: частное лицо, не государственный служащий, решает кому предоставить льготы от государства. Это прямая приватизация функций государства, не так ли?
  2. Это мало интересно бизнесу: льготы не решают насущных проблем бизнеса, при этом взамен обязывают переселиться в Сколково, оплачивать иностранного специалиста.

Таким образом, фонд для бизнеса не очень-то и ценен: на рынке много денег помимо фонда, а налоговые льготы- это далеко не самая большая головная боль предпринимателя. Вот, в результате, и получаем такие истории, как с “Ситрониксом” (см. ссылку в первом абзаце): выгоднее не иметь дела с фондом.

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

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

Мифы

  1. Развалившаяся дорога к Сколково НИКАКОГО отношения к фонду “Сколково” не имеет.
  2. Бизнес-школа “Сколково” юридически никак не связана с фондом “Сколково”. Соответственно, ее модерновое, красивое здание в котором любит выступать Президент никаким боком с фондом “Сколково” не связано.
  3. Сайт фонда- это обычный сайт, за который заплачены скромные деньги. На сегодняшний день сайт выполняет скромную роль визитки фонда, и не более того. Поэтому то, что он упал, ничего не говорит ни о “распиле бабла”, ни о “неправильной модернизации” и т.п. дилетантских выводах.

PS

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

вторник, 19 апреля 2011 г.

Что скрывается за «облаками»?

Отголоски идеи, предложенной в статье, можно прочитать в ранней публикации. Статья писалась несколько месяцев. За это время произошел неожиданный всплеск к теме «облаков», но никто из обсуждающих тему не продвинулся настолько далеко, как изложено в данной статье.
Как бы в подтверждение моих мыслей, пока писалась эта статья, «ВКонтакте» объявили, что добавят возможность скачивания видео из соц.сети по протоколу torrent. Одна из причин- снизить нагрузку на сервера.

Оковы прошлого

К нынешнему моменту развития информационные технологии прошли через несколько значимых точек. Не вдаваясь в подробности, можно выстроить такую цепочку: файл-серверные решения, клиент-серверные, многозвенные. А затем появились решения на базе SOA , cloud. Разработка новых архитектурных решений, появление новых технологий - это попытки ИТ справиться с новыми вызовами, а также устранить недостатки предыдущих решений. Нынешняя недавняя «фаворитка» SOA - далеко не идеальное решение. С одной стороны: централизация управления сулит простоту администрирования ПО, с другой стороны - высокие требования к масштабированию, надежности, безопасности. К тому же, раньше не было единой платформы для разработки SOA-решений, в результате, разработчикам надо было придумывать свои реализации архитектуры. И это только технические проблемы, а есть еще административно-правовые вопросы, не решенные до сих пор. В результате, SOA «не пошла»- старые, добрые клиент-серверные решения в целом оказались удобней в эксплуатации.
Появившаяся технология «облачных» вычислений – это попытка решить некоторые проблемы современных архитектурных подходов проектирования. Обращаю внимание, что я в статье отношусь к «облачным» вычислениям не как к новой архитектуре, а как к реализации архитектуры клиент-сервер. «Облако» обеспечивает единую среду исполнения разнообразного ПО, которая хорошо масштабируется, обладает высокой надежностью. Однако, несмотря на то, что про «облачные» вычисления говорят уж года 3 подряд, повального использования «облачного» ПО нет.
С технической точки зрения причина в том, что «облака» решают очень маленькую часть проблем. «Облака» обеспечивают среду разработки и исполнения, легкость развертывания приложений, масштабирования и, отчасти, повышают надежность, но это все - на серверной стороне. Они никак не решают проблему безопасности в целом и не устраняют ни единой проблемы при передаче данных, и проблемы на клиентской стороне ПО. Для корпоративного сектора эти технические проблемы «облаков» существенны.
Есть ряд сложностей (решаемых, но тем не менее сложностей), связанных с использованием «облаков». Например, тоже масштабирование: отличное решение- выделяемая вычислительная мощность растет пропорционально вашим потребностям. Для начинающего бизнеса сразу получить готовую инфраструктуру, обкатанную, налаженную- это отличное подспорье в начале бизнеса, «высокий старт». А быть как, если придуман новый бизнес-процесс, который даст конкурентное преимущество, а готовое «облачное» решение его не поддерживает? Можно заказать кастомизацию у того же «облачного» сервиса, либо, если у них есть API, попробовать разработать свое решение.
Или другая сложность. Вспомните историю с отключением серверов «Агавы»: пришел сотрудник органов правопорядка и просто отдал распоряжение отключить сервера. Все сервера с тысячами хостингов на них. «Облако» без лишних телодвижений перекинет клиентов на другой ЦОД. Ну, разве что, время отклика возрастет. Но ведь ваша информация оказалась в руках неизвестно кого! Вас успокоит то, что это все по закону, в рамках следствия, и следствие интересуется не вами, а другим хостингом?
Вспоминаю из своей практики: как маскировались сервера и продумывались защиты от «маски-шоу», как, в случае сбоя, работаешь «до упора», но чтобы к утру все заработало, как на тривиальном клиент-сервере делали ежечасные бэкапы на лету, писали «автообновлялки» клиентского ПО и т.п. До сих пор работают системы, в создании которых я принимал участие или целиком создавал сам. Прошло уже 7-10 лет, а бывшие коллеги в общении говорят: «А помнишь, ты делал? Так до сих пор работает».
Программное обеспечение, написанное без всяких «облаков», работает годами. А если «сбойнет», то быстро поднимается бэкап, в крайнем случае, программист/администратор будет работать до полного устранения поломки. За это он получит потом пару дней отгулов. Хитроумные приемы обеспечивают сохранность и недоступность данных для «людей в масках». Это уже обкатанные годами решения. Любые новые технологии должны предложить очень сильные аргументы, чтобы на них обратили внимание.
Вот и получается, что у «облаков» достаточно ограничений. Они займут свои нишу, но, безусловно, ландшафта архитектурных ИТ-решений не изменят. Траектория кривой развития «облачных» вычислений уже хорошо наблюдаема, прогнозируема. Еще год-два, и это будет «вчерашним днем», как написал Колесов «С облачной тематикой пора завязывать». Очень хорошо читается использование «облаков» для почтовых сервисов, антиспама, Web-фильтров, сайтов, групп общения, коллективной работы и т.д.
Но я предлагаю передовым отрядам айтишников заглянуть за «облака», в день завтрашний. Подумать, какие решения, а, может быть, новая архитектура ждет нас впереди. То, что реально может устранить недостатки нынешних решений и откроет новые возможности в области ИТ-технологий. Начинать надо уже сейчас, чтобы быть на волне прогресса. Скажу сразу, я сам пытаюсь «просчитать» технологию будущего. Отрывки моих мыслей можно увидеть в моих публикациях.

Взгляд сквозь хрустальный шар

Какие проблемы есть у нынешних решений? Традиционные ключевые моменты: надежность, доступность, безопасность, производительность.
«Облаками» мы «разрулим» большинство проблем, но на серверной стороне. Разве что, остается без ответа вопрос относительно безопасности, приватности данных пользователя. А как быть с каналами передачи данных? Если шифрованием можно обеспечить безопасность, то надежность связи гарантировать никто не берется. Это вторая проблема. Третья проблема - «живость» интерфейса на клиентской стороне. Приложение не должно подвисать, медленно работать, требовать непропорционально много ресурсов для выполнения задачи.
На сегодняшний день весьма распространена архитектура с тонким web-клиентом и реализацией бизнес-логики на серверной стороне. Нынешняя гонка браузеров помогает решить третью проблему. Остаются проблемы с каналом связи и общая проблема безопасности данных. Обе проблемы решаются развертыванием «облаков» в локальной сети клиента. Но такое решение вызывает у апологетов облачных вычислений сразу резкое «нет»: во-первых, убивается идея SaaS; во-вторых , в локальной сети «облако» полностью теряет все свои преимущества перед классическим клиент-сервером, с серверной частью, функционирующей на кластере.
Таким образом, можно сформулировать ключевое противоречие: использование «облака» вне предприятия ненадежно из-за каналов связи. С другой стороны, перенесение «облака» в локальную сеть предприятия лишает его каких-либо преимуществ перед существующими решениями (т.е. приходим к классической модели продажи ПО по лицензиям, обслуживание «облака» клиентом или аутсорсинг).
Расскажу случай, работал я на складах. Офис в городе, склад - за городом. Связь по Интернет через VPN. За городом только один провайдер был, т.е. резервный канал невозможен. Ну, разве что, через спутник, что при том объеме траффика было нереально. Раз в месяц на полдня-день канал падал. А это совершенно реальные потери в деньгах: из-за сбоя клиенту отказали в продаже - он без проблем купил у другого. Абсолютно реальные потери в деньгах. Не косвенные, а, что ни на есть, прямые. При этом, провайдера постоянно «пинали», но без толку. И никакой договор об обеспечении качества связи они, ни за какие «коврижки», не подписывали. Это понятно, почему - ведь от них тоже далеко не все зависит.
Поэтому, многие клиенты никогда не согласятся на использование «облаков»- со своими ИТшниками под боком спокойнее. А если учесть, что классический клиент-сервер совершенно спокойно, без существенных оптимизаций, работает на нескольких тысячах клиентов, то «облаку» тут совсем нет места. Более крупные клиенты используют «трехзвенки», которые замечательно масштабируются без всяких «облаков» и «держат» уже пару десятков тысяч АКТИВНЫХ пользователей, подчеркиваю, активных. Т.е. общее число пользователей может быть на порядок больше. Т.е. «двухзвенка», «трехзвенка» способны вытянуть на себе 99% предприятий.
Можно заметить, что в статье о SaaS почти не говорится - все крутится вокруг общих достоинств и недостатков технических реализаций архитектур. В основном, речь о клиент-серверной архитектуре. В теории, «облака» должны еще, вроде бы, быть дешевле. Пока только встречаются общие «разводы вилами по воде» на эту тему – четких выкладок по пунктам я не видел. Поверим на слово - дешевле.
Итак, необходимо придумать решение, чтобы «облако» вне предприятия не теряло своей привлекательности. Две ключевые проблемы: надежность каналов связи и общая безопасность данных. Ваши предложения?
Мой вариант: использование torrent-сетей. Шифруем и размещаем блоки данных на разных клиентах. По запросу torrent-клиенты отдают нам нужные блоки. Блок эквивалентен сектору на диске, т.е. можно написать драйвер, наподобие iSCSI, который будет torrent-сеть представлять в виде диска. Информацию многократно дублировать на клиентах. Таким образом, чем больше клиентов и чем больше места на своих дисках они предоставляют для хранения torrent-данных, тем надежнее сеть.
1. В результате, получается безопасное решение - ни у кого нет всех данных, только отдельные зашифрованные блоки. Безопасность в таком решении на голову выше, чем в «облаках» («маски-шоу» отдыхают).
2. Это дешевое решение, т.к. роль ЦОДов сводится к минимуму- используются мощности клиентских компьютеров.
3. Это устойчивое к сетевым сбоям решение- ни с одного, так с другого клиента придут данные. Более того, данные можно ограничить локальной сетью, что обеспечит полную автономность сети.
Минусы:
1. Многократное дублирование не каждому клиенту понравится- ведь, чтобы закинуть в torrent-сеть 1МБ своих данных надо в сеть, под хранение чужих данных отдать, например, 10МБ своего диска (для полного десятикратного дублирования, чтобы повысить вероятность нахождения в сети хотя бы одного клиента из десяти). Пропорции могут быть произвольными- я привел соотношение 1:10 лишь как пример.
2. Сетевые задержки пакетов выше, чем у «облака».
3. Некоторые проблемы с гарантированным доступом к данным- никто же не гарантирует, что из клиентов с нужным блоком данных будет хоть кто-то «онлайн». Хотя тут можно использовать выделенный сервер или «облако» для хранения полной копии всех данных.
Что мне больше всего нравится в моем варианте- это преемственность. Сеть торрент-клиентов строится вокруг «облаков». Одна технология не отвергает другую, а взаимно дополняет. «Облако» хранит «оригинал» данных и раздает торренты клиентам. А теперь представьте, если в браузер включить поддержку торрента, например, в виде плагина. Нагрузка на сайты резко упадет, т.к. «статику» клиенты будут забирать друг у друга через торрент, не обращаясь на сайт. Как это выглядит в действии:
1. Сайт может быть построен на «облаке», а может быть традиционный хостинг.
2. Задача сайта- выдать на клиента его кастомные, пользовательские данные и указать ссылку на исполняемый скрипт. Это типичный web2.0- никаких «фантазий».
3. Скрипт, исполняясь в браузере, начинает формировать внешний вид загружаемой страницы, на основе пользовательских данных.
4. А вот далее начинаются «чудеса». CSS, картинки, менюшки, шаблоны- т.е. статическая часть данных- грузится по торрент-протоколу. Т.е. далее уже нет обращения к серверу.
Таким образом, снижается нагрузка на сервер, информационные потоки равномерно распределяются по сети (обмен данных между клиентами), а не стекаются все к ЦОДам. Побочный положительный эффект- с теми же ДОС-атаками проще будет справиться.
В предельном варианте реализации и БД можно по торрент-сети «размазать», так что сервис из «облака» полностью уйдет «жить» на клиентах. Сервер нужен будет только как стартовая точка входа в торрент-сеть сервиса и как резервное хранилище данных.
Такова моя идея. Аналогичных идей в Интернете я не встречал. Как и все предыдущие, эту идею я отдам на реализацию любому заинтересовавшемуся специалисту согласно условий. По моему мнению, идея очень сильная… в общем, дерзайте.

Ссылки по теме:
  1. Протокол torrent: http://ru.wikipedia.org/wiki/Torrent
  2. Распределенная файловая система: http://en.wikipedia.org/wiki/Grid_File_System
Update: После публикации статьи я нашел уже готовую реализацию, буквально 1:1, того, о чем я писал: http://www.unhosted.org/, http://www.opennet.ru/opennews/art.shtml?num=30401. Приоритет в идее не за мною, но я очень рад такому подтверждению идей, сгенерированных мною. Это говорит о том, что я "держу нос по ветру" и правильно чувствую тренды в ИТ.

суббота, 16 апреля 2011 г.

Агентство "Мы ищем таланты"

Идея предлагается в рамках нынешних процессов модернизации и технологического развития. Агентство может быть создано в рамках деятельности существующих организаций, занимающихся инновациями: Роснано, фонд "Сколково", РВК.
Зачем это нужно?
Возьмем в качестве примера фонд "Сколково". У фонда не много проектов на сегодняшний день (апрель 2011 года). Поток их явно падает. Это естественный процесс, связанный с тем, что прошел первоначальный интерес к проекту. С другой стороны, все используемые на сегодняшний день способы привлечения стартапов можно отнести к пассивным. Т.е. фонд, выставив условия, ждет, когда к нему придут стартапы. Тут надо заметить, что частные инвесторы действуют гибче, устраивая выездные сессии. “Топтаться на этой поляне” всем уже тесно. “Сливки” сняты и нужно делать следующий ход- самим заняться активным поиском талантов и созданием вокруг них стартапа.
Почему это надо делать?
Среди ученых очень много талантливых людей, но совершенно коммерчески не активных. Т.е. свои исследования они проводят годами, делают доклады, пишут монографии, при этом даже не задумываются о коммерциализации своих идей. Нужен эдакий антрепренёр, тот кто оценит перспективность исследования и полностью возьмет за себя все вопросы коммерциализации разработки. Сам ученый при этом, получая необходимые средства на исследования, не озабочивается какими-либо вопросами, не связанными с исследованиями.
Как это сделать?
  1. Сформировать пул потенциальных инвесторов. Например, гранты на исследования уже выдаются компанией Microsoft. Выразили заинтересованность в сотрудничестве с фондом многие крупные компании. Такая работа уже проводится- с “нуля” делать ничего не придется.
  2. В ВУЗами фонд подписаны меморандумы о сотрудничестве. В рамках этих меморандумов следует договориться о получении в электронном виде тезисов докладов с научных конференций. Тут же можно подумать о формировании базы данных и публикации на сайте фонда этих тезисов, чтобы инвесторы могли сами “попастись” на сайте в поиске интересных идей. Это будет способствовать созданию комьюнити вокруг фонда.
  3. Доклады могут делаться как самими учеными, так и студентами, у которых ученый является руководителем проекта. Интересные с точки зрения доклады отбирать для более детального анализа.
  4. По отобранным докладам провести детальный анализ (включая выезд к ученому и устное обсуждение деталей), подготовив аналитический отчет. В отчете отразить степень готовности исследования к коммерциализации и примерную область применения.
  5. Из пула инвесторов выбрать потенциально заинтересованных, которым предложить выделить грант на исследование с последующей коммерциализацией. Фонд может выступать как соинвестор.
  6. Антрепренёр, т.е. человек который нашел ученого, свел его с инвестором и добился инвестирования получает вознаграждение.
Достоинства моего предложения
  1. Данный механизм отлично “ложится” на деятельность фонда и укладывается в уже существующие договоренности между фондом, ВУЗами, инвесторами.
  2. Поиск талантов переходит на качественно новую стадию- он становится активным. Вместо пассивного ожидания, когда сам исследователь со своей разработкой придет в фонд за финансированием, фонд сам его ищет и предлагает ему все готовое. Исследователю останется только подпись в договоре под галочкой поставить и получить деньги на свой счет для исследований. В то время как сейчас он должен проявить “коммерческую жилку”, отвлечься от исследований: зарегистрировать юридическое лицо, найти иностранного участника (требование фонда), подать заявку в фонд и пройти все формальные процедуры оформления.
  3. Формирование базы данных исследовательских проектов будет способствовать формированию “Сколковской общины”, создание которой декларируется фондом.
  4. Это всем выгодный подход: компании-инвесторы получают информацию по исследованиями, которые могут заинтересовать их R&D подразделения; фонд выполняет свою миссию, существенно наращивая свой портфель проектов, антрепренёр получает свой процент от сделки. Полный “win-win”, как говорится.
  5. Сам план прост, и его возможно в течение нескольких месяцев начать реализовывать.

пятница, 11 марта 2011 г.

У «Галактики» все получится, вот увидите!

Исходная новость:
http://cnews.ru/

«Галактика» атакует SAP, Oracle и Microsoft на уровне модулей

Российский разработчик систем управления предприятием (ERP) «Галактика», ощутив насыщенность рынка, принял решение переориентироваться на разработку прикладных решений. Как рассказал CNews президент «Галактики» Николай Красилов, ERP пока остается основным продуктом, но компания уже разработала решение для управления имуществом, а до конца 2011 г. намерена выпустить еще три продукта: для управления активами предприятия (EAM, enterprise asset management), проектами (PM, project management) и прое… полный текст
Источник: CNews
Теперь ссылка на мою статью: ERP по лицензии GPL: условия выживания и кусок из моей статьи:
“…Это позволит при сборке собственной системы ERP задействовать подсистемы различных производителей и собрать систему под использование с требуемой СУБД. Небольшим производителям систем автоматизации выгодно использовать такую ERP, т.к. они смогут свои системы дополнить недостающими подсистемами или заменить свои менее функциональные подсистемы на аналоги. Вероятно, они (небольшие производители систем автоматизации) станут основными двигателями процесса разработки подобной ERP.
В конечном итоге, система получится очень гибкая, в ней возможно будет комбинировать подсистемы различных производителей, реализуя различный функционал. Таким образом, процесс внедрения будет аналогичен, тому как внедряются коммерческие ERP, с одной стороны.”
Год назад я рассматривал возможность для ERP-систем, выпускаемых по лицензии GPL отхватить некоторую долю рынка ERP-систем у монстров SAP, Oracle и Microsoft. Модульность систем- это был один из пунктов моего плана: “…возможно будет комбинировать подсистемы различных производителей, реализуя различный функционал”.
“Галактика”, похоже, выбрала этот путь развития. Я считаю это удачным решением. Успехов вам, “галактяне”!

суббота, 5 марта 2011 г.

Семь основных трендов в развитии программного обеспечения

Интеллект, интерфейс, производительность, кроссплатформенность, “облака”, высокоуровневость, стандартизация - вот основные тренды на протяжении последних нескольких лет, которые проявились и стали набирать силу в развитии ПО. О них неоднократно говорили ведущие специалисты отрасли. Эти тенденции уже явно влияют на ПО, которое используется на сегодняшний день.
Интеллектуальность
Давно уже прошли времена монохромных символьных дисплеев и мигающего курсора в командной строке. Написать учетную систему, игрушку- это давно уже не “высокие космические технологии”. Наработаны приемы программирования, алгоритмы, библиотеки. Придумать что-то еще новенькое в области автоматизации почти нереально. Повышение конкурентоспособности ПО лежит в области повышения интеллектуальности продукта. Даже в простых программах где, казалось бы, некуда “приткнуть” интеллектуальность, можно предпринять ряд шагов, делающих программу более удобной в использовании:
  1. Прогнозирование последующих действий пользователя. Это позволит, например, сформировать подсказку, динамическое меню для того, чтобы у пользователя сразу “под рукой” были весь требуемый инструментарий для работы.
  2. Интеллектуальное кэширование данных, обработка звука, изображений.
  3. Автосохранение, автобэкапы, версионность файлов- в случае сбоя у пользователя всегда будет под рукой резервный вариант.
Повышение интеллектуальности ПО может быть связано с подстройкой под настроение пользователя, регулирование его настроения, вплоть до угадывание его мыслей. Это примерно то, о чем говорила Алена Попова в своем блоге. По мимике и жестам, полученной с web-камеры, по вздохам, слышимым в микрофон можно определить настроение пользователя. По настроению пользователя можно подбирать музыкальные композиции, фоновые рисунки, сортировать новостную подборку с RSS-лент.
Другое направление интеллектуализации ПО- создание адаптирующихся интерфейсов пользователя. Например, используя web-камеру, можно мерять внешнее освещение и соответственно подстраивать яркость экрана. Другой пример, если пользователь весьма активно работает с одной программой, то фоновые приложения откладывают уведомления о пришедшей почте, требуемых обновлениях ПО, чтобы меньше отвлекать пользователя от его текущей активной работы.
Тема удобных, красивых, интеллектуальных пользовательских интерфейсов становится ключевой на ближайшие годы.
Пользовательские интерфейсы
Лет десять-пятнадцать назад удобство пользовательского интерфейса не было решающим фактором при выборе ПО. Ценилась больше функциональность. Это было связано с тем, что программы были не столь функциональны, инструментарий программиста был не такой мощный. В результате, программирование одной функции было огромной работой. Если ваше ПО имело на 2-3 функции больше, чем у конкурента, то у вас были большие шансы на успех. Сегодня практически любой функционал легко и быстро повторяется конкурентами. Получить длительное по времени конкурентное преимущество можно, внедрив более интеллектуальный функционал и, как ни удивительно, разработав хороший интерфейс пользователя. Создать удачный интерфейс- это большая работа. Фактически, действительно мощный инструментарий для создания пользовательских интерфейсов начал появляться совсем недавно.
Тенденция создания удобных интерфейсов – очень сильная и явная. Примеров множество- iPhone, Android, лента меню Ribbon от Microsoft. Даже в области корпоративного ПО она будет проявляться все сильнее. Об этом подробнее можете прочитать у Петра Диденко.
Производительность
Ярким примером, иллюстрирующим тему данного абзаца, можно назвать гонку браузеров за производительностью их движков. Разработчики активно оптимизируют операционные системы, различное прикладное ПО. Например, последний MS Office 2010 чувствительно быстрее своего предшественника. Windows 7 шустрее Vista.
У пользователя несколько процессоров, много памяти, графический ускоритель- так почему бы не задействовать это на “полную катушку”? В конечном итоге, быстрый, отзывчивый и удобный интерфейс очень понравится пользователю.
К счастью, в распоряжении разработчика есть ряд удобных инструментов для выявления “узких мест” в программе, поиска утечек памяти и т.п. Ряд известных программистов в интервью не раз упоминали о том, что оптимизация производительности- это тренд, минимум, на ближайшие пять лет. Поэтому, профайлер в зубы, и вперед!
Кроссплатформенность
Платформ опять стало много. iOS, Android, Simbian, Windows Phone, Linux, MS Windows и еще многие другие. Все важные, все занимают существенную долю рынка, чтобы их игнорировать. Разработчики давно уже тяготеют к кроссплатформенным решениям. Программы на C/C++ часто пишут так, что они успешно компилируются под разными платформами. Java, .Net, Python концептуально кроссплатформенные. Обеспечить кроссплатформенность тому или иному алгоритму на сегодняшний не сложно. Но вот интерфейсы… с ними загвоздка. Есть очень неплохие решения, обеспечивающие кроссплатформенность интерфейсов. Например, Qt. Тем не менее, это далеко не идеальные решения.
Громадная каменюка “преткновения” кроется в том, что под разными ОС не только внешний вид разный, но поведение элементов  интерфейса может отличаться. В результате, приходится реализовывать под разные ОС некий усредненный вариант интерфейса. Что не придает приложению ни красоты, ни удобства.
Тогда разработчики приноровились использовать web-интерфейсы даже в исключительно оффлайновых приложениях. Такой способ позволяет снять ряд проблем при создании кроссплатформенных интерфейсов. Все же HTML-страница более-менее сохраняет свой вид в разных ОС, да и функциональность элементов интерфейса тоже будет одинаковая. Но и тут нет совершенства.
И вот, на сцене появляется HTML5. Пока он не распространен широко, но те немногие примеры его использования, что довелось увидеть, впечатляющи. Правда, и тут видны недостатки. Как говорится, предела совершенству нет. Тем не менее- встречайте HTML5! Рассмотрите возможность его использования для организации интерфейсов как онлайновых, так и оффлайновых приложений. Это позволит создавать функциональные, удобные и красивые кроссплатформенные приложения.
Использование технологии облачных вычислений
Web-приложения, инсталлируемое ПО- у каждого типа приложений есть свои достоинства и недостатки. И как всегда хочется получить достоинства обоих типов приложений. С одной стороны, web-приложения позволяют нам просто делать свое дело и не заботиться об установке ПО, о резервных копиях данных- просто залогинился и работай. С другой стороны, инсталлируемое ПО позволяет работать в оффлайновом режиме, задействовать все имеющиеся ресурсы на компьютере. Например, Web-приложение нельзя установить как сервис в ОС. Возможность получить преимущества от обоих типов ПО дают облачные вычисления.
Обратите внимание, что на сегодняшний день под облаками часто понимаются все те же web-приложения, только “размазанные” по сотням серверов. Предлагается расширить использование облаков, задействуя их в полноценном инсталлируемом ПО.
Объединение возможностей инсталлируемых приложений и web-приложений позволит:
  1. Организовать автоматическое резервирование данных в “облаке”. Так как данные сохраняются в облаке, то они будут доступны пользователю с любого компьютера. С другой стороны, если отсутствует доступ в Интернет, то можно работать с их локальной копией.
  2. Предоставить разные способы доступа к данным: инсталлируемое ПО, web-приложение, доступ с мобильного устройства.
  3. Организовать коллективную работу с данными.
  4. Переложить заботу о сохранности данных и их постоянной доступности на плечи “облачного” сервиса.
  5. Находясь на своем рабочем месте получить полноценное приложение, использующее все возможности компьютера, ОС для плодотворной работы за счет использования инсталлируемого ПО.
  6. Получить оперативно удаленный доступ через web-приложение, через мобильное устройство, находясь вне рабочего места.
  7. Получить все преимущества “облачной” технологии, связанные с масштабируемостью и отказоустойчивостью “облаков”.
Высокоуровневость
На сегодняшний день в низкоуровневом программировании, практически, не осталось “ноу-хау”. Работа с USB, камерой, видео, звук, дисковые операции- это умеет делать хорошо любая ОС. Преимущества тут уже давно нет ни у одной ОС. Если подниматься на более высокие уровни кода, то можно заметить, что даже набор прикладного ПО, идущего в составе ОС уж давно не уникален. Ну на какой ОС нет аналога Блокнота, Калькулятора, Paint’a?  Разве что Apple можно “пнуть” за отсутствие “флэша”, и то- это умышленный ход.
Потребителя теперь завоевывают сложными, высокоуровневыми приложениями: распознавание голоса (например, голосовой поиск от Google), распознавание изображений (лиц на фотографиях- Picasa, Windows Live), рукописного текста (Windows 7), фильтрация спама (Gmail), распознавание движений (Kinnect), поисковые технологии (Google, Yandex). И тут поле деятельности весьма широкое: эти технологии, с одной стороны, на более качественном уровне решают проблемы человеко-машинного интерфейса, с другой стороны, сложны в воспроизведении конкурентами, что дает достаточно времени для “снятия сливок” с рынка. Наделение коммерческого ПО элементами искусственного интеллекта- тема еще свежая, “мало раскопанная”, поэтому тут есть, где развернуться, есть интерес со стороны потребителей, есть деньги.
Можно констатировать, что обладание своими низкоуровневыми технологиями на сегодняшний день- недостаток. Ведь на поддержку и развитие их надо тратить время и деньги. При этом, конкурентных преимуществ никаких. С другой стороны- высокоуровневое программирование с новыми перспективами, денежными рынками.
Как бы смело это ни звучало сейчас, но со стороны той же Microsoft было бы разумным перейти на использование наработок сообщества open source. Например, как это сделала Apple, Google. Google, вообще, очень эффективно использует наработки open source: и Linux, и Python, и web-приложения. Еще пример: Intel, Nokia с MeeGo.
Из антипримеров: Windows phone 7. Огромные усилия затрачены на ее разработку с нуля. В результате, этой ОС надо еще 1-2 года, чтобы довести ее до конкурентоспособного состояния. Думаю, что если бы они пошли по пути Google, и использовали ядро Linux, чтобы создать свою ОС для смартфонов, то это у них бы заняло существенно меньше времени и результат был бы лучше.
Времена меняются. Сейчас надо использовать шире уже наработанные решения, придерживаться стандартов и создавать высокоуровневое ПО.
Стандартизация
Как всегда это бывает, на заре любой отрасли существуют различные не совместимые решения, все сумбурно и знания быстро устаревают. Потом все “устаканивается”, появляются отраслевые стандарты и с полученными знаниями, опытом специалист может спокойно прожить всю жизнь, не боясь, что он завтра станет никому не нужен из-за того, что его знания устарели.
Аналогичная картина развития отрасли наблюдается и в ИТ. Все больший приоритет приобретают стандарты при проектировании ПО. Формируются приемы программирования (например, см. GoF), накатываются методики ведения проектов. Хотя проблема быстрого устаревания знании еще актуальна, но она уже явно менее остра, чем 20 лет назад. ИТ стабилизируются в своем развитии, выходят на плоское плато S-образной кривой развития. Это замечательно. Так и должно быть.
Свое стремление соблюдать стандарты, подтверждая это делами, демонстрирует даже какой яркий нарушитель стандартов как Microsoft. Эта тенденция видна повсеместно и касается всего: пользовательских интерфейсов, протоколов обмена данными, форматов хранения данных и т.д.
Вывод
Перечисленные семь наблюдаемых в последние годы тенденций: интеллект, интерфейс, производительность, кроссплатформенность, “облака”, высокоуровневость, стандартизация характеризуются устойчивым, сильным трендом. Нет оснований полагать, что в ближайшие минимум пять лет произойдет смена этих тенденций другими.
Правильным путем развития программных продуктов будет следование этим тенденциям в той или иной степени. Например, можно пойти по пути улучшения пользовательского интерфейса, или добавить интеллекта в свое ПО, или сделать одновременно и то и другое.
Какой бы Вы путь ни выбрали из перечисленных пунктов, помните, что в конечном итоге “видеть” надо человека, пользователя вашего продукта. Эти тенденции- только направление движения к решению проблем пользователя, а какую именно дорожку выберете Вы- это и есть Ваш элемент творчества, который не отнимут у вас никакие стандарты, никакое плато. Так что, дерзайте!