Is there any RPA platform for Android/iOS? 🤔


If Covid-19 taught us something important is that Automation is here to stay and sped up Digital Transformation as a top priority as nothing in recent history [1]. However, what about automating our mobile devices?

Most of RPA solutions are strictly Microsoft Windows-oriented. Regardless of the vendor, UiPath, Automation Anywhere, Blue Prism, etc. They tend to be fantastic solutions, but none of them is multi-platform and probably, they're not going to be in the foreseeable future.

The reasons may vary, but the main one is that enterprises mostly use Windows PCs. This is perfectly fine because most of their employees tend to do their work through a browser (Chrome or Internet Explorer) or through apps like Excel, Word, SAP, etc.

However, over the years, mobile devices have become our main driving force. We use them on daily basis and they can even empower us to do our work too since they can connect to clouds (OneDrive, Google Drive, etc.), integrate with popular apps like Excel, and more importantly, more companies are creating their mobile counterparts like Adobe Illustrator [2]. Nowadays, mobile devices represent over 52% of the market:


Microsoft Windows still plays an important role in the market and is going to be for the foreseeable future. Complex solutions that are resource-intensive are going to stay in the PCs, not in the mobiles for a while.

However, pretending that there is no potential in automating repetitive tasks in our mobiles or that Windows isn't going to keep shrinking for regular users: This is not good business.

From the current RPA leaders [3], you can see small steps, allowing you to control and monitor your bots throughout their mobile Command Centers (Automation Anywhere and UiPath). However, the real cornerstone is going beyond that point, not only monitoring but actually building bots using the mobile devices. This is easier said than done.

Over a year ago, I got a question related to this topic in Quora of automating mobile apps. My answer was pretty tricky because I have built over 13 apps, and I have experience with RPAs. Honestly, I couldn't visualize a good solution for various reasons. However, one of my current proposals would be as follows (similar to any remote desktop solution):
  • Create an Emulator (iOS/Android) with the required specifications in Windows 10. WARNING. iOS can only run in macOS natively. You would need to use a 3rd party solution like Remoted iOS Emulator for Windows.
  • Start the Emulator.
  • Configure the Emulator with your account.
  • Install the required apps.
  • Configure the apps with the required credentials (if it's needed).
  • Verify if all apps have the required permissions. Not all of them are enabled by default. Nowadays, every OS upgrade is restricting its internal APIs more and more for privacy reasons [4][5].
  • Build a bot with an RPA platform that tries to identify what in the emulator is or where the buttons/inputs are located (Similar to Citrix automations). Mostly this will be done through Image Recognition. Some solutions (UiPath) allow AI Computer Vision options that could minimize its impact.
It might sound "easy" and straightforward, but it's incredibly tedious and challenging for two reasons:
Image or location recognition solutions can be extremely inaccurate. If anything minimal changes, then, your bot is going to crash and you need to reconfigure it again. This is more frequent than you could predict because apps tend to be updated regularly and you don't have control over their updates/upgrades.

If your emulator changes its position or skin, crashes, or anything else changes all is going to crash. Then, you might have a new potential risk. Keep in mind that emulators load pretty slow and they don't always load in the same location. Also, new OS upgrades can change their skin significantly.

However, recently, I discovered two apps for Android that can empower you to start building your new and real automations, avoiding the tricky scenario that I described before. One important recommendation, if you want to build these kinds of solutions, you should use Tablets or Laptops. I don't advise building them on smartphones.

#1. Automate


This is an incredibly powerful solution that resembles leaders in the RPA market like UiPath. I categorize it as a Low-Code Development Platform.
  • Automate allows you to build your own automations using flows and an extensive collection of blocks, for example:
  • UI automation; back, click, copy, cut, focus, home, long-click, open notifications, paste, power dialog, quick settings, recents, swipe, etc.
  • Clipboard; get/set
  • Content; changed, copy, delete, insert, update, pick, query
  • E-mail; compose, send
  • File; list, copy, move, delete, make directory, monitor, pick
  • Input method (soft keyboard)
  • And many more.
Definitely, this solution is a robust one and well-crafted. Its documentation is quite useful and is own way for developing automations using flows and blocks can empower even the less tech-savvy ones.

If you want to try it, you can download it from Automate. The best is free, no rooting permissions, no ads, and only one In-App Purchase if you want some extra blocks that keep the project afloat.

#2. MacroDroid


This is a more rudimentary solution. You have predefined options, you can define variables, set triggers, among many other things, but it's not visually appealing. It provides you a wide variety of options, for example:
  • UI interaction
  • Send email
  • Send SMS
  • Fill clipboard
  • Among many others.
This is a powerful solution and it's more like the "traditional" macro development, more manual configuration, and less low-code. It's a pretty unique solution because it has some features that require Root Permissions. However, I feel it too clunky. Also, its documentation is quite poor and accessible until you install the app only.

These minor disadvantages would discourage me to use it in any production environment because it will be hard to maintain and understand if the project becomes too complex. However, I am aware of its true potential because a friend of mine built its own YouTube player with it. For him, it was extremely inconvenient to play the next button while he is driving in India. This tiny project became a more complex one (a kind of IoT device) because he carried on integrating more features with other devices and expanding his macro.

If you would like to try it, you can download it from MacroDroid. It's free with ads and some In-App Purchases for premium features.

Another possible expansion for these solutions is expanding their Web Automation Capabilities. Nowadays, some mobile browsers like Yandex allow you to install Ad-Ins, and they can build a plugin that expands their services and accuracy.

Now, you might be wondering, what about iOS? Unfortunately, there is not a real solution for this platform, and it won't be for the foreseeable future since it relies on Apple's decision only because it's a closed ecosystem.

Apple has its own solution called: Shortcuts. However, as its name implies, it's mostly related to creating certain shortcuts or simple flows. You can create some tiny "automations" like a reminder based on a certain email that you received. Nevertheless, there is not a direct way to build UI Automations or anything more sophisticated.

These solutions are just the beginning of a new chapter Digital Transformation landscape. We need to keep in mind that in the near future more and more users are going to be connected through their mobile devices and to a lesser extent by PCs, even in the enterprise. Don't wait until the next Covid-19 hits your business.

Glossary:

  • A custom ROM is one that has undergone any modification from being a pure distribution of Android. Android Authority.
  • The Internet of Things (IoT) describes the network of physical objects—“things”—that are embedded with sensors, software, and other technologies for the purpose of connecting and exchanging data with other devices and systems over the internet. Wikipedia.
  • A low-code development platform (LCDP) is software that provides a development environment used to create application software through graphical user interfaces and configuration instead of traditional hand-coded computer programming. Wikipedia.
  • Rooting is the process of allowing users of smartphones, tablets, and other devices running the Android mobile operating system to attain privileged control (known as root access). Wikipedia.
  • Robotic process automation (or RPA) is a form of business process automation technology based on metaphorical software robots (bots) or on artificial intelligence (AI)/digital workers. Wikipedia.

Bibliography:

Comments