A distinctive feature of many web applications is that they, practically complying with the canons of the UNIX-way, perfectly perform one function, only sometimes assuming some limited interaction. But in order for the analogy to be complete, there is not enough of the main element - an analogue of the pipes, which would allow to link services to each other to obtain a new functional. We selected the tools that perfectly solve this problem - various mash-ups and automators capable of connecting disparate products into a single working environment.

')

The first in our list are the “pipes” - a free service, which can rightly be called the “grandfather” of the mashup genre. The main idea is the processing of text streams by cascading hanging various filters, aggregators and handlers. It is felt that the developers were inspired by the good old Unix pipeline. The user is invited to use the base of existing pipes or create your own. In fact, each pipe is a small program that is written or, rather, drawn in a special editor.
At the heart of pipes are several basic concepts:
- Data source (everything revolves around the RSS format, that is, it is the RSS feed itself, search results or a request in a special language YQL).
- User input - data that can be entered in special fields of the pipe to change the logic of its work. For example, a nickname on Twitter or a search query.
- Handlers are many different functions that, at the input, receive data from user input or a source, do something with it and return the result of their work. By the way, even another pipe can be used as a handler.
It is also worth noting that the result of executing the pipe can be obtained in various formats when requesting a special address of the form:
pipes.yahoo.com/pipes/pipe.run?_id=PIPE_ID&_render=json , which makes it possible to use it in your scripts or on the website page.
All this, on the one hand, makes the pipe quite a flexible tool for data processing, on the other - adds some difficulty in writing its "scripts". By the way, the site also has a bunch of ready-made and working pipes for various occasions. For example:

If This Then That is a real favorite of the public, one of the most popular services of this kind. It offers a slightly different approach to data processing than Yahoo Pipes, based on the idea of ​​web hooks. IFTTT interacts with a variety of APIs of various services, allowing you to create recipes — mini-scripts of a specific format. The recipe consists of a trigger — a condition on which data is processed (a new file in the dropbox, a new tweet, a new photo on instagram), and an action that is performed when a trigger is triggered (write a letter, change the status on Facebook). The data is updated periodically, once every 15 minutes, so there is no particular delay in responding to triggers (by the way, some triggers work as soon as a certain event occurs - they are called “lightning-fast” in IFTTT). It is worth noting that, despite the simplicity of the idea, IFTTT is quite a powerful service that allows you to customize the synchronization and automation of various services. When creating a recipe, there is still such a thing as ingredients - in fact, the execution context of a trigger, in which there are variable values, such as tweet text or subject line. They can and should be used in actions (if, of course, they receive some input data). I also note that the service looks very nice and has a rather large base of ready-made recipes (you can also share your own). Of those that I use: a reminder of the weather on the mail, as well as automatic loading of your favorite photos on the dropbox.
The following recipes also seemed interesting to me:
- Logging all your favorite videos from YouTube to Evernote. To do this, create a new recipe, specify the YouTube channel as the “This”, trigger the New favorite video, and the Evernote channel as the “That”, Append to note. It remains to enter the action settings (the log in which to save the note, the name of the note, etc.) - and that's it.
- Automatic file uploader from Gmail to Dropbox. The recipe consists of a Gmail trigger -> New email from search and Dropbox -> Add file from URL actions. Additionally, in the settings, specify the "Search for: downloadthisfile" field and assign a folder to download. Now you can send yourself a link to the file by mail - it will automatically appear in the dropbox folder.

Zapier appeared later IFTTT, but the logic of the work here is completely the same: there are recipes (only here they are called zapy), events and actions. There is a base of ready zapov and the ability to create your own. In fact, both mash-ups are very similar, and all their differences result from the difference in approach: if IFTTT is a service for automating your social life, which should simply make life easier, then Zapier is a business tool that can solve completely operational issues ( for this, services include Redmine, Zendesk, Asana, Shopify and PayPal). The main killer feature of the locker is the number of services. If there are about 60 of them in the IFTTT, then there are about 250 of them. The creators, it seems, have set their sights on connecting everything that is possible - and that's great. The main disadvantage (of course, for users) is a paid service. Of course, there is a free plan, so that you can try the service, but its capabilities are completely incomparable with the free features of IFTTT. Prices, by the way, are also not symbolic - the minimum subscription costs $ 15 per month, so it seems to me that the expediency of using a locker rests on whether the price pays off to you personally. And if, for example, he saves a lot of time for a freelancer, freeing him from an unpleasant routine, then why not? Examples of working actions:
- Automatic creation of a ticket in Redmine from an entry in Evernote. Event select Evernote -> New Note, action - Redmine -> Create Issue. Do not forget to specify the name of the journal in Evernote, for which this particular application is applicable
- Reminder in HipChat when creating a card in Trello. It's all quite simple: the event is Trello -> New Card, in the role of the action HipChat -> Create Message.

And this is a service from the search giant. It is based on the idea of ​​monitoring the results of a search query over time. In fact, you can set up "alerts" on the appearance of new results on request. In fact, what could be more logical and more correct - after all, the Google database is updated faster and faster. They are able to filter garbage and select the most relevant data.
In the list of alert options:
- the request itself (syntax of Google search queries is also supported);
- type of request (all, news, blogs, videos, discussions, books);
- the frequency of notifications (in real time, once a day, once a week);
- best or all filter;
- Sending results by email or as an RSS feed.
What can be monitored this way? I think everyone has his own. Someone can monitor discounts on goods or services, someone - news about the fall of meteorites. And you can drive your name and nickname and get new mentions on the Internet. By the way, another use case would be to track news about new vulnerabilities of a certain product, for example: “Rails Vulnerability” - for notifications about new security problems of the framework.
So, as useful yuzkeys:
- tracking discounts, coupons. To do this, create an alert with the words "coupon code" OR "discount code";
- Alert when new references to a person appear - an alert with a name and nickname on Twitter.

Mashup service for working with files. It is similar in idea to IFTTT, but with a bias towards file processing. The only event here is adding a file to the cloud storage folder (Dropbox, Google Drive, SkyDrive, Box are supported), but there can be quite a lot of action here:
- Sync with other cloud storage Box, SkyDrive, Google Drive, as well as with FTP-server.
- For images, various simple operations are possible, such as resizing, translation to grayscale, rotation, adding a watermark.
- For sound files, convert to another format.
- For text files: convert to PDF, e-book formats, download to Kindle, print through a Google cloud printer.
- For all types of files: add to archive to archive, rename, encrypt / decrypt.
In principle, it is convenient if you need to configure some kind of automatic file processing (for example, new screenshots), while other services cannot offer anything for this.
- To configure Dropbox folder synchronization with an FTP server, you must authorize the web application, select a folder to synchronize (or create a new one), and enter the FTP server details.
- To automatically convert an audio file, also select the folder for which the action will work, select the Convert Audio action and the appropriate format (MP3, AIFF, FLAC, M4A, OGG, WAV or WMA). Conveniently, if there is no suitable converter at hand.

Despite the fact that today we considered only web applications, I decided to add this interesting project from Microsoft. on {X} is an application for android, which allows you to do approximately the same as the services described above, to perform an action when a certain condition occurs. Of the interesting features:
- The rules (they are also recipes in the IFTTT terminology) are written in JavaScript.
- Triggers can be various data sources (including phone sensors): weather, time, news, Wi-Fi signal, battery level and GPS position.
- You can also use the phone's API as actions, displaying notifications, launching applications, and performing other actions.
The project is rather experimental, but this did not prevent him from gaining a community of enthusiasts. Of course, in the best traditions of such services, there is an opportunity to create new recipes, exchange them and install (having considered a special QR code by phone).
Since, unlike previous projects, the phone API is used here, and the recipes are written in this programming language, the developer has additional freedom for creativity. Of the most interesting rules we can mention:
- the rule forcing a phone to play a ringtone if someone from your three most frequent contacts rings, even if the phone is in silent mode www.onx.ms/# ! recipeEditPage? scriptId = ringOnFrequentCaller;
- a reminder to take an umbrella with you when you first unlock the screen in the morning, if today it is predicted to rain today www.onx.ms/# ! recipeEditPage? scriptId = weatherReminder.
Author:
Mikhail Elovskikh .
First published in the magazine "Hacker" from 07/2013.Publication on Issuu.comSubscribe to "Hacker"

