Phone Automation Atomic Capabilities: click/swipe/input/wait_ui

You've heard "let AI operate on your phone"—but what happens under the hood? Today we break down iEasyRun's atomic capability set: nothing magical, just proven engineering executed correctly.

Capabilities & Architecture · 7 min read
On this page
  1. What an atomic capability is
  2. The design, and how it differs from recording a script

What an atomic capability is

An atomic capability is the smallest operation unit. It cannot be split further. Like an atomic operation in programming, it either finishes completely or fails completely. It does not stop halfway. The term sounds abstract the first time you hear it. It is one tap, or one swipe.

In iEasyRun, the Agent client calls atomic capabilities directly. The client is the native app on each phone. The farm control plane does two things: send the command, and collect the result. The upper layer and the lower layer are separate, which is what decoupling means here. Whatever model or strategy sits above, execution underneath stays the same, and it can be checked.

Capability What it does What the success receipt requires
launch_app Launch a specified app The target app is already in the foreground
tap Tap a coordinate or a UI selector The tap has been sent; optional confirmation that the UI changed
swipe A swipe gesture (up, down, left, right) The gesture finished
input Enter text into a specified field The field text matches what was expected, or it can be read
wait_ui Wait until copy or a control appears An explicit failure if it times out
album_import / pick_media Import or select a media file The asset can be selected on the publish page
screenshot (optional) Capture the current screen Enabled only while debugging; off by default, and not written to disk

The design, and how it differs from recording a script

Every call has a receipt. After a tap is sent, you still confirm that the screen actually moved to the next page.

Timeouts and error codes have to be explicit. wait_ui waits at most N seconds. When the time is up it returns a timeout error. It does not keep hanging.

The same command has to be idempotent. Sending the same tap twice has the same effect as sending it once. A repeat send does not perform the action a second time.

An atomic operation only changes state inside the app. It does not clear the cache, and it does not change configuration.

Atomic capabilities and record-and-playback are often talked about together.

Comparison Record and playback Atomic capabilities + AI
Stability An app update breaks it It acts on what is on the screen, so updates bother it less
Flexibility It can only replay the flow that was recorded The AI combines steps from the intent
When something goes wrong After an interruption, start over from the beginning Find which step failed, and retry that step
Where it fits Testing a fixed flow Flows of varying length (the user states the task however they like)

To chain these calls into a workflow, see the capability guide.

Keep Learning

Want to See How These Chain Together?

Start with the video publish workflow—understand the whole chain step by step.