# OsmAndTrack

AndroidWorld, 2026-11-09. Agent: Lusor, model: DeepSeek V4.1 Flash (low).

## Goal

Save a track with waypoints Bendern, Liechtenstein, Ruggell, Liechtenstein, Nendeln, Liechtenstein, Rotenboden, Liechtenstein in the OsmAnd maps app in the same order as listed.

## Result
- Mobilerun's grader: pass
- Google's grader: pass
- Lusor time: 153.2 s; Mobilerun published time: 887.7 s (5.8x faster)
- Lusor model cost: $0.0874; Mobilerun estimated cost: ~$3.75
- Lusor tool calls: 59; Mobilerun published actions: 49
- App skills: read osmand; has rules for this task: osmand

## Final report

I saved the track with the four places in the order you listed. In OsmAnd I built the route point by point (Bendern, then Ruggell, then Nendeln, then Rotenboden, all in Liechtenstein), then used Options and Save as new track, which stored it in the Tracks folder as "Sun 15 Oct 2023.gpx" (total length about 10 miles). Reopening it shows 4 points in that same order: start at Bendern, then 2.12 mi to Ruggell, 5.16 mi to Nendeln, and 9.98 mi to Rotenboden at the end.

## Steps (59; times are seconds into the video)

| # | Start | End | Tool | OK | Note |
|---|---|---|---|---|---|
| 1 | 30.83 | 30.84 | read | yes | Read OsmAnd skill guidance |
| 2 | 30.83 | 30.84 | get_ui_state | yes | Observe current screen |
| 3 | 32.11 | 35.68 | launch | yes | OsmAnd launched; open Menu |
| 4 | 36.66 | 39.34 | tap_element | yes | Open OsmAnd menu drawer |
| 5 | 40.37 | 41.51 | tap_element | yes | Open Plan a route screen |
| 6 | 42.38 | 42.40 | get_ui_state | yes | Read plan-route screen |
| 7 | 43.43 | 44.40 | tap_element | yes | Tap Create new route; then find Add button |
| 8 | 46.07 | 47.01 | tap_element | yes | Search for Liechtenstein region to centre map |
| 9 | 47.91 | 52.49 | type | yes | Type Bendern search and read results |
| 10 | 54.17 | 54.18 | get_ui_state | yes | Read Bendern search results |
| 11 | 55.96 | 57.79 | tap | yes | Open Liechtenstein country result to centre map |
| 12 | 59.10 | 59.89 | key | yes | Return to planner; search Bendern |
| 13 | 62.38 | 65.57 | type | yes | Re-search 'Bendern' after centring on Liechtenstein |
| 14 | 66.92 | 67.60 | tap | yes | Open Bendern village result |
| 15 | 69.22 | 70.87 | tap_element | yes | Tap SHOW BENDERN ON THE MAP |
| 16 | 72.07 | 72.82 | key | yes | Back to planner; press Add for Bendern |
| 17 | 73.97 | 74.38 | tap_element | yes | Navigate up to return to planner, then press Add |
| 18 | 75.29 | 75.77 | key | yes | Return to planner screen |
| 19 | 76.68 | 77.29 | tap_element | yes | Tap Add to add Bendern as first point; verify points count |
| 20 | 78.44 | 79.39 | tap_element | yes | Search Ruggell |
| 21 | 80.44 | 82.48 | type | yes | Read Ruggell search results |
| 22 | 83.36 | 83.39 | get_ui_state | yes | Read Ruggell search results |
| 23 | 84.71 | 85.28 | tap | yes | Select Ruggell village result |
| 24 | 86.30 | 88.02 | tap_element | yes | Show Ruggell on map, then Back twice and Add |
| 25 | 89.60 | 90.31 | key | yes | Back from card to search screen |
| 26 | 91.41 | 91.80 | key | yes | Return to planner and press Add for Ruggell |
| 27 | 94.95 | 95.40 | key | yes | Inspect planner centre after Ruggell selection |
| 28 | 97.76 | 98.20 | tap_element | yes | Press Add to add Ruggell, verify points: 2 |
| 29 | 100.14 | 101.21 | tap_element | yes | Search Nendeln |
| 30 | 102.42 | 104.48 | type | yes | Read Nendeln search results |
| 31 | 105.48 | 105.79 | get_ui_state | yes | Read Nendeln results and tap first village row |
| 32 | 106.95 | 107.88 | tap | yes | Select Nendeln village result |
| 33 | 109.03 | 110.97 | tap_element | yes | Show Nendeln on map |
| 34 | 112.54 | 113.33 | key | yes | Back from Nendeln card to search screen |
| 35 | 114.39 | 115.01 | key | yes | Back to history screen, then planner |
| 36 | 116.63 | 117.14 | key | yes | Return to planner and press Add for Nendeln |
| 37 | 118.42 | 119.20 | tap_element | yes | Press Add for Nendeln; verify points: 3 |
| 38 | 121.24 | 122.57 | tap_element | yes | Search Rotenboden |
| 39 | 123.97 | 125.88 | type | yes | Read Rotenboden search results |
| 40 | 126.88 | 126.91 | get_ui_state | yes | Read Rotenboden results |
| 41 | 128.24 | 128.99 | tap | yes | Select Rotenboden village result |
| 42 | 130.12 | 131.90 | tap_element | yes | Show Rotenboden on map |
| 43 | 133.03 | 133.74 | key | yes | Back from Rotenboden card to search |
| 44 | 135.50 | 135.84 | key | yes | Back to history screen, then planner |
| 45 | 137.02 | 137.53 | key | yes | Back to planner; press Add for Rotenboden |
| 46 | 138.90 | 139.30 | tap_element | yes | Press Add for Rotenboden; verify points: 4 |
| 47 | 140.94 | 141.77 | tap_element | yes | Open Options menu to save the track |
| 48 | 143.06 | 144.49 | tap_element | yes | Tap 'Save as new track' and inspect the save dialog |
| 49 | 146.84 | 148.18 | tap_element | yes | Tap Save to create the track |
| 50 | 149.71 | 151.07 | tap_element | yes | Open the saved track to verify point order |
| 51 | 153.09 | 153.69 | tap_element | yes | Open the track's Points tab to verify order |
| 52 | 156.64 | 157.20 | tap_element | yes | Inspect Track tab for point order |
| 53 | 159.66 | 159.99 | tap_element | yes | Back out of track detail to check planner point order |
| 54 | 161.79 | 162.59 | tap_element | yes | Open menu, then Plan a route to reopen last route |
| 55 | 164.34 | 165.47 | tap_element | yes | Open Plan a route dialog to resume last route |
| 56 | 166.80 | 166.82 | get_ui_state | yes | Read Plan a route dialog for Last edited entry |
| 57 | 168.67 | 169.98 | tap | yes | Open last-edited track in planner and expand point list |
| 58 | 171.58 | 172.20 | tap_element | yes | Expand points list to read order |
| 59 | 180.30 | 180.30 | done | yes | Task complete; report saved track |

## Files
- Video: video.mp4 (H.264), video.webm (VP9); poster: poster.webp
- Data: task.json, steps.json
