Отслеживая поток новинок сетевых сервисов, иногда невольно ловлю себя на мысли, что любовь человечества к малопонятным аббревиатурам и труднопроизносимым именам, похоже, является одной из загадок нашей цивилизации. Обратившись к истории, можно припомнить «революционные» человеческие имена в духе Владлена (у меня даже был школьный приятель с таким именем), Даздрапермы, и былинной должности «Зам.ком. по мор.де».
Новую инкарнацию любви к странным анаграммам и аббревиатурам в полной мере демонстрирует фантазия разработчиков эпохи веб-два-ноль. Не минула сия мода и героя нашего обзора – сервис If This, Than That, сокращенно – IFTTT (ifttt.com). Как специально поясняют разработчики проекта, произносить название сервиса стоит как «Ифт». Назначение проекта – создание на основе возможностей внешних веб-сервисов простейших алгоритмов по схеме «Если на первом сервисе произошло определенное событие, выполни заданную операцию на другом сервисе». Несмотря на такую простоту концепции, IFTTT может стать удивительно полезным инструментом для ежедневного применения.
Возьму на себя смелость назвать IFTTT «мэшапами 2.0». Как и традиционные мэшапы, скрипты этого сервиса позволяют преобразовывать информацию, полученную из разных источников. Отличие состоит в радикальном упрощении процесса, а также умении сервиса не просто преобразовать данные, но и выполнить действия на внешних подключенных ресурсах.
Основные элементы сервиса – это каналы, триггеры, действия и рецепты. Каналы – это внешние сервисы, с которыми умеет работать IFTTT. Они могут быть как источниками входной информации, так и объектами воздействия. Для работы с некоторыми каналами, требующими персональной авторизации, понадобится сообщить IFTTT свои данные.
Каждому каналу на сервисе сопоставлен набор триггеров и действий. Триггеры – это события, происходящие на входном, отслеживаемом IFTTT канале. Как только они происходят, запускается сам алгоритм. Реализуется он в «Действиях», которые сервис выполняет на другом сервисе, то есть выходном канале. В результате у нас появляется возможность быстро связать события на одном сервисе с автоматическими действиями на другом. Соответственно, комбинация каналов, триггеров и действий называется «рецептом». Рецепты могут быть как приватными, так и публичными.
Собственно процесс изготовления «рецепта» ведется с помощью мастера и включает семь шагов. Начинается он выбором исходного канала – Trigger Channel. Список событий-триггеров, запускающих выполнение алгоритма IFTTT, индивидуальный для каждого поддерживаемого канала. Например, для блог-платформ это новый пост или же новый пост с определенным тегом. Для некоторых каналов и триггеров требуется уточнение условий.
Для входящего электронного письма, это, к примеру, могут быть конкретные значения его определенных элементов: заголовка, имени отправителя либо иные подобные данные. Стандартные триггеры проверяют канал каждые пятнадцать минут. Существуют и триггеры, работающие в режиме реального времени, называются они «Quick Triggers» и срабатывают немедленно при заданном событии.
Выбор ресурсов-каналов относительно широкий, несколько десятков штук, однако если у вас был опыт свободы, не сказать вольницы, объездки «диких» RSS самодельными мэшапами, в сознании невольно звенит звоночек: «А вот и первая стеночка коридорчика!». Если бы создатели IFTTT на этом остановились, это было бы их право и логику можно было понять. Однако, к их чести, дела обстоят гораздо интересней.
Внимательное изучение списка предложений показывает, что в стенках коридорчика есть окна, в которых наблюдается вполне перспективный пейзаж. Дело в том, что в общем перечне сервисов есть ряд нестандартных для большинства веб-ориентированных служб приложений. Речь идет, например, о том, что сервис IFTTT дружит с линейкой продуктов для «умного дома» WeMo от фирмы Belkin.
Это окно уже напрямую и недвусмысленно ведет в офлайн – как вам возможность приурочить действие сетевого сервиса, например, к открытию входной двери вашего дома? Есть и каналы попроще, срабатывающие в определенную дату и время, реагирующие на события календаря Google или отправляющие SMS на номера поддерживаемых операторов. Наконец, в общем списке скромно устроился канал «Feed», позволяющий подключиться к произвольному RSS-каналу. Заметим, что для некоторых источников контента потребуется активация – предоставление IFTTT доступа к данным вашего аккаунта.
Таким образом, в идее проекта появляются новые краски. Если вы настроены на простой и быстрый результат, по коридору мастера «рецепта» вас проведут под локоток и расстелив ковровую дорожку. В принципе, даже составлять свои рецепты не обязательно – можно просто воспользоваться одним из открытых рецептов в галерее проекта. Если же вы настроены на эксперименты, этот коридор незаметно превращается прямо-таки в кэрролловскую кроличью норку.
Ну что же, ружье заряжено, курки взведены – пришло время определиться с возможными вариантами реагирования IFTTT на заданные нами в алгоритме события. Следующий шаг создания рецепта – выбор «Action Channel» — ресурса, на котором будет произведено действие. Здесь мы снова видим уже привычный по первому шагу список ресурсов. Каждому каналу опять же сопоставлен возможный перечень действий, из которых мы и вольны выбирать.
Пройдемся по некоторым сценариям практического использования IFTTT. Широкая сфера применения для IFTTT открывается для владельцев нескольких аккаунтов поддерживаемых социальных ресурсов. Простейшие варианты использования таких инструментов – дублирование действий на нескольких ресурсах и кросспостинг. Конструкция рецепта в данном случае сводится к схеме «при появлении сообщения в источнике №1 публиковать его текст в источнике №2».
Кроме того, можно, например, проводить синхронную смену персональных аватарок на нескольких ресурсах. Довольно удобно использовать его в связке с сервисами отложенного чтения – это, честно скажу, была первая задача, которую лично я стал решать с помощью IFTTT. Общая идея аналогична любому классическому мэшапу: вместо того, чтобы посещать в поиске обновлений несколько интересующих нас сайтов, мы автоматически собираем их новинки, а затем объединяем полученные данные в одном приложении-агрегаторе.
В нашем случае на роль такого агрегатора неплохо подходит присутствующий в списке каналов IFTTT весьма удачный персональный «закладочный» сервис Pocket. Осталось снабдить его набором рецептов IFTTT, автоматически наполняющих его новыми ссылками. В качестве источника контента для Pocket могут выступать ваши подписки в Twitter, YouTube, Vimeo, да и вообще любые внешние сайты, транслирующие свои обновления в RSS – помните про универсальный канал Feed, позволяющий к ним подключиться?
Взяв в качестве источника RSS-ленту какого-либо новостного ресурса и добавив промежуточный фильтр с ключевыми словами, можно автоматически загружать в свой аккаунт Pocket только сообщения по интересующим вас темам без необходимости отслеживать всю ленту новостей. Если такой новостной сайт активно обновляется, получается ощутимая экономия действий и времени. При работе с видеохостингами можно помечать ролики для последующего просмотра и опять-таки отправлять соответствующие ссылки в Pocket. Нужные триггеры присутствуют в каналах Vimeo и YouTube.
Кстати говоря, такой IFTTT-рецепт может работать и в обратном направлении, например, публикуя в поддерживаемых соцсетях ссылки на ресурсы, которые вы добавили в «Избранное» сервиса Pocket. Даже если обрабатываемые сервисы-каналы изначально оснащены функцией быстрой публикации, применение IFTTT экономит действия и за счет автоматизации процесса оказывается даже более удобным.
Итак, мы избавились от необходимости просматривать обновления каждого из задействованных ресурсов по отдельности – индивидуальные рецепты настроены и нам нужно посещать только менеджер закладок Pocket. Однако можно сделать и следующий шаг. Поскольку мы собрали весь нужный контент на одном ресурсе, мы можем повторить процесс создания рецепта, теперь уже используя в качестве исходного канала наш Pocket-«сборник». Отличный вариант – передать собранные тексты и ссылки новому каналу IFTTT, на этот раз – сервису Instapaper.
Поскольку Instapaper умеет отправлять обработанные тексты на мобильные девайсы, для которых у него есть вполне приличные клиенты, мы получим собранную информацию на свой планшет или смартфон в самом лучшем виде. В общем, вариантов использования простых на первый взгляд рецептов IFTTT масса. Для вдохновения не поленитесь и посмотрите галерею готовых общедоступных рецептов IFTTT. Даже не занимаясь созданием собственных вы, уверен, довольно быстро найдете пару-тройку скриптов, облегчающих решение повседневных задач.
IFTTT — интересный сервис, но не лишенный недостатков. Высокая степень автоматизации неизбежно ведет к ограничению количества поддерживаемых сервисов. Это, пожалуй, основной недостаток IFTTT, поскольку наших местных веб-сервисов там нет. Приходится выбирать из предлагаемых международных. В завершение обзора замечу, что разработчики данного сервиса явно не лишены здоровой самоиронии. Людям без чувства юмора просто не пришло бы в голову разместить мануал для своего продукта по чудесному адресу ifttt.com/WTF.