Comb9 is a consumer integration platform which I built in 2015. By consumer integration I mean it allows consumers of internet of things gadgets, social media and online services to integrate this disparate capabilities together to build new combined1 services which do more than the sum of their parts.
Of course this idea is not new. IFTTT has been doing it since 2011. There are others too2. However despite their great business development and marketing their approach has a fundamental flaw. The recipes, as they call them, that you can create can only consist of two ingredients - one input trigger and one output action. Look through their recipes and you’ll see the result of this. They have great coverage of services but you are fundamentally limited from innovating. Some triggers and actions contain smarts but there is only a limited number of permutations and most of these are pretty useless.
This limitation of IFTTT is the primary reason I decided to put a bit of effort into realizing a refined concept. The secondary reason was that I’d just read the great book The Curve by Nicholas Lovell. With it’s tagline “from freeloaders to high-spending superfans” I thought this was a great platform exploring a way to monetise the internet of things.
If you’re not familiar with IFTTT let me first give you an overview of what it does. I will then describe how Comb9 takes this up a gear.
IFTTT is a web based service that allows it’s users to create recipes that contain an input trigger, output action pair. The trigger detects an event from a third party service and captures information from it. This information is then passed to an output action which is usually a request to another third party service. Each trigger and action contains a number of configuration options. In addition the wiring of data from trigger to action can be specified.
Comb9 extends the IFTTT processing model in a few key ways:
- Calculations are a new type of component that will accept input data, perform some calculation (in the most general sense) and produce outputs data that can be consumed by subsequent steps. A simple example is evaluate a mathematical expression based on one or more data values.
- Recipes can contain an arbitrary number of steps. Rather than one trigger and one action, in Comb9 you can have any sequence of zero or more Triggers, Calculations or Actions.
- Calculations can abort the execution of a recipe. This is useful for creating filters. For example: turn on my Philips Hue lights when it gets dark but only if Im at home.
- Calculations can hold state between executions. This allows Calculators to perform jobs like aggregating multiple results into a summary report or detecting changes in state.
Of course the trade-off for these enhanced capabilities is to increase the complexity for end users to create recipes. I’m optimistic that this is the right move however - this is because the approach degenerates into the same approach as IFTTT when you create the same complexity of recipes as IFTTT. Additionally I have faith that my target audience of intelligent non-programmers will “get it” given the similarity to a lot of kids programming environments such as Scratch3 :
Figure 1: Scratch Screenshot
Here is a video showing the steps to create a simple agent to monitor theguardian news RSS feed looking for items mentioning the EU.