Better routines

Plan a Tap Sequence That Is Easy to Replay

Turn a repetitive web task into a clear tap sequence. Define the starting state, targets, waits, repetitions, and success checks before recording.

A look at what’s next. Screens and detailed feature guides preview the upcoming 1.0.6 update. The App Store currently offers 1.0.5. Release details

To plan a tap sequence that is easy to replay, describe the starting page, each intended action, and the visible result before you record. A sequence is more than a row of tap locations. It is a set of assumptions about what the webpage will show when each step runs.

Tapper’s upcoming routine editor can help turn that plan into supported web actions. The planning method below starts with a small task, separates actions from dependencies, and checks whether the end of one pass is a valid beginning for another. It is useful whether you record a routine or build it from a template.

Write the goal as a visible change

Avoid starting with “automate this page.” Name the result you want to observe. A hypothetical practice task might be: “Increase the first counter twice and the second counter once.” A reading task might be: “Move through the next section while keeping each paragraph readable.”

The goal should be specific enough that you can tell whether one attempt worked. If it depends on a remote system accepting something, identify what confirmation the webpage provides. If there is no visible confirmation, decide how you will evaluate the result before adding more actions.

Keep the first plan small and reversible. Tasks involving several unrelated pages, account changes, or final submissions are harder to diagnose. You learn more from one sequence whose outcome you understand than from a long recording full of ambiguous events.

The record and replay guide explains the recording workflow. Use planning to decide what should be recorded before pressing Record.

Define the starting state

A starting state includes the URL, page position, visible controls, and any relevant open panels. It may also include being signed in, having no modal dialog open, or having a practice counter reset. These conditions are part of the task even when they are not represented as routine steps.

For the hypothetical two-counter example, write: “Practice page open, both counters reset, first target visible, same phone orientation used for selection.” That is a reproducible setup. “Open the website” leaves too many details unstated.

Complete login and one-off setup manually. Do not assume a recording stores credentials, website state, or the entire browser session. A saved routine contains instructions; the webpage can still be different the next time you open it.

Tapper’s upcoming executor also checks the page URL and can stop when it changes. Plan a supported task within the expected page context rather than assuming arbitrary navigation across pages will continue automatically. If a step takes you elsewhere, review the actual behavior before extending the routine.

Separate actions from conditions

An action asks the page to do something. A condition describes what must be true before another action makes sense. “Tap the panel button” is an action. “The panel’s next control is available” is a condition. Mixing these ideas creates sequences that proceed on hope rather than evidence.

Use a table with one row per meaningful action. Put the dependency and the expected result beside it. This makes missing waits and unclear targets visible before you spend time in the editor.

Step Action in a hypothetical page Required state Expected result
1 Tap the first counter Counter control available First total increases once
2 Tap the first counter again Same control remains available First total increases again
3 Scroll to the second section Document scrolls normally Second target is in view
4 Tap the second counter Correct second control available Second total increases once

This is a planning example, not a claim that a particular external site has these controls. Adapt it to the actual supported page you are using.

Give each target a name you understand

When planning, describe targets by purpose: “first counter button” or “open details control.” A pair of numbers is hard to review without the page beside it. You can later select the available coordinate or element target that expresses that purpose.

An element target may remain useful when the button moves, provided its identifying structure remains valid. A coordinate target depends on the layout at that page position. Neither is a permanent guarantee, so include a quick target review before reuse.

If two buttons have the same label, record the distinguishing context: which section, card, or row contains the one you mean? A routine that selects the wrong duplicate may appear to run normally while doing the wrong job.

Read the coordinate versus element comparison before choosing targets for a changing page. The best target is one you can explain and verify, not simply the first control the selection tool accepts.

Put waits at actual transitions

A fixed pause can provide comfortable pacing. A supported wait condition can express a dependency such as a control becoming available or a piece of text appearing. Place these where the page changes state, rather than inserting a long delay after every action.

For a hypothetical panel-opening task, the next tap should depend on the panel’s intended control being ready. If the panel appears instantly on one attempt and slowly on another, a relevant element wait describes the goal more accurately than copying the timing of one recording.

Do not choose a vague text condition such as “Done” without checking where that word appears. It might already exist elsewhere on the page. A condition that is true before the preceding action does not prove that action succeeded.

The wait-step explanation covers the available conditions and timeouts. In your plan, state why each wait exists and what you will do if it times out.

Check the boundary between repetitions

The most easily missed step is often the transition from the end of one pass to the beginning of the next. A routine can work once and fail on its second pass because the page has changed state.

Imagine a hypothetical button that toggles a panel. On the first pass it opens the panel. On the next pass the same tap closes it. The target has not moved and the timing may be perfect, yet the repeated sequence no longer matches the intended task.

Ask whether the final state is also a valid starting state. If yes, the sequence may be a reasonable loop. If no, add an appropriate supported reset step, redesign the task, or keep it as a one-pass routine with manual setup between runs.

Do not add a reset action unless you understand what it clears. Resetting a practice counter is different from discarding real page work. The repeat rules article helps distinguish a sequence’s action count from its repetition count.

Record the shortest useful version

Once the plan is clear, prepare the page and record only the intended supported interactions. Avoid exploratory taps, opening unrelated menus, or scrolling back and forth to find a target. Those actions can make a recording harder to interpret.

Use Finish recording, then open Edit routine and read the steps against your plan. Check action types, order, delays, and targets. Remove accidental steps. A pause caused by your own hesitation may not belong in the final routine; a wait required by the webpage may need a clearer condition.

If the recording is confusing, record the small task again. Starting over with four deliberate actions can be faster than repairing a long sequence whose purpose you no longer remember. Recording is an input method, not a reason to preserve every captured action.

For sequences with several targets, the multi point setup guide explains how to inspect the Multi-step routine template and select each target deliberately.

Test one pass against the plan

Restore the starting state and choose one repetition. Watch the first action and its visible result, then each following dependency. Compare what happens with the table you wrote. Do not wait until the end to notice that an early step went wrong.

If a step fails, stop and identify the first mismatch. Was the target wrong, was the page not ready, or was your expected result mistaken? Later failures may simply follow from that earlier problem. Fixing the last step alone can leave the real cause untouched.

Change one thing and repeat the short test. Keep a note of the edit and result. “Added a wait for the second control because it was not available yet” is a useful explanation. “Changed several settings until it looked better” is difficult to reproduce.

Use the missed-tap diagnosis if you need to separate movement, timing, and page-state problems.

Estimate effort before making the run larger

Count the non-wait actions in one pass and multiply by the planned repetitions. A routine with two taps and one scroll requests three actions per pass. Ten complete passes would request thirty such actions, assuming the routine reaches every step.

Estimate configured delays separately. Holds add their duration; waits add variable time; loop delays add time between passes. This estimate is a planning aid, not a guarantee of exact runtime. It helps you notice when a seemingly small repeat count creates more work than intended.

The upcoming shared premium previews are limited to three runs, each capped at 300 seconds or 1,000 actions. Prepare the plan and practice the basic mechanics before using a preview for a real advanced routine. A compact test is usually more informative than trying to consume the entire allowance.

Check the free-feature guide for the distinction between basic tapping, practice, and advanced access. The installed version’s offer controls current purchase terms.

Save the reasoning beside the routine

A useful routine name identifies the task and scope. “Practice — first twice, second once” conveys more than “New routine.” Keep private account information out of names that might appear in screenshots or be shared inadvertently.

Where you keep your own task notes, include the starting state, the result check, and any fragile assumptions. For example: “Use portrait layout; details panel closed at start; inspect both totals after the run.” These notes make future review faster even if the website has changed.

When you reuse the routine, compare the current page with those assumptions. A different layout, renamed control, or new banner may require a target review. Do not interpret a saved routine as a promise that a third-party website has stayed unchanged.

The article on organizing saved routines expands this into a maintainable library. Clear names and small purposes are easier to manage than one large routine intended to handle every situation.

Leave with a routine you can explain

Before making a longer run, explain it in one sentence: “Starting on this page, these actions produce this visible result, and the routine stops here.” If that sentence is difficult to write, simplify the task or clarify the missing assumption.

Keep the app and page visible while running. Stop when interrupted, when the page changes unexpectedly, or when the result no longer matches the plan. The ability to end a routine deliberately is part of making it useful.

Tapper’s redesigned editor and screenshots on this site preview the unreleased 1.0.6 update. Use the controls available in your installed version, and begin with one small supported webpage task. A clear plan makes that first replay easier to understand and every later adjustment more purposeful.

TRY IT WITH TAPPER

A good routine starts small.

Open the official App Store listing, check the available version, and try a supported webpage.

Download for iPhone
KEEP EXPLORING

One useful idea
leads to another.

All articles