Web User Interfaces

2023-11-21 · 2 min read

Robots are starting to include User Interfaces to monitor and control them. These interfaces act as a bridge between User intentions and the backend robotics control language (ROS, Python, C++, etc).

There are two common ways of creating these interfaces:

  1. A native application for iOS or Android, written in Swift, Kotlin, or Java.
  2. A web application which runs in a browser like Chrome or Firefox. These are written in a framework for JavaScript, like React or Vue.

Web applications are more flexible since they can be run on any device that has a modern browser, without needing to install anything. The downsides of this flexibility are:

  • That page scaling can cause odd issues like overlapping elements. You should test that your webpage's layout is clear on screensizes ranging from a phone to a desktop computer.
  • All your UI data needs to be transmitted through a network. Assume your robot is in a different building; all the webpage's information will need to travel over the internet from the robot to your device. A native application only needs to collect database information, like the robot's diagnostics data, rather than all UI information. The native application can do this because you had to download and install it as an application to your device.