Skip to content

[Epic] Tablet Build Support & App Store Readiness for status-desktop #17941

@alexjba

Description

@alexjba

📱 Epic: Tablet Build Support & App Store Readiness for status-desktop

Target Release: v2.35
Goal: Enable status-desktop to run on Android and iOS tablets with a native-like experience, and prepare builds for publication to both the iOS App Store and Google Play Store.
Note: Not all the work here is a must for release. The general agreement is to release with minor tweaks to improve the UX even if we don't have full feature parity with status-desktop
Dependencies: Qt6 migration

This epic is the central place to track all engineering, QA, CI/CD, and product work required to bring status-desktop tablet builds to production and submit them to mobile app stores.

✅ What We Already Have

  • ✅ A dedicated build system for Android/iOS, currently hosted at: Tablet-build
  • ✅ Core modules (Chat, Communities, Wallet, Onboarding) are working on tablets
  • ✅ Tablet builds run on real iOS and Android devices and on emulators

❌ What We Don't Have

  • ❌ CI that's producing a signed app bundle
  • ❌ Beta testing in stores (test flight et. al.)
  • ❌ App Store readiness
  • ❌ A polished UX
  • ❌ Feature parity with desktop

🧩 Tasks

1. Build System Integration - Dev

  • [Must have] Move tablet build system into status-desktop (e.g., under platforms/tablet)
  • [Must have] Ensure compatibility with Qt6 migration - depends on Qt6 migration
  • [Must have] Update README with tablet-specific build instructions (Android, iOS)
  • [Nice to have] Nim-first build system

2. CI/CD & Signing

  • [Must have] Create CI jobs for Android and iOS tablet builds
  • [Must have] Add support for:
    • Android keystore signing
    • iOS provisioning profile & certificate signing
  • [Nice to have] Include debug/test builds for internal tracks (TestFlight, Google Play Internal) @sunleos
  • [Must have] Disable dev logging in release builds - we're logging on syslog on Android discouraged by google

3. QA & Bug Aggregation @sunleos

Note: One option would be to run a bug bash in the team

  • Define and verify critical flows on tablets:
    • Chat
    • Communities
    • Wallet
    • Settings
    • Onboarding
  • Prioritize and fix based on severity
  • Prioritize testing on real devices - not emulators
  • [Must have] Try squish automation on android @sunleos

4. Feature Readiness

5. Input & UX Adjustments

  • Investigate and resolve soft keyboard issues:
    • [Very nice to have] Input focus bugs - note: fix if it's small to medium effort
    • [Must have] Chat input: Enter vs New Line behavior
    • [Nice to have] Numeric keyboard support for amount input
  • [Nice to have] UX/design review for tablet usability @benjthayer

6. App Store Compliance

Notes:
Try submitting a test build - depends on signing @sunleos
Ask legal what do we need to release in App Store in terms of legal compliance

  • Collaborate with Infra team on:
    • App Store and Play Store account access
    • App privacy policies and permission declarations
    • Store metadata: screenshots, descriptions, etc.
  • Confirm crash reporting behavior per store guidelines

7. Community & Contribution [Nice to have]

  • Open tablet-specific tasks for contributing
  • Document dev setup for Android/iOS builds
  • Add contribution/testing guidelines to README


📐 FURPS: Non-Functional Requirements

Functionality

  • Partial feature parity with desktop app expected - no keycard, biometrics and dapps. To be added later.
  • Use light Waku client instead of full node - TBD
  • No tablet-exclusive features planned

Usability

  • Reuse current desktop layout; no tablet-specific design system
  • UX is a secondary goal (strategic priority is Nim ecosystem reach)
  • Virtual keyboard support
  • No onboarding enhancements required

Reliability

  • Target crash-free rate: 90%
  • Crash logging behavior: use default platform handling (to be clarified)

Performance

  • Performance targets:
    • App startup: < 3s
    • Community screen: < 2s
    • Chat screen: < 1s
  • Device target: Mid/high-end tablets only
  • Resource use: < 2.5 GB memory with a heavy account
  • Battery: Medium consumption (TBD exact metric)

Supportability

  • OS version targets (based on Qt6 defaults):
    • iOS: 16+
    • Android: 9+
  • Test builds (TestFlight, Google Play)
  • Development can be done on both emulators and real device
  • The build system supports Qt6+

Sub-issues

Metadata

Metadata

Assignees

Labels

Type

Projects

Status

No status

Relationships

None yet

Development

No branches or pull requests

Issue actions