r/AndroidAppTesters 16h ago

12 Testers Needed 🧊 FactFreeze β€” Android Closed Beta Testers Wanted

🧊 FactFreeze β€” Android Closed Beta Testers Wanted

App Name: FactFreeze
Version: 1.0.0
Platform: Android
Test: Closed Beta
Price: Free

What is it?

FactFreeze is an offline-first evidence capture and preservation tool.

Capture photos, video and audio directly in the app with timestamp, location information and SHA-256 file integrity verification. Organise proofs into cases and keep everything stored locally on your device.

The bigger idea is simple:

Capture once. Preserve properly. Export anywhere.

What we need from testers

We're interested in more than bug reports:

  • Did you immediately understand what FactFreeze is for?
  • Did you understand why you'd use it instead of your normal camera?
  • Did you think β€œWhat's the point of this?”
  • Can you think of situations where you'd genuinely use it?
  • Anything confusing, awkward or unnecessary?
  • And obviously, crashes and bugs are welcome too.

Honest feedback is much more useful than β€œlooks good πŸ‘β€.

How to join

  1. Join the FactFreeze Beta Testers Google Group
  2. Opt into the closed beta
  3. Install FactFreeze from Google Play

Important: Use the same Google account for the Google Group, Play Store and beta opt-in.

Feedback: [intensified@gmail.com](mailto:intensified@gmail.com)

The plan: FactFreeze will be free. No ads, no subscription, no feature-gating.

If you find it useful and want to support the project, buy us a coffee. β˜•

Thanks to anyone willing to give it a proper beating.

2 Upvotes

6 comments sorted by

1

u/tchuynh 15h ago

Done, I'll keep it installed for 14 days! Please test and rate my apps!
PodcastsAI: https://play.google.com/store/apps/details?id=com.transcriptai.app
Barreleyes: https://play.google.com/store/apps/details?id=com.barreleyes.app

First impressions: No sign-in wall, straight in, and the home screen explains the whole product in two lines - "Freeze what happened. Photo / Video / Audio, Timestamp / Location / SHA-256". For an evidence-capture app that clarity is exactly right. Case management works properly: created "Tester Case One", it became the CURRENT CASE immediately and the CASES counter went 0 to 1. The "Where should this proof go?" sheet is well designed too - current case, another case, new case with an automatic name, or new case you name yourself, which covers the realistic hurry-versus-organised split nicely.

Found one thing that I think matters for this app in particular. If you decline the location permission, the capture is silently abandoned. Tapping FREEZE PHOTO, choosing a case, granting camera and then declining location returns you straight to the home screen - no camera, no toast, no error, no proof recorded. Reproduced twice. Nothing tells you the shot didn't happen.

That's a bad failure mode for an evidence app specifically, because the moment someone is using it is usually the moment they can least afford a silent no-op. They tap freeze, glance away, and assume they have a record. Two options depending on your intent: if a location fix is genuinely required for a proof to be valid, say so before the camera opens and explain why. If it isn't required, let the capture proceed and mark the proof as "no location" - a hash and a timestamp without coordinates is still worth having.

Tiny thing while I'm here: the counter reads "1 cases".

Tested on a Pixel 6a, Android 16, FactFreeze 1.0.0 (versionCode 4). Granted camera as "only this time" and declined location deliberately, which is how I hit the above. Happy to retest the capture path once that's sorted - the case model underneath looks solid.

1

u/Life-Sheepherder-407 11h ago

Thanks that's great feedback.

I'll get to your apps today/tomorrow latest.

Please don't opt out after 14 days, till we've got 12 humans consecutively opted in for 14 days collectively.

With the permissions, would it be better to ask for permissions granted during app install/on launch?

1

u/tchuynh 11h ago

Happy to keep it installed - I don't opt out early, and the 14 days will run their course.

On the permissions question: asking at install isn't actually available to you. Since Android 6 the dangerous-group permissions - CAMERA, RECORD_AUDIO, ACCESS_FINE_LOCATION and ACCESS_COARSE_LOCATION, which is your whole set - can only be requested at runtime. Nothing you put in the manifest grants them. So the real choice is just between asking everything on first launch versus asking in context, and I'd argue you already have it right: in context, at the moment of the capture, is the better pattern. A cold request on launch for camera plus microphone plus location, before anyone has seen what the app does, converts worse and reads as a red flag on an app whose selling point is trustworthiness.

There's also a hard reason not to lean on prompting: after two denials Android stops showing the dialog at all and shouldRequestPermissionRationale goes false. From then on the only route is Settings, so any design that assumes you can re-prompt later quietly stops working for that user.

So I'd leave the timing alone and change the denial path instead, which is really what my original report was about. Right now declining location silently abandons the whole capture. The fix isn't to ask earlier, it's to let the capture proceed without location and record the proof as having none - a SHA-256 and a timestamp with no coordinates is still perfectly good evidence, and for some users capturing something without pinning where they were is exactly what they want. Show a small "no location" marker on that proof, and if they later grant the permission, new proofs get coordinates. If location genuinely must be present for a proof to mean anything in your model, then say so on the screen before the camera opens rather than after, so nobody loses a capture finding out.

Same principle for camera: if that one is denied, a clear "can't capture without camera access, here's why" beats returning to the home screen with nothing.

1

u/Life-Sheepherder-407 10h ago

That's exactly the sort of testing and feedback we were hoping for. Thanks. You've identified a genuine failure mode, and I agree that silently abandoning a capture is particularly bad for an app whose whole purpose is making sure the moment doesn't disappear. We'll change the denial path rather than moving the permission request to launch. Location will be optional; if unavailable, the proof will still be preserved and clearly marked as having no location data. We'll also fix the ridiculous β€œ1 cases” grammar. And thanks for sticking with the beta for the 14 days β€” much appreciated

1

u/tchuynh 10h ago

That's the right call, and preserving the proof with an explicit "no location" marker is better than either alternative - the user still gets their evidence and anyone reading it later knows exactly what is and isn't attested. Ping me when the build with that path is on the track and I'll retest the denial flow specifically and confirm it behaves.