User Experience for Robots
Let’s face it, Robots are here to stay, be it physical robots or software robots. Isaac Asimov saw this coming several decades ago (and hastily wrote down the three laws of robotics, hoping probably that the future generations will take a hint) and we are now just confirming that this is going to be the future.
Robotic Process Automation (RPA) is one area where software robots are adopted successfully and these bots are used to automate repetitive, high volume, rule-based tasks that are done manually now. For example, if your workflow involves lots of incoming documents which have to be processed based on a set of rules (like invoices) and then keyed in to an enterprise system, RPA bots can do these tasks effectively and efficiently with minimal manual supervision. This is just one example, there are n number of use cases where we can apply RPA technologies. Automating such tasks are highly beneficial to the business in terms of effort saved and efficiency gained and the human resources allocated to these tasks could be used for more productive activities.
RPA is not really a new concept and the software test automation teams have been doing this for a long time, albeit for a different purpose. Technically, i.e., in terms of interactions with the application UI, both RPA and Test automation tools are very similar. Even though features and capabilities of both categories of tools might differ, major challenges of automating applications will be same for these tools. The success rate of automation generally depends on how easy the tool can interact with the target application (and of course, how robust the scripts are). For example, if the application has a very rich UI with lots of custom controls and dynamically generated fields, it will be difficult to automate the pages. At a very basic level, automation is just three steps, viz. identifying the screen, identifying a field or UI element in the screen and performing an action (click, type data etc.) on that field. The easier it is to perform the first two steps, easier becomes the automation.
Keeping this in mind, it is probably time we change the way user interfaces are designed for business systems. For systems that are used internally and are possible candidates for automation, the UI can be built in such a way that the robots can interact with the pages very easily. Admittedly legacy systems are not easy to change; however, most enterprises do routine updates to these applications and whenever there is a change made to the UI, it can be applied in the way that the screens and elements are easily identifiable by RPA tools. For new enterprise level applications, the need of the hour is probably a UI bot or automation standard so that even robots have a wonderful user experience.