> "Not now" says "I won't take no for an answer".

They know. When a designer makes one of those prompts with only a "not now", they tend to mean a very specific thing, that is at the same time a subtle message to the user and a passive-aggressive stab at the company they work for.

What they mean: "the code path that handles what happens when you say 'no' here has been deprecated, because support for this feature was not part of the planning of a recent major-version rewrite of this app's core logic. When that rewrite is complete/passes through this part of the code, the option to say no will go away, because the code for that decision to call will be gone. So, in a literal sense, we think it's helpful to keep bugging you to switch, so that you can get used to the change in your own time before we're forced to spring it on you. But in a connotational sense, we also think it's helpful to keep bugging you to switch, as a way of protesting the dropping of this feature, because every time users see this kind of prompt, they make noise about it — and maybe this time that'll be enough to get management's attention and get the feature included in the rewrite. Make your angry comments now, before it's too late!"

I wonder how that works when they are asking to grant permission for an integration with a resource gated by OS or browser, e.g. in this case location data for the Reminders app, or showing browser notifications.

Is the deprecated path that they just don't work without enabling those settings?

And I'm sure every UX person is different. The ones who know it's a dark pattern must have some pretty strong cognitive dissonance with a company that historically sold itself as 'the good guys'.

But there's a whole generation that probably grew up with software that fundamentally doesn't respect you, and this is just normal.