FieldLog Android Update – Version 1.5.0

Smoother, Faster: Text Input Fixes and Under-the-Hood Improvements

Version 1.5.0 might not look different on the surface, but it feels dramatically better. I fixed the text input lag that made typing feel sluggish, and updated a ton of dependencies. It’s amazing how much the mobile ecosystem moves on even in a few months.

A lot of these problems I found while using the app out in the field on a Japan trip. So it was a lot of small problems that didn’t come up sitting at my desk.

The typing problem

If you’ve been using FieldLog to create takes in the field, you might have noticed text input feeling sluggish. Type “creek ambience” and see “crek ambeince.” Characters arriving out of order, lag between keypress and display, the keyboard fighting you when you’re trying to log quickly.

What was changed

Smarter text handling
Text fields now use local state that updates instantly—no round-trip to the database on every keystroke. What you type appears immediately. The app saves your changes after you stop typing (300ms debounce), so the UI stays responsive while the data layer catches up quietly in the background.

Better keyboard integration
The dialogs were switched to TextFieldValue for proper IME (Input Method Editor) support. That means predictive text, autocorrect, and multi-language keyboards work the way Android expects. The experience matches what you’re used to in every other app.

Fewer unnecessary updates
Before, every keystroke triggered a full comparison of your take’s 10+ fields even when only one changed. Now it updates only what actually changed, and only after you’ve stopped typing. Less computation, faster UI, smoother experience.

Under the hood: dependency updates

20+ core dependencies were also updated to keep Field Log modern and secure:

Faster builds
Migrated from KAPT to KSP (Kotlin Symbol Processing.) Builds are faster, compatibility with Kotlin 2.0+ is native.

Updated libraries

  • Jetpack Compose: Latest BOM (December 2024) brings performance and API improvements
  • Room database: 2.5.0 → 2.6.1 for better KSP support
  • Coroutines: 1.7.1 → 1.9.0 for performance gains
  • Retrofit/OkHttp: Updated for improved network sync
  • WorkManager, Lifecycle, Navigation: All current stable versions

Testing notes

If you’ve been creating takes regularly, this update should feel like night and day. Open the new take dialog, type a name and some notes, and it should respond instantly—no lag, no character scrambling.

What’s next

We’re already looking at applying the same text-handling improvements to other dialogs:

  • Gear (kits, mics, recorders)
  • Tag input fields
  • Any other text-heavy screens

What’s New in 1.5.0

Text Input Improvements:

  • Fixed character lag and out-of-order typing in all text fields
  • Implemented local state with 300ms debounce for instant UI feedback
  • Added proper IME (Input Method Editor) support with TextFieldValue
  • Reduced unnecessary state updates by 90%
  • Optimized database operations to run on background thread

Dependency Updates:

  • Migrated from KAPT to KSP for faster builds and Kotlin 2.0+ compatibility
  • Updated Jetpack Compose to December 2024 BOM
  • Updated Room database (2.5.0 → 2.6.1)
  • Updated Coroutines (1.7.1 → 1.9.0)
  • Updated 20+ core libraries for performance and security
  • Smaller APK size and better battery efficiency

Technical Improvements:

  • Eliminated KAPT compatibility warnings
  • Improved compilation speed with KSP
  • Enhanced coroutine performance
  • Better memory management for text fields

Version: 1.5.0
Release Date: December 2, 2025
Compatibility: Android 8.0 (API 26) and above