Hello from the Adafruit IO Team!

Spring is just getting starting (where I am, at least!), and it’s time to bring some of that spring freshness to IO Actions with a brand new interface: Blockly!

What is Blockly?

Blockly is that seemingly-ubiquitous Google open source project behind such well-known visual programming applications as:

An example from MIT Scratch

An example from MIT Scratch

The idea is to leave open-ended text editors and code syntax behind and simplify programming by adopting “blocks” that can be worked with spatially. Compatible blocks give a satisfying “click” when combined, giving the user positive feedback and confidence that they’ve done something right.

What’s Changed for IO Actions?

The IO Actions system has the same capabilities it always has, there’s simply a new way to author and edit your Actions using Blockly. We’ve written a new Learn guide covering the Blockly interface, how to use it, and some examples to demonstrate.

Blockly Actions in Adafruit IO

Blockly Actions in Adafruit IO

If you’re not into it, or you have issues with it, the old webform-based method of creating and editing your Actions is still available, for now. You can even swap back and forth, editing the same Action in either interface!

Why Blockly?

We think this approach will help users to visualize the options and opportunities of the Actions system a bit better. Some elements are drastically easier to understand, such as the scheduling options for Scheduled Actions (these wrap a crontab string, a notoriously difficult to understand bit of configuration.)

The new scheduling options

The new scheduling options

It’s also true that the old forms are a bit fragile, or sub-optimal in certain ways, and Blockly obviates those problems entirely. But the real excitement lies ahead…

What’s Next?

We’ve long wondered how to put more power into users’ hands with Actions, but we’ve struggled with the tradeoff between power and simplicity. At Adafruit, we always want to make things easier and avoid complicating them as much as possible. With Blockly now in hand, a clear path forward is starting to appear.

Imagine having such tools at your disposal as:

  • conditionals, logic operations, comparisons
  • arithmetic, variables
  • multiple triggers and actions in a single Action run
  • more control when and how Actions run
  • Power-Ups

Stay tuned for more later this year!

As always, if you have any suggestions or bugs to report about these new features, please let us know in the forums.