Чего не хватает рядовому интернет-гражданину мира?
Я думаю, что в современном интернете, кишащем обилием популярных и удобных сервисов, сегодня остро не хватает некой объединяющей площадки, общности между всеми этими разнородными сервисами и сайтами, каждый из которых мы вынуждены посещать по несколько раз на день. Иначе говоря, обычному пользователю интернета не хватает автоматизации и упорядоченности всей той разношерстной информации, которая сейчас льется на него лавиной цифровых битов из самых разных интернет-источников.
Поэтому сегодня я расскажу про уникальный в этом плане веб-сервис, который позволяет не только объединить весь разнородный контент сети, но и даже более того — позволит автоматически манипулировать им по ранее заданным вами правилам.
Речь пойдет об IfThisThenThat — онлайновом агрегаторе в стиле Web 2.0, который является ярким представителем моего любимого класса интернет-приложений — Mashup, и который возможно на своем примере предсказывает, насколько связным и интегрированным будет интернет уже в самом скором будущем.
Сегодня речь пойдет о необычном молодом агрегаторе и автоматизаторе в одном флаконе, очень даже выделяющегося среди огромной армии сервисов Веб 2.0, и который только-только вышел из бета-версии и стал доступен широкой публике.
Он называется IfThisThenThat (Если Это, Тогда То). Такое странное название сервиса связано в первую очередь с тем, что это, фактически, визуальный меж-интернет-платформенный язык программирования, который автоматизирует: связывание и коммуникацию разных сервисов между собой (это классическое mashup-приложение). Конечно, я немного утрирую, до настоящего (и даже ненастоящего) языка программирования ему ещё ой как далеко, но, то, что он на полную катушку использует единственную и простейшую логическую конструкцию из программирования — If условие Then выполняем действие
— это абсолютная правда.
И несмотря на множество доступных в нём источников, действий и приемников информации, у всех этих правил лишь одна общая формула — Если Это, Тогда То.
Не пугайтесь, если вы пока не уловили суть этого сервиса, все очень просто. Сейчас мы более подробно ознакомимся в самых общих чертах с его устройством и предназначением. И самый быстрый способ разобраться в чем-то — выделить его значимые составляющие и последовательно проанализировать их. Воспользовавшись этим моим гениальным планом, начнем рассмотрение с самого главного, постепенно двигаясь к второстепенному. А в завершении — закрепим всё на конкретном примере.
Итак, сервис базируется на следующих понятиях:
Попытаюсь очень кратко и последовательно объяснить, что это значит. Каналы (channels) — это как источники некоей информации (событий), так и наоборот — конечная цель всех преобразований. Понижая уровень абстракции и говоря проще, это либо сервисы или сайты где мы будем брать информацию, чтобы потом с ней что-то сделать, либо исходящие сервисы, куда мы будем постить (посылать, отправлять) ранее добытую информацию.
Идем дальше. Триггер (trigger) — это условие и способ срабатывания для какого-то входящего канала. Чуть позже мы более подробно опишем его суть на простом иллюстративном примере. Действие (action) — это то, что должен сделать сервис с полученной информацией (когда сработало условие триггера).
И, наконец, одно из центральных понятий — Задание (task). Это общая цепочка из всех вышеописанных составляющих, цельное логическое правило, которое последовательно указывает: какую информацию, где взять, при каких условиях это сделать, куда и как нужно её после этого отправить.
В связи с этим, центральную формулу этого сервиса можно записать более наглядно:
Task = If Trigger Then Action
Повторюсь, что здесь любой триггер, так и действие — оба привязываются к своему конкретному каналу, в рамках которого (и его правил и условий) только и рассматриваются (исполняются). Соответственно таких отдельных и полностью автономных задач у вас может быть вагон и маленькая тележка, и каждая из таких задач состоит из своего набора независимых каналов и каких-то сообразных с задачей триггеров и действий.
Повышая уровень синтеза полученной информации, теперь объединяем всё вместе.
Для чего давайте посмотрим, как это работает на практике. Конструирование любого задания в сервисе — это последовательное заполнение формулы If This Then That (если случилось это, тогда делаем то), которое выполняется в пошаговом режиме и в доступной всем визуальной форме.
Итак, сначала мы указываем исходный пункт для задачи — условие её выполнения: If This Then That. Для этого нам предлагают выбрать канал, который мы будем отслеживать (то есть фактически сервис, на котором мы ждем некоего события). Список каналов (доступных сервисов) на ifttt.com огромен, детально мы обсудим это чуть позже. Выбрав нужный канал, мы увидим список доступных триггеров — то есть событий, которые обслуживаются на данном канале. Опять же, пока мы обсуждаем это в первом приближении, поэтому не будет погружаться в детали, пока лишь повторно отмечу, что список тригерров у каждого канала чаще всего свой, и у каждого триггера есть свои служебные поля, посредством которых его можно настроить и запустить. А пока просто запомните: на каждый канал вы можете повесить только один триггер.
О'кей, поскакали дальше. После сохранения тригерра на канале, мы фактически формулируем исходную точку срабатывания события, а теперь переходим ко второй части формулы — что же делать, когда это условие произошло: If This Then That. И тут, как догадался читатель, снова всплывает список доступных каналов-сервисов, из которого мы снова выбираем — но на этот раз приемник. После выбора приемника — определяемся с действием на этом канале.
Очень сильно упрощая, это фактически очередной сервис для кросспостинга, но зато куда более крутой и универсальный чем все остальные вместе взятые: потому что, во-первых, набор каналов здесь (сервисов источников-получателей) чрезвычайно широк и разнороден (и продолжает увеличиваться разработчиками этого сервиса); а во-вторых, здесь есть концепция триггеров, которая позволяет фактически реализовать прослойку из логических условий-фильтров, которая позволит гибко управлять всем транслируемым контентом.
Суммируем всё сказанное во время нашего экспресс-обучения. Вот вся последовательность из 7 шагов при создании любого задания в сервисе:
Зачем нужен последний шаг с описанием вашей задачи? Отчасти вы делаете это для себя, чтобы не запутаться во множестве своих задач. Кроме того, если вы откроете эту свою задачу и сделаете её доступной публично — вы получите последнее понятие-термин этого сервиса пока не рассмотренный нами — рецепт (recipes). На сервисе свободно рейтингуются списки из самых удачных пользовательских решений на все случаи жизни (то есть рецептов), поэтому своё знакомство с сервисом можно начать как раз с просмотра самых популярных из них, которые кстати если вам понравятся — вы можете сразу скопировать себе и модифицировать под свои нужды.
~
Пока всё, а в следующем посте мы рассмотрим этот интернет-сервис уже на конкретном и практичном примере, который позволит завершить наш экспресс-курс обучения для его дальнейшего использования в сугубо мирных целях.
2 комментария
Простите, но мне кажется хрень полная. Вы же заходите на любимый сайт, блог или форум развлечься, пообщаться. И при этрм насладиться дизайном, что есть немаловажная составляющая.
ИМХО, конечно же.
Да, Влад, отчасти вы правы... В некоторых случаях этот сервис полезен даже "на любимых площадках" для "расширения их функциональности" даже в рамках "привычного и любимого дизайна" - там много всяких возможностей, и их можно по разному использовать... а можно конечно и не использовать, если всё устраивает изначально.
Проблема в том, что делать и как везде успевать, если таких "любимых мест" становится в сети слишком много...