Is there any RPA platform for Android/iOS? 🤔


If Covid-19 has 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 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 and most likely none of them is 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 apps like Excel, Word, SAP, etc.

However, over the years, mobile devices have become our main driving force. We use them daily 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]. In June 2021, mobile devices represent over 57% of the Operating Systems market:


Microsoft Windows still plays an important role in the market and is going to for the foreseeable future. Companies are not replacing their laptops with Chromebooks, iPads, or Android-powered laptops soon. Additionally, complex apps that are resource-intensive are going to stay on our PCs for a while. However, Apple in 2020 gave some curious steps with the release of their own Apple Sillion processors. These Macs use the same tech as our mobile devices. This enabled for the first time to run some iOS apps natively.

However, pretending that there is no potential in automating repetitive tasks on our mobiles or that Windows is not going to keep shrinking for regular users 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, Microsoft, and UiPath). However, the real cornerstone is going beyond that point, not only monitoring but actually building bots using mobile devices. This is easier said than done.

Over a year ago, I got a question related to this topic in Quora about automating mobile apps. My answer was pretty tricky because I have built over 13 apps, and I have experience with RPAs. Honestly, I could not visualize a good solution for multiple reasons like proper UI interaction support or web scrapping.

After a while, I thought of a couple of potential solutions one close to the native and one with native apps. The close-to-native will work similarly to a remote environment (Citrix) and in my opinion, it is the best solution if you are serious about automating mobile repetitive tasks (for now).

Close to the native

Windows 11, Android

Microsoft Windows 11 runs Android apps natively, expanding the possibilities as never before [4]. This allows running apps without extra layers and simplifies the process of building bots.

Credits: Microsoft

If you are running Windows 11, the steps to get started will be the following:
  1. Download the required apps from the Microsoft Store.
  2. Configure the apps with the required credentials (if they are needed).
  3. Verify if all apps have the required permissions. Not all of them are enabled by default. Nowadays, every OS upgrade restricts its internal APIs for privacy reasons [5][6].
  4. Identify the actions to be performed. Anything that can be performed in Windows, do it there like Web Scrapping.
  5. Build a bot with an RPA platform (UiPath, Automation Anywhere, etc.) 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.

Windows 10, Android

Credits: Google

In Windows 10, the solution might become a little bit less efficient but it is still possible.
  1. Download Android Studio or another Android emulator like BlueStacks.
  2. Configure your emulator. I will advise you to create a tablet (Nexus 10, for instance) if you use the common Android emulator. They are easier and cleaner to automate than apps running apps on small screens.
  3. Start the Emulator.
  4. Configure the Emulator with the required account.
  5. Install the required apps from the Store (Google Play, Amazon App Store, etc.)
  6. Configure the apps with the required credentials (if they are needed).
  7. Verify if all apps have the required permissions. Not all of them are enabled by default. Nowadays, every OS upgrade restricts its internal APIs for privacy reasons [5][6].
  8. Identify the actions to be performed. Anything that can be performed in Windows, do it there like Web Scrapping.
  9. Build a bot with an RPA platform (UiPath, Automation Anywhere, etc.) 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.

Windows 10+, iOS

iOS is significantly tricky because it runs only on macOS devices. However, you could use a workaround if you have Visual Studio 2017+ using its remoted simulator.

Credits: Microsoft
  1. Configure your Mac and create your simulator (you need to install XCode). I recommend iPad Pros whenever possible, they are easier and cleaner to automate than apps running on small screens.
  2. Configure the Simulator with the required account.
  3. Download and install Remoted iOS Simulator for Windows.
  4. Start your Simulator.
  5. Download the apps from the App Store.
  6. Configure the apps with the required credentials (if they are needed).
  7. Verify if all apps have the required permissions. Not all of them are enabled by default. Nowadays, every OS upgrade restricts its internal APIs for privacy reasons [5][6].
  8. Identify the actions to be performed. Anything that can be performed in Windows, do it there like Web Scrapping.
  9. Build a bot with an RPA platform (UiPath, Automation Anywhere, etc.) 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.
The processes are similar, "easy" and straightforward, but it is incredibly tedious this situation for two reasons:
  1. 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 do not have control over their updates/upgrades.
  2. 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 slowly and they do not always load in the same location. Also, new OS upgrades can change their skin significantly.

Native

Android

Moving to the native solutions, I found three apps that can empower your automation fastly, avoiding the tricky scenarios that I described before. However, there are two important considerations for the non-Bluestacks solution:
  1. Your Android device/emulator might need to be rooted for the best performance. In any other case, you will notice that some features are unavailable.
  2. I would be careful using physical devices, especially smartphones. Smartphones tend to be too small and hard to manipulate. If you want to use a physical device, I will recommend you to use:
    • A laptop/PC running Android.
    • An Android tablet with a least 10"+ screen with keyboard and mouse.
Personally, I would install an Android emulator for Windows or macOS on a laptop/PC and build my bots there. Your experience will be smoother and easier.

Now, let's check the solutions.

#1. Bluestacks Macros

Credits: BlueStacks

BlueStacks is a tool that allows you to run a full Android version in your Windows and macOS natively via a sandboxed emulator. The app is mature and known by gamers mainly.

In 2020, BlueStacks gave the extra mile and added a new feature called BlueStacks Macros [7] that allows you to create macros to minimize repetitive and monotonous tasks. The app behaves like what you will expect in commercial RPAs like UiPath. Some of the most powerful features of this feature are:
  1. You can interact with all installed apps on your Android.
  2. You have full control of the controls of apps installed.
  3. It has a recorder that allows you to record your entire flow.
  4. You can customize your macros by adding new actions or restrictions.
  5. You can merge macros simplifying duplicated actions or "code".
  6. Import and export macros. This enables you to share them with your colleagues easily and collaborate.
BlueStacks Macros in my opinion is the #1 tool in the RPA market for Android, it resembles quite well commercial RPAs for Windows.

#2. 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:
  1. UI automation; back, click, copy, cut, focus, home, long-click, open notifications, paste, power dialog, quick settings, recent, swipe, etc.
  2. Clipboard; get/set
  3. Content; changed, copy, delete, insert, update, pick, query
  4. E-mail; compose, send
  5. File; list, copy, move, delete, make a directory, monitor, pick
  6. Input method (soft keyboard)
  7. And many more.
Definitely, this solution is a robust one and well-crafted. Its documentation is quite useful and its own way of 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, with no rooting permissions, no ads, and only one In-App Purchase if you want some extra blocks that keep the project afloat.

#3. MacroDroid


This is a more rudimentary solution. You have predefined options, you can define variables, and set triggers, among many other things, but it isn't visually appealing. It provides you with 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 is more like the "traditional" macro development, with more manual configuration, and less low code. It is a pretty unique solution because it has some features that require Root Permissions. However, I felt it is extremely 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 is 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 add-ons (plugins), and they can build a plugin that expands their services and accuracy.
iOS

Now, what about iOS? Unfortunately, there is no real solution. The closest solution is a proprietary app supported by Apple called Shortcuts.

Shortcuts as its name implies is mostly related to creating certain shortcuts or "simple" flows. You can create some automations like a reminder based on certain emails or relatively complex bots like downloading a gif from Twitter and sharing it with your friends.

Credits: Nelson Aguilar/Gadget Hacks

As in the previous example, you highly rely on what the app allows you to do or not. Indeed, you can do some validations like in common programming languages:


One of the benefits of Shortcuts is that also runs on the latest Macs (2020+), but only the ones that have Apple Silicon chips. These Macs have the benefit that running iOS apps natively from the App Store. This allows you to build these Shortcuts natively without an emulation layer.

However, there is no direct way to build UI Automations that is something known in the RPA world. If your idea needs to interact with certain UI elements, web scrapping or requires some APIs that are inaccessible in the apps of your choice then there is not a clear path until Apple authorizes it (if it ever happens). Probably, in the future, there will be a way to combine Automator (their own kind of RPA) with iPad apps running under Apple Sillion but it might take a while. Nowadays, Apple is bringing shortcuts to macOS [8].

Alternative

Another option you could consider for building RPAs on mobile devices is Microsoft Power Automate.

Credits: Microsoft

They have a collection of predefined APIs called Connectors that allow you to interact with different services. They are kind of cloud-RPAs but they are not exactly iOS/Android bots as in the traditional meaning. They will solve some problems but not necessarily what you expect because they cannot directly interact with your local apps (at least for now, July 2021).

As you might have seen, the mobile RPAs are still under development. The solutions are not as powerful and robust as their Windows counterparts. If I were you I would go to the close-to-native solutions (at least for now), they will be more reliable than the native ones since they are more developed.

Hopefully, this article can help you start a new chapter in your Digital Transformation adventure. However, it is important to keep our eyes open because more and more people are using their mobile devices and to a lesser extent by PCs, even in the enterprise. Do not wait until the next Covid-19 hits your business. A perfect example of our mobile "future" is in developing countries where over 60% of their users use mobile devices.



Furthermore, if you have tested other solutions or have other innovative ideas, share them in the comments section.

Glossary:
  • An API is a set of definitions and protocols for building and integrating application software. API stands for an application programming interface. APIs let your product or service communicate with other products and services without having to know how they're implemented. RedHat.
  • A custom ROM 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 to connect and exchange 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.
  • Robotic process automation (RPA) is a form of business process automation technology based on metaphorical software robots (bots) or artificial intelligence (AI)/digital workers. 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.

Bibliography:

  1. COVID-19 has sped up digital transformation by 5.3 years, says the study. July 23, 2020.
  2. Adobe Illustrator is coming to the iPad. November 3rd, 2019.
  3. Gartner Magic Quadrant for Robotic Process Automation. July 29, 2021.
  4. Building a new, open Microsoft Store on Windows 11. June 24, 2021.
  5. Permissions updates in Android 11. September 8, 2020.
  6. Apple sets restrictions for COVID-19-related apps. March 14, 2020.
  7. BlueStacks Macros - The Marvel of Automation. July 23, 2020.
  8. Hands-on: macOS Monterey brings new Shortcuts app - 9to5Mac. June 20, 2021.

Comments