This resonates from the dev side. I made an offline photo search app a while back — you search your library in plain language ("a boy and a girl by the river"), CLIP embeddings all computed on device. It needs full photo access but I deliberately requested zero network permission. Was kind of proud of that.
Problem is there's no way for users to actually know that. iOS has no "this app can't reach the internet" indicator, so the whole guarantee is invisible. I even had people assume the opposite — app reads your whole library, therefore it must be uploading it somewhere. Exactly backwards.
Fantastic work. I regret I can't use it, because this is exactly what I'm looking for for quite a while, but it seems to be an impossible task (I need it on android).
You might want to check out https://whispernotes.app - it's a one-time purchase, no subscription. For offline apps with no ongoing server costs, I think buy-once should at least be an option alongside subscriptions.
Sorry I went traveling for a week right after asking my question. I've already ordered a nylon string guitar - thank you for your detailed reply, it was very helpful as a reference.
This reminds me of my own painful story: I once made a local photo search app called Queryable that ported OpenAI's CLIP model to iPhone, letting you search your photos with queries like "a black cat sitting on a sofa."
Since it needed to access users' local photo libraries, I didn't want the app to connect to the internet under any circumstances. So I made it a paid app instead of the usual free+in-app purchases model, since the latter requires calling StoreKit which goes online. But because the app had to run the CLIP model, it would crash on lower-performance phones like the iPhone X. Users who paid for it couldn't use it and felt scammed, leading to tons of one-star reviews and angry complaints about their photos being stolen. Eventually I decided to open-source the app, though it never brought me much revenue anyway.
Two years later, Apple started announcing they'd be integrating this exact feature into Apple Intelligence : )
Apple doesn't allow developers to target specific device models, presumably to prevent discrimination. However, you have two options: 1. Set a minimum iOS version requirement, or 2. Restrict to devices with A12 chips or later. But neither approach can exclude certain problematic device models.
I've been using WhisperNotes (https://whispernotes.app) for iOS/macOS and really appreciate the offline approach - no recurring API costs and everything stays local. The transcription quality is solid, though you're right that it doesn't handle summarization yet. Still worth checking out if privacy and costs matter to you.
I'm making a fun app that allows people to share what they're doing right now, and you can see what others are doing right now. It reminds me of what it was like when the internet was first born - seeing what others are living makes me not feel so alone anymore.
Problem is there's no way for users to actually know that. iOS has no "this app can't reach the internet" indicator, so the whole guarantee is invisible. I even had people assume the opposite — app reads your whole library, therefore it must be uploading it somewhere. Exactly backwards.