All releases
A light/dark theme switch lives in the profile's App settings.
New feature
Mobile
May 27, 2026

Released: openJII Mobile v1.27.4

The redesigned openJII mobile app is now live, bringing a rebuilt Field Companion experience, faster Recent Measurements, faster uploads, in-app Dutch and English, improved measurement flows, and field-tested stability fixes.

📱 openJII Mobile v1.27.4 is going live today. Current production is v1.25.0, so this ships eight builds of work at once.

TL;DR: The redesigned mobile app ("Field Companion") is now live, built on a rebuilt foundation. Highlights for field researchers: a much faster Recent Measurements list, faster uploads, in-app Dutch, and a batch of field-tested bug fixes and polish.

✨ The new app design

A ground-up redesign of the day-to-day field experience (#1489, polished across OJD-1546):

  • Home screen with a greeting, a "continue where you left off" card showing flow progress, a Choose-experiment CTA, a device card, and recent measurements grouped by day.

  • Reworked measurement flow with a full-screen flow view (step counter + progress), pause and resume, and a clear exit sheet.

  • Device sheet replaces the old Connect screen (current / last-known / never-paired states, nearby scan).

  • New Profile with identity, hardware and data, account, and app settings (light/dark theme).

🌍 In-app Dutch and English

The app now follows the phone's language and ships fully translated in English and Dutch across every screen (part of the foundation work, OJD-1518 / OJD-146).

⚡ Performance

  • Recent Measurements list (OJD-1537): rendering 1,000 measurements went from roughly 9 seconds to a few milliseconds, with pagination and a benchmark suite to keep it that way.

  • Upload time (OJD-1470): reworked the MQTT publish path (credential caching plus round-robin publishing) to fix the roughly 20-seconds-per-measurement uploads that were causing researchers to miss timing windows. A direct user-reported pain point, now resolved.

🐛 Bug fixes and field-tested polish

Found while testing the new design on device:

  • Offline measurements no longer hang forever; Bluetooth scans now run without internet (OJD-1547).

  • The Next button reacts live as you type instead of staying stuck disabled (OJD-1547).

  • Paused flows resume correctly without losing the measurement (OJD-1547).

  • Trimmed 15 noisy "success" toasts; QR mismatches now show a clear inline banner instead of a toast that vanished (OJD-1545).

  • Smoother screen transitions, no login/logout flash, no dead-ends in the flow, experiment list ordered by recent activity, and a copy cleanup (OJD-1546).

🏗️ Under the hood (the foundation, OJD-1518)

Everything above sits on the Mobile Foundation rewrite, aimed squarely at the regression rate from previous cycles:

  • Feature-based architecture, data fetching converged on react-query, side effects pulled out of screens.

  • Sliding 30-day session with silent refresh, so researchers no longer get logged out mid-experiment.

  • Test coverage up from ~13% to ~85%, plus CI gates to hold the line.

Builds included

Version

Headline

1.26.0

New app design + Mobile Foundation rewrite

1.26.1

Trimmed happy-path toasts, inline QR-mismatch banner

1.26.2

Recent Measurements list performance rewrite

1.27.0

Upload-time fix (MQTT publish path)

1.27.1

Offline measurements, live Next button, pause/resume fix

1.27.2

UX fixes for the new design

1.27.3

Follow-up UX polish

1.27.4

Experiment picker refinement

Tickets: OJD-1518 (foundation epic), OJD-1546 (UX fixes), OJD-1547 (test findings), OJD-1537 (list perf), OJD-1470 (upload time), OJD-1545 (toasts/QR), OJD-146 (i18n).