Блог по Ruby in Rails

блог по Ruby on Rails


пятница, 8 января 2010 г.

Интервью с гендиректором WEBO Software - Николаем Мациевским

Сегодня удалось взять интервью у очень интересного человека, который написал две книги по оптимизации скорости загрузки сайтов, веб разработчика и гендиректора компании WEBO Software, которая разрабатывает программные продукты призванные прийти на помощь медлительным веб ресурсам.

В: Представься пожалуйста.
О: Мациевский Николай, генеральный директор ВЕБО



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

В свободное время занимаюсь спортом (зимой не очень много, летом — большую часть свободного времени) и общением с друзьями. Люблю путешествовать. Этим летом мы проехали на велосипедах и паромах от Ниццы до Афин (это был наш второй велопоход по Европе). Через год планируем проехать всю Новую Зеландию.

В: Какие приоритетных направлениях работы студии WEBO Software?
О: WEBO Software (в России — ООО «ВЕБО») не является веб-студией. Это, скорее, клуб единомышленников, которым нравится идея быстрого веба и нравится работать вместе над общей задачей — ускорением загрузки сайтов.

Наиболее важными направлениями нашей деятельности является заполнение информационного вакуума в этой области (статьи, доклады, книги, семинары), создание точных инструментов анализа производительности (проекту webo.in буквально на днях исполнится два года, и популярность его постоянно растет) и консультирование по вопросам как клиентской, так и серверной производительности. В последний год от обще-просветительской деятельности мы активно перешли к практической: было разработано два достаточно известных инструмента для увеличения скорости работы сайтов — это YASS (yass.webo.in) и Web Optimizer (www.web-optimizer.ru)

В: Интересно узнать о людях, которые входят в команду WEBO. Все ли они профессиональные разработчики?
О: Мне сложно назвать каких-либо людей профессионалами. Либо у них получается то, что они делают. Либо нет. У нас — получается. Конечно, немаловажную роль играет распределение обязанностей таким образом, чтобы члены команды занимались тем, чем им нравится (тогда вероятность того, что это у них получится, весьма высока). Но, как и в любой команде, у нас есть свои победы и поражения. В основном, в борьбе со временем, которого катастрофически не хватает :)

В: А можно поподробней о вашей разработке - YASS? Что собой представляет эта библиотека, очередной javascript-фреймворк, или что-то новое?
О: YASS создавался как прикладное средство для высокой Javascript-производительности в наиболее «узком» месте сегодняшней клиентской логики — во взаимодействии Javascript-движка с DOM-деревом (т.е. фактически, двух разрозненных частей браузера между собой). Мы добились потрясающих успехов в оптимизации производительности данных операций: в последних версиях библиотеки они работают всего на 20-30% медленнее, чем «прямые» вызовы, но обеспечивают достаточную абстракцию для дальнейшего использования. Была реализована почти вся логика CSS1-селекторов (это выборки элементов DOM-дерева по тегам, классам, идентификаторам) и значительная часть CSS3-логики (в том числе и nth-child-запросы).

Но YASS предназначена не только для прикладного использования (в частности известны случаи замены ею движка Sizzle в jQuery, внутреннее использования в Prototype и Mootools, построение сложных систем, например, интерфейса администратора на kremlin.ru), но и для академического изучения. Исходный код библиотеки полностью открыт и на 50% состоит из комментариев. Большая часть подходов была подробна описана в статьях, часть их них вошла в книгу «Реактивные веб-сайты».

К нам обращались и продолжают обращаться разработчики разного уровня с вопросами и предложениями относительно данной библиотеки (в частности, стучались и ребята из MooTools core team), но мы не планируем пока создавать на ее основе какой-то общеизвестный высокопроизводительный фреймворк. Мы ее просто используем во внутренних проектах (в частности, именно она стала основой интерфейса WEBO Site SpeedUp и клиентской логики корпоративного сайта).

В: Судя по статьям на сайте, WEBO достаточно продуктивно работает над просветлением веб разработчиков касательно оптимизации сайтов. Скажи, где еще можно достать информацию на эту тему, в частности статьи написанные членами команды WEBO?
О: Вся информация — все опубликованные статьи и ряд инструментов и тестов клиентской производительности — выложены на сайте webo.in. Там же выложены все тексты докладов на тему клиентской оптимизации и веб-технологий, а также презентации к ним.
Все книги (на данный момент их две — «Разгони свой сайт» и «Реактивные веб-сайты») в электронном варианте можно свободно загрузить с speedupyourwebsite.ru. Первую можно даже купить в бумажном варианте в крупных электронных магазинах (ozon.ru, bolero.ru, и т.д.), столицах наше Родины или связаться с нами: мы достаточно часто посещаем разные уголки постсоветского пространства и можем завезти пару экземпляров. Выход второй книги из печати ожидается весной 2010 года.





В: Я знаю что WEBO уделяет много внимания разработке такого продукта, как Web Optimizer. Очень интересно узнать, что же это за разработка и кому она будет полезна?

О: Web Optimizer является полностью автоматическим решением для комплексного ускорения сайтов (пока только на PHP). Он поддерживает более 40 различных CMS (а WordPress, Joomla!, Drupal и Bitrix на уровне внутреннего расширения). Также может быть использован на любом сайте, на котором доступен PHP.

В двух словах о Web Optimizer не расскажешь: в нем интегрировано очень много технологий, часть из них давно известны и широко применяются (например, объединение файлов или сжатие через JSMin), часть же является инновационными (например, методы отложенной загрузки Javascript и CSS Sprites). В продукте собраны все известные методики клиентского ускорения сайтов, что позволяет не изучать огромное количество технической литературы, а ускорить свой сайт в течение нескольких минут. По результатам наших тестов среднее ускорение при этом составляет 2,5 раза.



В: Планируется ли поддержка сайтов на других ЯП, фреймворков, CMS, например на Ruby и Ruby on Rails?
О: Мы работаем над расширением поддержки различных платформ и фреймворков. Но, например, Zend Framework используется сильно чаще, чем даже Ruby, поэтому более приоритетным является разработка расширения конкретно для него. Но мы всегда рады продуктивному сотрудничеству и можем всегда сделать его взаимовыгодным. Поэтому если вы хотите портировать технологии клиентской оптимизации на свою любимую платформу — обратитесь к нам. Результат не заставит себя ждать :)

В: Т.е. любой желающий может совместно с командой WEBO принять участие в портировании ваших разработок на свою любимую платформу, или же вы готовы оказать помощь только консультациями?
О: Мы будем рады сотрудничать с веб-разработчиками по всем направлениям: как в вопросах консультирования, так и в интеграции технологий ВЕБО на другие платформы. WEBO Site SpeedUp является продуктом с открытым кодом, и мы всячески поддерживаем open source движение.

В: Можешь поделиться сухими данными, меня, как и большинство блогеров беспокоит проблема «тяжелости» WordPress, как ускоряет загрузку сайта на Wordpress ваш плагин WordPress Web Optimizer?

Как раз на днях мы запустили онлайн-шоу «Ускорение WordPress на WordPress» — www.speedingupwebsite.com — в нем мы планируем осветить все вопросы производительности WordPress, используя сам блог как тестовую площадку (блог ведется на английском, но мы будем рады, если кто-то возьмется переводить).
Насчет сухих данных: конкретное ускорение сайта сильно зависит от «тяжести» клиентской (какая используется тема и сколько виджетов / плагинов) и серверной (база данных и число запросов к ней, число подключаемых модулей) составляющих. Средняя цифра здесь: 3-5 раз.


Кликайте, чтобы увеличить


В: Как развивается проект Web Optimizer? Есть ли какие-либо идеи по улучшению, новые функции и т.д.?
О: Весной прошлого года был совершен настоящий прорыв в интеграции технологий клиентской оптимизации сайтов, но он остался практически незамеченным для большинства веб-разработчиков. Поэтому мы предприняли ряд шагов и осенью вывели продукт на новый уровень по надежности и совместимости (в частности, был разработан ряд расширений для наиболее распространенных CMS, интегрирующих функционал приложения непосредственно в систему).

Но мы не остановились на достигнутом и существенно переработали интерфейс продукта, учтя все пожелания пользователей. Сейчас продукт (новое название WEBO Site SpeedUp) проходит заключительные стадии тестирования и будет доступен широкой публике уже в январе (а онлайн-демо доступно уже сейчас).

Мы планируем в 2010 году еще раз пересмотреть производительность продукта и внести в него ряд улучшений для более гибкого кэширования на стороне сервера и большего покрытия существующих систем управления сайтом. Также будет расширена продуктовая линейка: мы планируем дополнительно к облегченной и полной версии продукта выпустить комплексный инструмент для профессиональных веб-разработчиков.

В: Над какими еще проектами работает WEBO?
О: Нам и этого пока хватает: книги, статьи, webo.in, YASS, Web Optimizer ;)

В: А есть ли еще-какие-либо идеи продуктов, реализация которых отложена на будущее?
О: Конечно. У нас много идей, в частности, использование облачных вычислений и создание потребительской CDN (сети доставки содержания) в России.

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

В: Кто является основным потребителем Web Optimizer'а? Блогеры, фрилансеры или профессиональные студии?
О: Мы рассчитываем на широкий круг пользователей, и, по всей видимости, пользователи оправдывают наши ожидания. Продукт используется как отдельными блогерами и вебмастерами-фрилансерами, так и целыми студиями и хостинг-провайдерами разных уровней.

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

Сотрудничество с «громкими именами» требует большого времени на согласование всех деталей. Но я уверен, что в 2010 году поводов вспомнить о WEBO Software будет довольно много: ведь недаром Google пообещал учитывать скорость загрузки сайтов как критерий ранжирования в поисковой выдаче.

В: Да, и в правду прибудет вам клиентов после таких заявлений Google, особенно из сферы SEO. Как думаешь, переймут ли это нововведение другие поисковые системы?
О: На самом деле, это не так уж важно, что из трендов Google будет перенято другими поисковыми системами. Google просто обратил внимание общественности на давнюю проблему — проблему медленных сайтов. Ведь если сайты из результатов поиска медленно открываются, то пользователи начинают жаловаться, в том числе и в Google — как это так, им дали «плохие, медленные результаты». Но комплексное решение (со стороны браузеров, сайтов и интернет-гигантов) этой проблемы сделают жизнь конечных пользователей лучше. И в этом направлении предпринято уже достаточно много.

К слову о трендах: Yahoo! подняло тему клиентской оптимизации достаточно давно (более двух лет назад), именно благодаря этой компании мы имеем сейчас не такой уж и медленный веб, каким он мог быть :)



В: Скорость соединения с интернетом растет, цены падают и многие уже перестали задумываться об оптимизации скорости загрузки. Можешь привести некоторые доказательства, того, что оптимизация действительно необходима, помимо включения в алгоритм ранжирования Google скорости загрузки сайтов? Какие вообще настроения правят касательно оптимизации скорости загрузки сайтов?
О: Фразу «скорость растет, цены падают» говорят уже несколько лет, но актуальности клиентской оптимизации это не уменьшает. Пользователи привыкают к быстрому интернету и устанавливают более высокие критерии качества. Если буквально 5 лет назад нормальным считалось, если сайт открывался за 10 секунд, то сейчас (на западе) уже принято говорить о 2 секундах. Страшно подумать, что будет еще через 5 лет.
В дополнение к этому сложность клиентских приложений и сайтов растет. Больше используют клиентской логики (Javascript), больше картинок, более информации (размер документов, DOM-дерева), больше рекламы (внешних объектов с разных доменов). Все это накладывает поистине фантастические ограничения на реально быстрые сайты. Поэтому данная проблема не решается «в лоб» только оптимизацией самих сайтов, тут нужен комплексный подход.

В: Какие технологии использует в своей работе WEBO?
О:Мы приверженцы открытых стандартов и технологий. Все исходные коды наших продуктов доступны в открытом доступе, и для совместной работы мы используем общедоступные средства: Google (Mail / Code / Docs), Skype, teamer.ru и т.д. Я считаю, что эпоха цифрового рабства прошла, и все небольшие компании могут себе позволить расти за счет общедоступных средств общения и совместного труда.

В: Поделишься планами WEBO на будущее? Есть ли в планах из клуба превратиться в профессиональную студию?
О: Наверное, я неправильно выразился :) Мне не нравится слово «компания», потому что для меня оно ассоциируется с долгим циклом принятия решений и талмутами корпоративных стандартов. Мы команда «де факто», но «де юро» мы является полноценной компанией (юр. лицо, договора, отчетность, проч.). Я очень надеюсь, что с ростом мы сможем сохранить текущий «свободный» настрой внутри коллектива и превратить его в образ жизни. Например, мне очень нравится, как организована работа в Google (или даже в Яндексе) для обычных сотрудников — практически полная свобода действий и куча вкусных «плюшек». Сейчас это является стандартом удобной работы, и я рад, что мы можем ему соответствовать.

Да, по поводу «студии». ВЕБО — это инновационная компания, практически, центр исследований и разработок. Мы сегодня проверяем, отлаживаем и создаем веб-инструменты, которые завтра сделают вашу жизнь легче и радостнее. Это наша конечная задача :) Мы не создаем веб-сайты — мы помогаем делать их лучше.

В: Насколько я понимаю, на данный момент, WEBO — единственная компания в своей нише на просторах постсоветского пространства? Как обстоят дела вне этого пространства, много ли на западе компаний занимающихся оптимизацией сайтов, или заботы об этом ложатся на плечи самих разработчиков?

О: Единственная компания на западе, которая серьезно занимается клиентской оптимизацией на заказ, — это Aptimize (www.aptimize.com). Но они работаю преимущественно с ASP-платформой и комплексно с серверами (на уровне модуля для Apache). Конкретно для PHP-сайтов (в том числе для виртуального хостинга) таких компаний нет.

Серверной оптимизацией и оценкой производительности занимаются достаточно плотно. Тут можно назвать и Gomez (www.gomez.com), и Akamai (www.akamai.com), и Percona (www.percona.com). Но они больше специализируются на крупных компаниях и больших нагрузках.

В: Большое спасибо за интервью! Традиционный вопрос: Чего можешь пожелать читателям блога?
О: Найти свою точку опоры и перевернуть Землю :)


Комментариев нет:

Отправить комментарий