If the previous phase was about drawing the blueprints, then these last two weeks? It feels like we’ve been paving a road in the mud.
It’s the details. The ones that look insignificant until you actually dig in and realise there’s a massive sinkhole underneath. We’ve spent the last ten days or so dealing almost exclusively with Edge Cases—connection drops when switching devices, cross-border data compliance, and that Android permission headache that just won’t go away.
It’s a bit tedious. Maybe even a bit maddening. But I suppose this is just the reality of shipping hardware.
The Boundaries of the Physical World (And That Wall)
The most “absurd yet real” discussion this week was about data storage and networks.
When we designed the Global Version, we took it for granted that the “Cloud” is omnipresent. But reality is… the world is chopped up by invisible borders. We were debating a specific scenario: What happens if a user registered in the US flies to China with their glasses?
We were half-joking in the meeting about VPNs, about “tunneling out” or “swimming back”. While we know the technical side—latency, data residency compliance—there’s something quite jarring about having to write code that checks “Are you in China right now?” to decide which server to hit.
The conclusion was pragmatic: We have to keep data where it was registered (e.g., APAC data stays in Singapore) to follow the law. As for the latency of accessing it across borders? That’s physics. We just have to try and optimise it.
The Cost of “Double Dipping” (Multi-Device Support)
Another one that’s causing headaches: Multi-device support.
A user might have two phones, but only one pair of glasses. When they switch between iPhone A and iPhone B, what happens to the audio they’re currently recording?
We thought this was a simple Bluetooth switching issue. Turns out, it’s more like “data surgery”. If Bluetooth cuts out, the glasses cache a chunk of audio, the phone has another chunk. When the user reconnects to this (or the other) device, we have to stitch these fragments back together like a jigsaw puzzle.
We argued for ages: Auto-repair? A pop-up asking for confirmation? We even got into the weeds of a “Repair and Transcribe” button logic. My gut feeling is to hide the complexity from the user as much as possible, but the technical boundaries are there—if it breaks, it breaks. We just need to find a way to patch the gap so it doesn’t look too ugly.
Who Are You? (AI Memory & Preferences)
On the feature side, we’re pushing ahead with the Personalization module.
To make the AI actually smart, we need the user to feed it some “Facts”—job, nickname, or just “Tell me more about you”.
It’s tricky, though. We want the AI to be clever, so we need data; but asking a user to fill out a “Who am I?” section feels a bit like a census interrogation. We went back and forth on the UI—tags or free text? We’re leaning towards giving the AI a “Persona” entry point. Tell it “I’m a Product Manager,” so its answers sound like a capable assistant, not a search engine.
That Annoying “Forced Update”
Finally, the infrastructure work we can’t avoid—Forced Updates for the App and Firmware.
The ecosystem gap between Android and iOS is… vivid here. To ensure users are on a critical version, we need various pop-up strategies. Full-screen block? Standard pop-up?
Honestly, I detest that “update or don’t use it” logic. It feels aggressive. But reviewing the Product Update Page, I have to admit… sometimes for safety (or to stop a critical bug), we have to be the “bad guy.” All we can really do is make the pop-up text sound sincere and make the changelog clear. At least let the user know that the 10-minute wait is worth it.
Closing Thoughts
The documents from these past few weeks are full of “What if…?”
- What if the net cuts during recording?
- What if they haven’t enabled Bluetooth permissions?
- What if the user has two accounts?
Product management is sometimes just battling these 1% probabilities. It’s exhausting—arguing all afternoon over the logic of a single pop-up. But seeing these holes get plugged one by one… it brings a bit of peace.
This is “filling in the cracks,” I suppose. The road still needs paving.
Leave a Reply