Building XNeuronal, the thing that kept coming back was this: a reminder at 6pm fires during a meeting and gets swiped away with a thumb. The information was right, the moment was wrong.
So the trigger follows the situation instead of the clock. A reminder can wait until you are within 500 metres of a place, until it rains tomorrow, until sunset, or until several days have passed without any rain.
The hard part was not the geofencing. It was deciding what someone should hear at the moment they set one up. A weather watch runs for months, so it is a promise you make once and then forget you made. The app now reads the threshold back out loud before committing to it: "I will tell you the first day the maximum goes above 25 degrees." That single sentence is the only moment anyone can catch a watch that would otherwise fire in November.
Curious what others have run into here. If you have shipped anything with non-time triggers, what did people actually understand on the first try, and what did they get wrong?