Appearance
ADR-0019: The prototype targets native Android only
Status: Superseded by ADR-0020 — do not follow this ruling Date: 2026-09-02
Decisions
D-36 The prototype is a native Android application
On-device text recognition for Identification, a local relational store for the Corpus, and native Thai text rendering. iOS is not targeted.
Context
Three decisions are unusually platform-sensitive and they interact. D-06 requires a real on-device store, because safety content must work with no network. D-19 requires camera OCR good enough to read a CAS number off a scuffed drum label — the riskiest surface in the product, and the one cross-platform abstractions handle worst. D-11 requires correct Thai rendering everywhere.
R-17 says only "Mobile App"; R-23 says users are ผู้ที่มีสมาร์ทโฟนหรือแท็บเล็ต — smartphone or tablet, with no operating system named. Thai industrial workforces are overwhelmingly Android. One platform is the right amount of platform for a prototype (D-01).
Rejected options
- Flutter, both platforms — broader reach for user testing, rejected because the camera and on-device OCR would go through plugins: the riskiest surface handled by the weakest abstraction, plus a framework to learn alongside the domain.
- Web app / PWA — no install and easiest to demo, rejected because offline storage is fragile, in-browser camera OCR is markedly worse, and "add to home screen" is real friction for plant-floor users.
- Defer to stage 2 — rejected because offline storage and OCR capability differ enough by platform that stage 2 sizing would be guesswork.
This ruling may not be re-decided
If a change contradicts this ADR: stop and raise it. Do not implement over it.
Consequences
Anyone at the case-study site carrying an iPhone cannot use the prototype. This must be checked before recruiting participants for the needs study (D-31) — discovering it during fieldwork would waste the visit.
Coverage
| Upstream | Landed in | Evidence | Note |
|---|---|---|---|
| R-17 | D-36 | "Mobile App" resolved to a specific platform | ADR-0002 and ADR-0005 cover R-17's other halves |
| R-23 | D-36 | "smartphone or tablet" names no OS; Android chosen |