Notify the user updates are available.

I use NSUSerNotifications to let my customers know when there’s an update available. It’s worked pretty well in the past. With the latest Catalina Beta, users are asked if they want to allow my app to send them notifications or not. If they disable this; they’ll never know about new versions.

So I’m considering my options here; and would like to know what everyone else is using or hear their ideas.

@Sascha S & @Beatrix Willius have suggested sending the customers e-mails.

Edit: Typos

Newsletters are good, or you could build your own toast system, but that might not fly in the MAS if it ignores their preference.

Sorry; forgot to mention that this is only for apps sold through my site.

Mine dial home and look for a file on my site that compares build version with existing.
They have to open the app, and not block internet for that.
If they block internet, I cant help them.

I also have a manual check for update that opens a web page with latest details.
I dont send emails except to people who have pre paid for updates.
To me thats a bit spammy. (And unless you use a mailer system, the web can treat you like a spammer too, if your user base is large - as I found out to my cost a few years back)

I sometimes do update checks on load, then present a dialog with changes for my donationware non-store apps.

Use Kem’s Kaju updater. Do a check on launch and show a dialog box. I’ve never seen much merit in alerting the user about an update if they aren’t using the app at that moment.

hmm… I should also clarify; that the messages are only displayed when the user opens the application. Similar to @Jeff Tullin, my apps connects and downloads a datafile, which it then compares to see if the there is an update suitable for this machine.

If so it then uses this API to display a standard notification in the top right hand corner of the screen. Which is now potentially disabled, so I need to come up with a means of displaying to the user, “Hey there’s a new version”.

I am sorry for any confusion caused by my lack of detail.

Add a banner to the top of your main window?

I find an unobtrusive alert when loaded the best, like a little alert symbol somewhere on the app or a message contained within the app footprint.

There’s nothing worse than starting an app up to do something quick, get bombarded with popups and have no ability to remind me next time I launch. Ideally there would be a few options, a) remind me next time I launch, b) update now or c) update when I close as there’s nothing worse than having to wait for the app to update while you want to do something and having it update in the background when I’m done is sooo nice when people do it as long as no user intervention is required of course.

Most of my apps optionally check a JSON file on my servers for the latest version, release notes etc. Users can switch this check off in Preferences and check manually, if that is their wish. They can also choose to ignore specific updates. It’s pretty simple but works well and the user is in control. If an update is found, a dialog appears offering them the update.

I use the same code and window in each project.

[quote=445938:@]I find an unobtrusive alert when loaded the best, like a little alert symbol somewhere on the app or a message contained within the app footprint.

There’s nothing worse than starting an app up to do something quick, get bombarded with popups and have no ability to remind me next time I launch. Ideally there would be a few options, a) remind me next time I launch, b) update now or c) update when I close as there’s nothing worse than having to wait for the app to update while you want to do something and having it update in the background when I’m done is sooo nice when people do it as long as no user intervention is required of course.[/quote]
Agreed; and this is why I feel that using a NSUserNotification is the most appropriate.

When there is an update available; the user sees this Notification in the top right hand corner of their screen.

  1. It’s unobtrusive; as it’s in the top-right hand corner, they can carry on doing what they’re doing unless they’re actually using that space.
  2. It’s functional; clicking on the message shows more information about this version. Clicking “Later”, means it shows up next launch. Or clicking and holding on the “Update” button gives the user a menu, where they can ignore this version if they please.

But alas; it’s potentially dead now if the user denies these notifications; and does so before they have even received the first one. Apple’s security team, should provide the option to “Mute” applications directly from the Notification, this way the user at least has an idea of what they’re being notified about.

At least we have 2 more months before Catalina gets pushed out to a larger majority of users.

This is the method I use. I originally used the large update window, but that pops up at the worst times. Usually when the user is launching your app, they want to use it, not update it. So I switched to a notification pane my app has. That significantly dropped the rate of installed updates. So I now use a banner at the top of the window.

I do almost exactly the same thing that @Gavin Smith described above - a popup window that appears a few seconds after app first launch that succinctly describes: The version number they are on, the version number available, basic release notes, and an option to install now, install later, or skip this release.

If you don’t want to roll your own as Gavin and I have, Kaju is a great alternative which essentially does the same thing.

Some applications have a MenuItem for checking if a new version exists.

Firefox, in the About window -at its open time - check if a new version exists. A preference exists for what to do.

There is pro and con for every solution.

About notifications:
When this feature was implemented, I say “Yeah !”, but i revert that as soon as when I get many notifications in the same firsts 10 minutes of use. Nice feature, but the feature commit suicide when disturbing me !

A help feature: Yes ! A disturbance: NO !!