Skip to content
Time Tracker / docs / ios-vs-android-comparison

iOS vs Android Comparison

Architectural differences, background timer services, Live Activities vs Foreground Services, and design paradigms in Time Tracker.

Two Native Implementations Compared

Time Tracker shares the exact same relational database schema (schema v18), the same financial aggregations, and identical mathematical color derivation algorithms across iOS and Android. However, each version implements platform-specific system capabilities.


Technical Comparison Matrix

CapabilityTime Tracker for iOSTime Tracker for Android
Language & FrameworkSwift 6, SwiftUIKotlin 2.4, Jetpack Compose
Design LanguageApple Human Interface GuidelinesMaterial 3, Material You Dynamic Color
Background Pomodoro TimerLive Activity & Dynamic Island (WidgetKit)Foreground Service with persistent ongoing notification
Quick Action ControlsInteractive Dynamic Island & Lock Screen controlsNotification action buttons: Pause, Resume, Stop
View ArchitectureStandard modal sheets & tab navigationZero Modals: full-page flows or side-by-side panels
Storage EngineNative SQLite via local documents folderNative relational SQLite (time_tracker.db schema v18)
Cloud SynchronizationApple CloudKit (automatic sync across Apple devices)None (strictly offline-first, no internet permissions)
Tablet AdaptationCollapsible sidebar .sidebarAdaptable on iPadLateral Navigation Rail and adaptive dual-column layout
Backup FormatUnified JSONUnified JSON

Platform-Specific Details

Time Tracker for iOS

  • Live Activity & Dynamic Island:
    • Launching a Pomodoro session creates a persistent Live Activity hosted by TimeTrackerWidgets.
    • Remaining time, project badge, and circular progress rings render live on iPhone Dynamic Island and Lock Screen without taxing the device battery.
  • iCloud CloudKit Sync: projects, entries, and billing rates sync across iPhone and iPad via the user’s private CloudKit database.

Time Tracker for Android

  • Persistent Foreground Service:
    • Android ensures uninterrupted background timing using an explicit Foreground Service, preventing background OS memory termination.
    • The persistent notification features instant Pause, Resume, and Stop controls.
  • Material 3 & CIELAB Tonal Palettes:
    • Zero hardcoded colors: dynamic Material You extraction from wallpaper (Android 12+) or 6 harmonized palettes calculated in polar CIELAB color space with contrast ratios exceeding 6:1 (surpassing WCAG AA guidelines).
  • “No Modals” Philosophy:
    • Activity and project editors are full-bleed screens or split panels on wide displays, ensuring steady and calm interactions.
  • Strictly Offline: the Android application contains zero network permissions.

Universal Cross-Platform JSON Backups

Backups generated via Settings › Backup & Restore share an identical JSON structure on iOS and Android. You can export records from iPhone and import them immediately into Android, preserving every logged hour, billing rate, and project color.