Skip to content
All posts

#mobile

34 posts tagged with mobile.

MFKAPPS 6 min read

WorkManager in 2026: unique work, chaining, and testing background jobs on Android

A practical guide to WorkManager on Android — unique work policies, chaining, expedited work, and how to actually test a background job before it ships.

#android #engineering #mobile
MFKAPPS 5 min read

Android App Links in 2026: why your https:// links still open in the browser

Digital Asset Links verification, the assetlinks.json gotchas, and the adb commands that tell you why Android won't hand a link to your app.

#android #engineering #mobile
MFKAPPS 4 min read

The Android In-App Review API: asking for a rating without being annoying

A practical guide to Google's In-App Review API — how it actually works, where to trigger it, and why the usual 'rate us' popup is quietly hurting your Play Store rating.

#android #engineering #kotlin
MFKAPPS 5 min read

Android app shortcuts and Quick Settings Tiles: logging water without opening the app

A practical guide to Android's dynamic ShortcutManager API and TileService — how to let a one-tap action skip the app entirely, with the pitfalls that trip most implementations.

#android #engineering #kotlin
MFKAPPS 5 min read

Foreground service types on Android in 2026: picking the one your feature actually qualifies for

A practical guide to Android's foreground service type restrictions — dataSync, mediaPlayback, specialUse, shortService — and how to pick the right one without getting killed or rejected.

#android #engineering #kotlin
MFKAPPS 4 min read

StateFlow vs SharedFlow in Jetpack Compose: modeling UI state without the replay bug

When to use StateFlow and when to use SharedFlow in a Compose ViewModel — and the one-time-event bug that shows up when you mix them up.

#android #engineering #kotlin
MFKAPPS 4 min read

Type-Safe Navigation in Jetpack Compose: Routes as Data, Not Strings

How to replace string-based Compose Navigation routes with serializable Kotlin objects — type-safe arguments, nested graphs, and deep links that survive a refactor.

#android #engineering #kotlin
MFKAPPS 4 min read

Budgeting with irregular income: a system that doesn't assume a steady paycheck

Most budgeting advice assumes the same amount lands every month. Here's a system built for freelance, commission, or seasonal income that actually holds up.

#mobile #ux #indie
MFKAPPS 5 min read

Setting Up Medication Reminders for a Family Member: A Caregiver's Guide

A practical guide to helping a parent or partner stay on top of their medications — what to set up, what to avoid, and how to check in without hovering.

#reminders #ux #mobile
MFKAPPS 4 min read

How Long Should a Focus Session Be? A Framework Beyond the 25-Minute Default

The 25-minute Pomodoro is a starting point, not a rule. A practical framework for finding your real focus session length, by task type and energy.

#ux #mobile #indie
MFKAPPS 5 min read

The Android 16 KB page size migration: what actually breaks and how to check your APK

Google now requires Android apps to support 16 KB memory pages. Here's what that means in practice, why native libraries are the ones that break, and how to verify yours are safe.

#android #engineering #kotlin
MFKAPPS 5 min read

Structured concurrency on Android in 2026: scopes, cancellation, and the leaks they prevent

A practical guide to Kotlin structured concurrency on Android — viewModelScope vs lifecycleScope, why cancellation propagates, and the coroutine leaks it quietly rules out.

#android #engineering #kotlin
MFKAPPS 5 min read

Recomposition in Jetpack Compose: what actually triggers it and how I stopped guessing

A practical guide to Jetpack Compose recomposition in 2026 — type stability, unstable lambdas, LazyColumn keys, and reading the compiler's own metrics report.

#android #engineering #kotlin
MFKAPPS 4 min read

No Accounts, No Passwords: Why My Apps Don't Have a Login Screen

Six apps, zero sign-up forms. Here's the actual reasoning behind skipping accounts entirely — what it costs, what it removes, and where the line is.

#privacy #indie #philosophy
MFKAPPS 5 min read

Testing a local-first Android app in 2026: Room, Flow, and Compose UI tests that catch real bugs

A practical testing strategy for local-first Android apps in 2026 — in-memory Room DAO tests, Turbine for Flow, and the few Compose UI tests actually worth writing.

#android #engineering #kotlin
MFKAPPS 5 min read

Biometric authentication on Android in 2026: BiometricPrompt, the Keystore, and locking a local-first app

A practical guide to androidx.biometric on Android — BiometricPrompt, CryptoObject-backed keys, device credential fallback, and the mistakes that let a fingerprint check protect nothing.

#android #engineering #kotlin
MFKAPPS 4 min read

Accessibility on Android in 2026: a TalkBack and Compose semantics checklist that ships

A practical Android accessibility checklist for 2026 — TalkBack, Compose semantics, touch targets, and the testing pass I run on every screen before release.

#android #engineering #kotlin
MFKAPPS 4 min read

Health Connect on Android in 2026: reading and writing data without giving up local-first

A practical guide to Android's Health Connect API in 2026 — permissions, background reads, and why local-first apps should treat it as optional, not truth.

#android #engineering #kotlin
MFKAPPS 5 min read

Edge-to-edge and predictive back on Android in 2026: what's mandatory now, and how not to break your UI

Edge-to-edge is now enforced on API 35+ and predictive back is the default gesture. A practical guide to Compose insets, WindowInsets, and PredictiveBackHandler.

#android #engineering #kotlin
MFKAPPS 4 min read

How much water should you actually drink? A formula that beats '8 glasses a day'

The 8-glasses rule ignores your body weight, activity, and climate. Here's the body-weight formula clinicians actually use, with a worked example.

#mobile #ux #hydrame
MFKAPPS 4 min read

A calm phone setup: a beginner's roadmap

A practical, step-by-step roadmap to a calmer phone — notification triage, a smaller home screen, and batched check-ins that actually stick long-term.

#mobile #ux #notifications
MFKAPPS 5 min read

Jetpack DataStore in 2026: migrating off SharedPreferences without losing a setting

A practical guide to moving from SharedPreferences to Jetpack DataStore on Android — the async pitfalls, the migration path that preserves existing values, and how to test it.

#android #engineering #kotlin
MFKAPPS 4 min read

How to audit your subscriptions in 20 minutes (and actually cancel the ones you don't use)

A step-by-step subscription audit you can finish in one sitting — find every recurring charge, decide keep-or-cancel with one rule, and set a habit that keeps the list honest.

#subscriptions #ux #mobile
MFKAPPS 4 min read

Baseline Profiles on Android: what actually moves your cold-start time in 2026

A practical guide to Android Baseline Profiles — generating one with Macrobenchmark, wiring it into Gradle, measuring the real gain, and the three other things that move cold start more.

#android #engineering #kotlin
MFKAPPS 5 min read

A pantry inventory system that actually stops food from going to waste

Most food waste isn't bad planning — it's forgetting what's already there. A simple inventory and expiration-triage system that catches it before the bin does.

#mobile #ux #stocky
MFKAPPS 5 min read

Building Mintly: keeping a focus timer accurate when Android kills the process

A running Pomodoro timer has a harder reliability problem than a one-shot reminder. Here's how Mintly survives Doze, process death, and screen-off drift with a foreground service and a wall-clock end time.

#android #engineering #mobile
MFKAPPS 4 min read

A hydration routine that doesn't rely on willpower

Most hydration advice boils down to 'drink more water' and hopes willpower fills the gap. Here's a routine built around cues and gentle nudges instead.

#mobile #ux #reminders
MFKAPPS 4 min read

Android notification actions done right: marking a dose taken without opening the app

A practical guide to Android notification action buttons — PendingIntents, the trampoline restriction, goAsync(), and updating Room state safely.

#android #engineering #notifications
MFKAPPS 4 min read

The Pomodoro Technique that survives a bad day

The 25/5 timer is easy to start and easy to abandon. Here's a version of the Pomodoro Technique built around rituals, not streaks, so a rough day doesn't end the habit.

#ux #mobile #indie
MFKAPPS 5 min read

A budgeting system for people who've never stuck with one

Most budgets die in the first two weeks. A three-category system and a five-minute weekly check-in that survives a messy month, not just a perfect one.

#mobile #ux #indie
MFKAPPS 5 min read

Building a medication routine you'll actually stick to

A practical guide to medication adherence — why people miss doses, how reminder timing actually works, and how to build a routine that survives a bad week.

#reminders #ux #notifications
MFKAPPS 6 min read

Subscription overload: why I'm done linking my bank to apps

Subscription-tracker apps usually solve the problem by asking for your bank login. In 2026 there's a calmer way — on-device bill scanning, no Plaid, no aggregator.

#privacy #subscriptions #opinion
MFKAPPS 7 min read

Reliable Android reminders in 2026: WorkManager, exact alarms, and the new battery rules

How to ship reminders on Android in 2026 that actually fire — WorkManager vs AlarmManager, SCHEDULE_EXACT_ALARM, POST_NOTIFICATIONS, and the OEM quirks that still bite.

#android #engineering #mobile
MFKAPPS 7 min read

How I ship Android apps as a solo developer in 2026

An actual end-to-end launch playbook for shipping a Kotlin + Compose Android app alone in 2026 — scope, build, Play Store listing, and the boring bits that decide whether you ever launch.

#android #indie #mobile