How we work: This guide uses current public documentation and does not claim hands-on testing unless stated. Some links may later become affiliate links, at no added cost to you. Rankings are independent of commissions.
To test landscaping field software offline, preload a controlled job while connected, record the server baseline, disable both Wi-Fi and cellular data, make uniquely identifiable field changes, reconnect, and inspect the office record and a second device. A pass means every expected change arrives once, the pending state clears, and no older office edit disappears without warning.
Do not stop at “the route still opened.” That proves a cached read, not a safe field-to-office workflow.
This is a desk-researched test protocol, not a claim that we tested these apps. The product documentation and trade guidance were checked on July 30, 2026. Run the protocol in a vendor trial or sandbox on the exact phone, app version, user role, and settings planned for the crew.
What does “works offline” need to mean?
Offline support is at least five separate behaviors:
- Cached reads: the crew can see the right route, property, instructions, contacts, checklists, and materials after the connection disappears.
- Local writes: time, status, forms, notes, photos, and materials remain on the device instead of failing or pretending to save.
- Visible state: the app distinguishes saved locally, waiting to sync, synced, failed, and conflicted records.
- Reconnection: queued work reaches the office once and the latest office changes return to the device.
- Conflict and recovery: concurrent edits, an interrupted sync, an expired login, or a restarted app do not cause silent data loss.
Google’s Android architecture guidance makes the technical distinction clear: an offline app can queue writes, write locally before notifying the server, or keep some actions online-only. Reconnection then requires synchronization, and offline and server copies may conflict. A buyer cannot infer those choices from an “offline capable” label.
Which documented risks should be tested first?
This ranking is a trial-priority ranking, not a product ranking. It puts the most explicit or unresolved data-loss risk first. Vendor documentation cannot substitute for a result from the company’s own configuration.
| Trial priority | Product and app | What the vendor currently documents | First question to prove |
|---|---|---|---|
| 1 | Jobber app | The daily schedule is prefetched as a read-only offline view; notes and attachments can wait locally for sync; one timer page says timers work offline, while the app basics page says visit timers cannot start or stop without a connection | Which exact timer types, job actions, notes, and photos survive disconnect, app state changes, and reconnect on the current version? |
| 2 | Service Autopilot Legacy App and Team App | The Legacy App saves offline updates until service returns, but Clean and Sync can erase unsynced photos or timesheets; Team App manual job sync only pulls missing jobs from the main site | Which app is being deployed, what direction does each sync control move data, and which recovery action preserves pending work? |
| 3 | Aspire Mobile | Connected data is temporarily stored for offline access, and the vendor says schedules, job details, notes, new tasks, and updates automatically synchronize after reconnect | Where can a user see pending, failed, or conflicted changes, and what happens if connectivity returns only briefly? |
The Jobber discrepancy is especially useful as a buying lesson. Its current Timers and Timesheets page says timers work in all network conditions, with timer data stored locally, while geofenced timers require a connection. Its App Basics page says the prefetched schedule is read-only and visit timers cannot be started or stopped without a connection. Do not choose which sentence to believe. Record the app version and test the exact general, visit, and location-timer paths the company uses.
Jobber also documents a concrete local-storage boundary. An offline note or attachment shows “Waiting to sync until online” and synchronizes when service returns and the app is open. The same guide warns that the pending item is lost if the user logs out, deletes, force closes, or updates the app first.
Service Autopilot’s documentation shows why the name of a sync button matters. In the Legacy App, Sync Everything pushes device data to the main site. Clean and Sync clears local app data and reloads it; the vendor warns that unsynced photos and timesheet records can be lost. In the Team App, the manual Sync Jobs control is described as a one-way pull for missing dispatched jobs, not a way to push stuck field changes. Its support page says not to uninstall the app when outgoing changes are not synchronizing.
These are not reasons to accept or reject a product by themselves. They are reasons to put recovery instructions in the pass criteria before a crew needs them.
How should the test records be prepared?
Use a sandbox when the vendor provides one. Otherwise, create clearly labeled non-production records with permission from the account owner. NALP’s implementation guidance recommends trials and sandbox environments so teams can push a system without affecting production information.
Create:
- one test customer and property;
- one job with two tasks or services;
- one field user with the intended permissions;
- one office user on a separate device;
- a short checklist or form;
- a harmless test material item;
- a unique note phrase, such as
OFFLINE-0730-A; and - a non-customer photo made for the test.
Do not send a test message to a real customer, collect a payment, post an invoice, alter payroll-ready time, or upload customer information merely to exercise a feature. If the system cannot isolate these actions, ask the vendor for a safe demonstration account.
Record this baseline before disconnecting:
| Baseline field | Value to capture | Why it matters |
|---|---|---|
| App and device | App version, phone model, OS version | Results may change across versions and device types |
| User | Role, permissions, crew, branch | A manager result does not prove the field-user path |
| Job | Record ID, date, assignee, status, tasks | The office needs an exact record to reconcile |
| Time | Current timer state and office total | A previous timer can hide a new failure |
| Content | Existing note, photo count, form values, material quantity | Each post-sync change needs a known before value |
| Network | Connected network and last successful refresh time | The test must show that data was preloaded before loss of service |
How do you run the airplane-mode test?
Phase 1: Preload the field day while online
Open the app as the field user and refresh it through the vendor’s documented method. Confirm the controlled job, instructions, tasks, and existing note against the office system. Then navigate away and reopen the job.
This catches an empty-cache problem before the network is removed. Some apps cache only a limited date range or only screens already visited. For example, Jobber says it prefetches the day’s schedule, while Aspire says connected data is downloaded and temporarily stored. Neither statement proves that every record needed tomorrow is already on this device.
Phase 2: Disconnect both cellular data and Wi-Fi
Turn on airplane mode, then verify that Wi-Fi did not remain enabled. Try a known online action outside the field app or inspect the device network status. Do not rely only on an in-app offline badge.
Capture what the field app shows:
- an offline banner or last-sync time;
- whether the route and full job instructions still open;
- which actions are disabled;
- whether each saved change has a local, pending, or failed indicator; and
- whether a warning explains what must remain open until sync.
Perform these actions in order:
- start the test job or task timer;
- mark one checklist item complete;
- add the unique text note;
- attach the test photo;
- change the harmless material quantity;
- complete one task but leave the second open; and
- stop the timer.
After each action, leave the screen and return. A value that exists only in an unsaved form has not passed.
Phase 3: Create a controlled conflict
Keep the phone offline. From the office account, change the same test field to a second unique value. For example:
- phone note:
OFFLINE-0730-A; - office note:
OFFICE-0730-B; or - phone material quantity:
2; - office material quantity:
3.
Use a field where either result is harmless. Do not test conflict resolution on a live status, invoice, chemical application record, payroll entry, or customer message.
The point is not to demand one universal outcome. An app may preserve both notes, pick one update, merge different fields, or ask a user to resolve the conflict. The required outcome is documented and visible. Google’s offline architecture guide notes that “last write wins” is a common mobile strategy; that strategy can silently discard an older edit, so the trial must reveal whether the vendor uses it for business-critical records.
Phase 4: Reconnect and reconcile in three places
Restore connectivity without pressing a destructive recovery control. Note when the connection returns and when the app first reports completion. If the vendor requires the app to remain open or a manual sync, follow that exact path.
Inspect:
- the field phone: pending markers clear, current office changes arrive, and no item remains falsely complete;
- the office system: the correct job has one time entry, one intended status change, the right task result, note, photo, and material value; and
- a second device or fresh session: the server result, not a stale local copy, is visible.
Do not report an invented synchronization limit. Measure the elapsed time in your environment and record it as an observed trial result with the network type. If a vendor publishes a service-level commitment, keep that separate from the local observation.
Phase 5: Test interrupted recovery without risking the first record
Create a second controlled job. Repeat a smaller offline set, reconnect, and interrupt the sync in a safe sequence agreed with the vendor:
- lose connectivity again during upload;
- lock the screen;
- move the app to the background;
- restart the phone; or
- let the session expire.
Do not force close, log out, update, reinstall, clear storage, or run a clean sync unless the vendor confirms that pending work will survive. Jobber and Service Autopilot publish warnings for some of those actions.
The recovery pass condition is still the same: every expected item arrives once, retries do not create duplicates, the app exposes any failure, and the crew has a documented next step that preserves local data.
What are the pass criteria for each field workflow?
| Workflow | Pass condition | Hard failure |
|---|---|---|
| Route and job access | Correct date, property, assignee, instructions, tasks, and required contacts remain available | Wrong or missing job with no pre-departure warning |
| Crew time | Start, stop, employee, job, work category, and duration match the office record once | Missing, duplicate, running, or wrong-job time that could reach payroll or job costing |
| Job status and form | Intended task and status change arrives with every required field | Completion without the required form, or a status silently reverts |
| Notes and photos | Exact note and original test photo arrive once with a clear pending-to-synced transition | A local item disappears, duplicates, or remains pending without an alert |
| Materials | Item, quantity, unit, job, and user are preserved | Quantity changes or posts to the wrong job |
| Conflict | Outcome matches a documented rule or visible user decision; both original values can be reconstructed from evidence | One value silently overwrites the other with no known rule |
| Recovery | Interrupted work resumes or gives a non-destructive escalation path | Recommended troubleshooting deletes unsynchronized work |
Payroll-related time and completed-job status are release blockers. A crew should not go live merely because notes and photos passed.
Use a small pilot crew after the controlled records pass. NALP recommends contingency plans because new technology and rollouts can fail. The field fallback should say who records time, job status, and customer-critical notes, where that temporary record is held securely, who enters it later, and how duplicates are prevented.
How should the results be scored?
Keep hard failures separate from convenience scores. A polished interface cannot compensate for lost payroll time or an invisible overwrite.
| Rank | Decision | Required evidence |
|---|---|---|
| 1 | Pass for pilot | Every business-critical workflow passes on each supported device type, conflict behavior is known, and recovery preserves queued work |
| 2 | Conditional pilot | One non-critical path needs a documented workaround with an owner, while time, job status, and required records still pass |
| 3 | Re-test | Failure is tied to a version, permission, setting, or vendor-confirmed fix and can be repeated safely |
| 4 | Stop | Missing or duplicate time, silent status changes, lost records, destructive recovery, or no visible escalation path |
For each row, save:
| Test ID | Device and app | Network sequence | Expected | Actual | Office verified | Conflict result | Decision | Evidence or support case |
|---|---|---|---|---|---|---|---|---|
| OFF-01 | Model, OS, app version | Online → offline → online | One sentence | One sentence | Yes/No | Preserved/overwritten/prompted | Pass/Fail | File name or case ID |
Keep screenshots free of customer names, addresses, phone numbers, access codes, and payment information.
What should be asked in a vendor demo?
Ask the salesperson or implementation lead to demonstrate, not just answer, these questions:
- Exactly which dates and records are cached before service is lost?
- Which actions are read-only, queued, or online-only?
- Where does a crew member see pending, failed, and conflicted changes?
- Must the app remain open after reconnecting?
- What happens when two devices edit the same field?
- Which troubleshooting actions erase local data?
- Can support identify unsynchronized records without reinstalling?
- Can the office export or report the final server state for reconciliation?
- Does behavior differ by iOS, Android, app version, role, or plan?
- What is the documented field procedure when sync does not finish?
Put the answers in the rollout guide. A verbal assurance that data “syncs automatically” is not enough for a crew working where service is intermittent.
If RealGreen is the system under review, use the RealGreen Mobile offline-sync and migration checks alongside this protocol. For route changes around fixed times, rain days, and crew constraints, use the recurring landscaping route-planning trial. The software stack audit template helps assign the system owner, record app versions, and map which office tools consume field data. Before testing on iPhones, verify that the product has a current public listing or documented beta path in the landscaping iOS app comparison.
What is the final buying rule?
Buy or renew field software only after the company’s critical workflows pass on its real device mix and user permissions. Treat offline access, queued writes, synchronization, conflict handling, and recovery as separate requirements.
The strongest result is not “we turned on airplane mode and the app opened.” It is a reconciled evidence sheet showing that crew time, job status, required forms, notes, photos, and materials reached the office exactly once, plus a safe written response for the cases that did not.
For how this site checks vendor claims and distinguishes desk research from hands-on tests, read the editorial policy.
Frequently asked questions
What is the fastest useful offline test for a landscaping app?
Preload one controlled job online, disconnect both cellular data and Wi-Fi, record time plus a uniquely named note and photo, reconnect, and verify every field in the office system and on a second device.
Does seeing the schedule in airplane mode mean the app works offline?
No. It proves that some schedule data was cached. It does not prove that time, notes, photos, job status, or materials can be saved and synchronized later.
Should a crew force close an app when work is waiting to sync?
Not unless the vendor documents that recovery path. Jobber specifically warns that a pending offline note can be lost if the app is force closed, while other products may behave differently.
How do you test an offline synchronization conflict?
With a non-production record, edit the same field offline on a phone and online in the office, reconnect, and record which value survives, whether the user is warned, and whether either edit remains recoverable.
What evidence should be kept after an offline app test?
Keep the date, app and OS versions, test record IDs, network state, expected result, screenshots of pending and completed states, office verification, elapsed sync time, and any support case number.
Sources checked
- Jobber Help Center: Jobber App Basics
- Jobber Help Center: Notes and Attachments in the Jobber App
- Jobber Help Center: Timers and Timesheets in the Jobber App
- Aspire: Mobile App
- Aspire: Mobile app offline update
- Service Autopilot Support: Update or sync the Legacy App
- Service Autopilot Support: Team App manual job sync
- Android Developers: Build an offline-first app
- National Association of Landscape Professionals: Six common technology implementation pitfalls
