Трубный ребенок: как объединять веб-сервисы в новые инструменты

    Отличительная особенность многих веб-приложений в том, что они, практически соответствуя канонам UNIX-way, превосходно выполняют одну функцию, лишь иногда предполагая некоторое ограниченное взаимодействие. Но для того чтобы аналогия была полной, не хватает главного элемента — аналога пайпов, который позволил бы связывать между собой сервисы для получения нового функционала. Мы подобрали инструменты, отлично решающие эту задачу, — различные мэшапы и автоматизаторы, способные связать разрозненные продукты в единое рабочее окружение.





    Yahoo Pipes





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

    1. Источник данных (все крутится вокруг формата RSS, то есть это сам RSS-фид, поисковая выдача либо запрос на специальном языке YQL).
    2. Пользовательский ввод — данные, которые можно вводить в специальные поля пайпа для изменения логики его работы. Например, ник в твиттере или поисковый запрос.
    3. Обработчики — множество различных функций, которые на вход получают данные из пользовательского ввода или источника, что-либо с ними делают и выдают результат своей работы. Кстати, в качестве обработчика можно использовать даже другой пайп.


    Также стоит отметить, что результат выполнения пайпа можно получать в различных форматах при запросе специального адреса вида: pipes.yahoo.com/pipes/pipe.run?_id=PIPE_ID&_render=json, что делает возможным использовать его в своих скриптах или на странице сайта.
    Все это, с одной стороны, делает пайпы довольно гибким инструментом для обработки данных, с другой — добавляет некоторую сложность в написании своих «скриптов». Кстати, на сайте есть еще и куча уже готовых и работающих пайпов на разные случаи жизни. Например:



    IFTTT





    If This Then That — настоящий любимчик публики, один из самых популярных сервисов подобного рода. Он предлагает несколько иной подход к обработке данных, нежели Yahoo Pipes, — в основе лежит идея веб-хуков. IFTTT взаимодействует со множеством API различных сервисов, позволяя создавать рецепты — мини-скрипты определенного формата. Рецепт состоит из триггера — условия, по которому обрабатываются данные (новый файл в дропбоксе, новый твит, новая фотография в инстаграме), и действия, которое выполняется в случае срабатывания триггера (написать письмо, изменить статус в фейсбуке). Данные обновляются периодически, раз в 15 минут, поэтому особой задержки в реакции на триггеры не происходит (кстати, некоторые триггеры срабатывают, как только происходит определенное событие, — в IFTTT их называют «молниеносными»). Стоит отметить, что, несмотря на всю простоту идеи, IFTTT довольно мощный сервис, позволяющий настраивать синхронизацию и автоматизацию различных сервисов. При создании рецепта существует еще такое понятие, как ингредиенты, — по сути, контекст выполнения триггера, в котором присутствуют переменные значения, такие как текст твита или тема письма. Их можно и нужно использовать в действиях (если, конечно, они получают какие-то данные на ввод). Замечу еще, что сервис ну очень приятно выглядит и имеет довольно большую базу уже готовых рецептов (можно также поделиться и своими). Из тех, которыми пользуюсь я: напоминание о погоде на почту, а также автоматическая загрузка понравившихся фотографий на дропбокс.

    Также интересными мне показались следующие рецепты:

    • Ведение журнала всех понравившихся видео с YouTube в Evernote. Для этого создадим новый рецепт, в качестве «This» укажем канал YouTube, триггер New favorite video, а в качестве «That» — канал Evernote, действие Append to note. Осталось ввести настройки действия (журнал, в который сохранять заметку, имя заметки и тому подобное) — и готово.
    • Автоматический загрузчик файлов из Gmail в Dropbox. Рецепт состоит из триггера Gmail -> New email from search и действия Dropbox -> Add file from URL. Дополнительно в настройках указываем поле «Search for: downloadthisfile» и назначаем папку для загрузки. Теперь можно самому себе послать по почте ссылку на файл — он автоматом окажется в папке дропбокса.


    Zapier





    Zapier появился чуть позже IFTTT, но логика работы тут полностью такая же: есть рецепты (только здесь они называются запы), события и действия. Есть база готовых запов и возможность создавать свои. На самом деле оба мэшапа очень похожи, и все их различия появляются в результате разницы подхода: если IFTTT — это сервис автоматизации твоей социальной жизни, который должен просто облегчить жизнь, то Zapier — это бизнес-инструмент, который может решать и вполне рабочие вопросы (для этого в сервисах присутствуют Redmine, Zendesk, Asana, Shopify и PayPal). Основная киллер-фича запиера — количество сервисов. Если в IFTTT их в районе 60, то тут их около 250. Создатели, кажется, взяли курс на подключение всего, что только можно, — и это здорово. Самый главный минус (разумеется, для пользователей) — сервис платный. Конечно, тут есть бесплатный план, для того чтобы можно было попробовать сервис, но его возможности совершенно несравнимы с бесплатными возможностями IFTTT. Цены, кстати, тоже не символические — минимальная подписка стоит 15 долларов в месяц, поэтому мне кажется, что целесообразность использования запиера упирается в то, окупается ли его цена лично тебе. И если, например, он сильно сэкономит время фрилансеру, освобождая от неприятной рутины, — то почему бы и нет? Примеры рабочих действий:

    • Автоматическое создание тикета в Redmine из записи в Evernote. Событием выбираем Evernote -> New Note, действие — Redmine -> Create Issue. Не забываем указать имя журнала в Evernote, для которого применим данный зап.
    • Напоминание в HipChat при создании карточки в Trello. Тут все совсем просто: событием служит Trello -> New Card, в роли действия HipChat -> Create Message.


    Google Alerts





    А это уже сервис от поискового гиганта. В его основе лежит идея мониторинга результатов поискового запроса с течением времени. Фактически ты можешь настроить «алерты» на появление новых результатов по запросу. На самом деле, что может быть логичней и правильней — ведь база гугла обновляется все быстрее и быстрее. Они умеют фильтровать всякий мусор и отбирать наиболее релевантные данные.

    В списке параметров оповещения:

    • сам запрос (поддерживается также синтаксис поисковых запросов гугла);
    • тип запроса (все, новости, блоги, видео, обсуждения, книги);
    • частота уведомлений (в режиме реального времени, раз в день, раз в неделю);
    • фильтр лучших результатов или всех;
    • отправка результатов на email или в виде RSS-фида.


    Что таким образом можно мониторить? Я думаю, каждому — свое. Кто-то может мониторить скидки на товары или услуги, кто-то — новости о падениях метеоритов. А можно вбить свое имя и ник и получать новые упоминания в интернете. Кстати, еще одним вариантом использования будет отслеживание новостей о новых уязвимостях какого-то продукта, например: «Rails Vulnerability» — для оповещений о новых проблемах в безопасности фреймворка.

    Итак, в качестве полезных юзкейсов:

    • отслеживание скидок, купонов. Для этого создаем алерт со словами «coupon code» OR «discount code»;
    • оповещение при появлении новых упоминаний о человеке — алерт с именем и ником в твиттере.


    Wappwolf





    Мэшап-сервис для работы с файлами. Он схож в идее с IFTTT, но с уклоном на обработку файлов. Единственное событие здесь — добавление в папку облачного хранилища (поддерживаются Dropbox, Google Drive, SkyDrive, Box) файла, а вот действий здесь может быть довольно много:

    • Синхронизация с другими облачными хранилищами Box, SkyDrive, Google Drive, а также с FTP-сервером.
    • Для изображений возможны различные простые операции, типа изменения размера, перевода в оттенки серого, поворот, добавление водяного знака.
    • Для звуковых файлов — конвертация в другой формат.
    • Для текстовых файлов: конвертация в PDF, форматы электронных книг, загрузка на Kindle, распечатка через облачный принтер Google.
    • Для всех типов файлов: добавление в архив в архив, переименование, шифрование/дешифрование.


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

    • Для настройки синхронизации папки Dropbox с FTP-сервером необходимо авторизовать веб-приложение, выбрать папку для синхронизации (или создать новую) и ввести реквизиты FTP-сервера.
    • Для автоматического конвертирования аудиофайла также укажем нужную папку, для которой будет работать действие, выберем действие Convert Audio и соответствующий формат (MP3, AIFF, FLAC, M4A, OGG, WAV или WMA). Удобно, если подходящего конвертера под рукой не оказалось.


    on{x}





    Несмотря на то что мы сегодня рассматривали исключительно веб-приложения, я решил добавить этот интересный проект от Microsoft. on{X} — это приложение для андроида, которое позволяет делать примерно то же самое, что и описанные выше сервисы, — выполнять действие при наступлении определенного условия. Из интересных особенностей:

    • Правила (они же рецепты в терминологии IFTTT) пишутся на JavaScript.
    • В качестве триггеров могут выступать различные источники данных (в том числе и сенсоры телефона): погода, время, новости, сигнал Wi-Fi-сети, уровень батареи и GPS-положение.
    • В качестве действий можно также пользоваться API телефона, показывая уведомления, запуская приложения и совершая другие действия.


    Проект скорее экспериментальный, но это не помешало ему обрасти сообществом энтузиастов. Разумеется, в лучших традициях подобных сервисов, есть возможность создавать новые рецепты, обмениваться ими и устанавливать (считав телефоном специальный QR-код).

    Поскольку, в отличие от предыдущих проектов, здесь используется API телефона, а рецепты пишутся на настоящем языке программирования, у разработчика появляется дополнительная свобода для творчества. Из наиболее интересных правил можно отметить:

    • правило, заставляющее телефон проиграть рингтон, если звонит кто-то из трех твоих самых частых контактов, даже если телефон находится в тихом режиме www.onx.ms/#!recipeEditPage?scriptId=ringOnFrequentCaller;
    • напоминание взять с собой зонт при первой разблокировке экрана с утра, в случае если сегодня по прогнозу ожидается дождь www.onx.ms/#!recipeEditPage?scriptId=weatherReminder.


    Автор: Михаил Еловских.


    Впервые опубликовано в журнале «Хакер» от 07/2013.

    Публикация на Issuu.com

    Подпишись на «Хакер»




    • +17
    • 17,9k
    • 7
    Журнал Хакер
    66,00
    Компания
    Поделиться публикацией

    Комментарии 7

      0
      Здравствуйте! А вы смотрели отзывы по вашему Android приложению? Апдейтить его планируете?
        0
        Здравствуйте!

        С какими проблемами столкнулись? На каком устройстве и версии Android?
          0
          Я хотел покупать подписку, но поглядев что пишут, не стал:

          читать невозможно, маштабировать тоже, телефон топовый а при листании тормоза

          Если весь смысл в том, что можно читать журнал в pdf, то приложение правильно ругают. pdf с телефона читать, мягко говоря, неудобно. Есть ли возможность загружать выпуски, например, в fb2, epub формате?
            +1
            Вам удалось поставить журнал на смартфон? Какой именно?

            Дело в том, что мы (а точнее, Adobe, разрабатывающая платформу, на которой выпускается журнал) не поддерживаем Android-смартфоны, и в настройках Google Play указано, что приложение должно ставиться только на планшеты. Известные мне исключения — некоторые фаблеты, вроде Sony Xperia Z Ultra и Samsung Galaxy Note.

            Возможности читать в fb2 и epub у нас нет, но мы подумаем, спасибо.
        0
        Был интересный сервис pachube, теперь это xively.com/, в новом качестве его, правда, не пробовал.
        Кое что можно сделать на скриптах в Google Spreadsheets.
          –2
          какое у#$ищное название
            0
            Еще один сервис – cloudHQ, который позволяет консолидировать файлы из нескольких облачных сервисов и аккаунтов, среди которых Evernote, Google Drive, Dropbox, SugarSync, SkyDrive, Box, Basecamp. Например: можно преобразовать заметки Evernote в файлы (TXT, PDF, OpenDocument format, MS Word format), поместив их в Dropbox. Разумеется, это не единственный сценарий использования.

            Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

            Самое читаемое