Robin – The Open Source RPA Language

Robin - An RPA Language
Robin – An RPA Language

So this has been making the news headlines in the RPA community a few months ago: https://robin-language.org/

Its a programming language purpose designed for RPA. Not much information is available online at the moment, and it doesn’t seem like many online articles have tried it out, so I’ve gone ahead and actually installed it, and used it to give you all my thoughts.

Robin’s Github Repo

https://github.com/robin-language/robin

There’s no source code at all. It just says “Source code coming soon” as of October 2019. That’s odd for a self proclaimed open source project.

Installation

The installer is a pre-built 101MB Windows .exe file. It installed without any issues on a fresh Win 10 VM. The install folder ends up with 20+ dlls and some random config files.

Spying Applications

One of the first things RPA devs do is to check whether they are able to spy the applications that they need to work with, so here we go!

There is a separate spying application called Robin UI Spy. After launching it, you can spy using mouseover on all opened applications, including Windows Explorer itself. As with all spying in RPA products, this sometimes works well depending on how the application was designed. I tried spying Robin’s own website and a lot of things can’t be spied using simple mouseover, including their whole header bar.

Each element that you spy saves a list of attributes (UIA in this case) that you can tweak. No surprise there. It also takes a screen capture and saves that as well. I’m not sure how that image is used but it is worrying, as we all know that the way an application is rendered can vary wildly from one PC to the next.

Once you’ve spied all the elements by mouseover and Ctrl+left mouse click, you can save this “spied application” into an “.appmask file”. Under the hood, it looks like a JSON file. There you can see the entire image of the element embedded in string format.

Creating a Process

There is a text-editor like development environment provided called Robin Editor.

It looks like a reskinned Eclipse or other IDE and this tells me that the target users are software developers/programmers. Reading the language docs (https://robin-language.org/docs/robin-the-rpa-language/) confirms this as well. There’s no way business users will be able to understand stuff like enums, goto’s + labels etc. One of RPA’s great strengths is how it can allow non-techies to contribute to the development of their business processes.

At the same time, there’s no debugging capability, not even breakpoints in the IDE. So I would not call this ready for developers even yet.

I’m still unclear on how you can launch an application if it’s not opened yet. I don’t see anywhere in the docs that refer to this. The Robin Project seems to be built by developers for developers.

Conclusion

This is really a programmer oriented tool. The documentation, debuggins and testing capabilities aren’t there yet to support widespread or even POC use. But I guess give it some time.

There is no indication now of any logging capability for auditing, or orchestration. I have a feeling that you are supposed to code one yourself, as I see references to conditional statements like “if today is Saturday do this” in the examples.

This seems to be something to use when 1. you are a developer and 2. what you want is attended or desktop based automation.