Уже второй раз сталкиваюсь с проблемой: если в гаджете для Windows используется Flash, то у некоторых пользователей на Windows 7 гаджет может не работать. Причём когда сам проверяю не нескольких машинах, всё хорошо и глюк отловить никак не удаётся.
Я грешил на какие-то хитрые настройки безопасности, но дело оказалось гораздо проще. 64-битная версия Internet Explorer не поддерживает Flash, а в 64-битной Windows именно он используется Боковой панелью в качестве движка для гаджетов. Придётся ждать, когда Adobe выпустит нужную версию флэшплеера (обещают, вроде как, в начале следующего года).
При разработке стратегии продвижения виджетами, важно постараться охватить как можно большую часть потенциальной аудитории. Если делать десктоп-виджеты, то для как можно большего количества операционных систем. Если веб-виджеты, то для как можно большего количества площадок.
Это хорошо понимают в редакции глянцевого интернет-журнала о гаджетах для гиков 4geeks.ru, для которого я сделал пакет из четырёх виджетов, отображающих анонсы последних новостей:
1. Flash-виджет для сайтов и социальных сетей
Может вставляться в блоги на популярных платформах (LiveJournal, LiveInternet), обычные сайты и на FaceBook.com.
2. Статический виджет-картинка
Идеальный вариант для форумов и прочих сервисов, где вставка Flash невозможна.
3. Гаджет для Windows Vista
Изящная иконка на боковой панели по клику разворачивается в окно просмотра.

4. Виджет для для Mac OS X
В двух вариантах, адаптированных под разные версии операционной системы.

Получить любой из этих виджетов можно здесь: http://www.4geeks.ru/widget/

Итак, если вы хотите заняться разработкой виджетов Yahoo!, то первое место, куда следует заглянуть, это раздел Tools and Documentation. Там можно скачать SDK, почитать подробную документацию и найти инструкцию, как сделать свой первый виджет. Если будут возникать какие-то вопросы, можно посоветоваться с другими разработчиками на форуме Konfabulator. Народ там вежливый и адекватный: приятное отличие заграничных форумов от отечественных.
В Yahoo Widgets для разметки используется свой диалект XML, а для придания интерактивности – JavaScript. Также можно вставлять HTML, Flash и использовать CSS (правда, в урезанном варианте).
Свой язык разметки – это, с одной стороны, хорошо, потому что позволяет легко делать страницы типа «О программе» и определять настройки виджета с помощью специальных конструкций. Но с другой стороны, с непривычки вёрстка становится нетривиальной задачей.
Помимо обычного JavaScript, виджеты могут пользоваться дополнительным возможностями: хранить данные в SQLite, легко изменять и получать настройки, работать с операционной системой (например, узнавать загрузку процессора или информацию о беспроводных сетях)…
У виджетов есть режим отладки, в котором, кроме самого виджета, показывается консоль отладчика, где можно просматривать служебные сообщения и выполнять JavaScript-код.
Готовое приложение уваковывается в файл с расширением .widget. Есть два способа упаковки: zip (просто архивируете каталог с виджетом, после чего меняете расширение) и «однородный файл» (flat file), который создаётся с помощью виджета «Widget Converter», входящего в SDK. ZIP считается устаревшим методом упаковки и не рекомендуются к использованию из-за проблем с производительностью.
Когда ваш виджет готов, вы можете попросить других разработчиков потестирвоать его на форуме, в специальном разделе Widget Test Ground. Более того, Yahoo! настоятельно рекомендует это делать, особенно, для первой версии программы. Правда, я, например, комментариев к своему «Last.fm recent track» так и не дождался: наверное, он оказался слишком специфическим и пользователей Last.fm на форуме не было.
Теперь вы можете отправить ваш виджет в галерею виджетов Yahoo!. По идее, после этого он попадёт в очередь на утверждение, будет подвергнут автоматизированной проверке на безопасность (не спрашивайте меня, как они это делают) и просмотрен модератором, который сделает скриншот и напишет небольшой обзор. В моём случае скриншот они сделать не смогли, поэтому попросили его выслать, причём непременно с альфа-каналом (и то я просил опубликовать скриншот на тёмном фоне, а они сделали на светлом, из-за чего буквы на нём плохо читаются). Да и моё описание виджета оставили неизменным.
Кстати, будьте готовы к тому, что ваш виджет появится в галерее далеко не сразу. Мой, например, был отправлен на добавление в декабре, а появился в галерее только в первой половине февраля. Надеюсь, эти задержки с рассмотрением были временными.
Наконец-то! Мы подошли к финальной части: наш виджет опубликован и теперь его пора распространять. Делать это можно двумя способами: просто давать ссылку на его страницу в галерее (но это не очень удобно) и сделать бэдж для установки виджета прямо с вашего сайта. Если сразу после попадания виджета в галерею бэдж не создаётся (возникает ошибка вроде «Виджет не найден»), подождите день-другой и попробуйте ещё раз: похоже, там есть какая-то задержка. Ваше терпение будет вознаграждено вот таким красивым инсталлятором:
А в следующей заметке я хочу рассказать об использовании виджетов Yahoo! для бизнеса.
Заканчивая обзор технологий разработки веб-виджетов, расскажу о самых «мощных» из них.
HTML+JavaScript+серверный язык (например, PHP).
Такая связка позволяет создавать очень гибкие и интерактивные виджеты, поведение которых может зависеть как от действий пользователя, так и, например, от контента страницы, на которой виджет размещается. Эти технологии используются, в частности, для показа контекстной рекламы.
При такой схеме JavaScript, как правило, отвечает за формирование внешнего вида виджета, а сервер – за ресурсоёмкие операции вроде обработки текста и вычислений (а часто ещё и за формирование JavaScript-а).
Распространяться такие виджеты могут везде, где разрешена вставка JavaScript: на сайтах, в автономных блогах, некоторых блогохостингах.
Плюсы:
- максимальная гибкость и интерактивность, можно реализовать самые смелые идеи
Минусы:
- трудоёмкость разработки
- при большой популярности виджета, особенно если он требует много ресурсов для обработки данных, может сильно возрастать нагрузка на сервер
Где можно использовать:
- где угодно. Такие виджеты – уже практически полноценные веб-приложения, и их можно применять для самых разных задач.
Flash или Silverlight (+ сервер)
С помощью Adobe Flash делаются самые красивые виджеты, и самые технически сложные: например, всем знакомая вставка видео с YouTube. Сейчас набирает обороты конкурент Flash – технология Microsoft Silverlight. И хотя виджетов на ней я пока не встречал, уверен, скоро они начнут появляться.
Распространяться такие виджеты могут везде, где разрешена вставка Flash, а в некоторых случаях эта технология является вообще единственным вариантом: например, только с её помощью можно создавать приложения Вконтакте.
Плюсы:
- большие возможности для дизайнеров
- облегчается реализация технически сложных функций
Минусы:
- трудоёмкость разработки
- виджеты часто получаются «тяжёлыми», медленно загружаются
Ещё одна прелесть flash-виджетов состоит в том, что существуют сервисы для их автоматической генерации. К сожалению, в Рунете я таких не нашёл, а западные использовать неудобно, потому что они ориентированы на другую часть Сети. Приведу лишь пару примеров:
- Sprout – мощный редактор. К сожалению, с февраля становится полностью платным и с русским языком не умеет работать абсолютно.
- Widgetbox – позволяет легко делать несколько типов виджетов. Например, вот я буквально парой кликов сделал виджет для показа RSS своего блога:
Но увы, интерфейс этого виджета не русифицирован, местами слетает кодировка, а механизм распространения «заточен» под западные социальные сети. Так что полноценно использовать его в Рунете не получится. Хотя, например, в качестве элемента дизайна блога (показывать в сайдбаре анонсы постов) или в качестве рекламы блога на других своих площадках – почему бы и нет.





