Automatic Kee WebExtension update opens a tab that steals focus

I have been disturbed multiple times by the update notes popping up while doing something in my browser. Luckily that didn’t cause any damage yet, but it easily could for any user doing something time critical in the browser.

Please add an option to disable update notes being opened entirely.

As a quick fix to mitigate the problem, please consider opening the update notes tab in the background. That way it won’t disturb users activities as much.

I believe setting createProperties.active to false should do that.

browser.runtime.onInstalled.addListener(details => {
    if (details.reason === "update") {
        browser.tabs.create({
            url: "release-notes/update-notes.html"
        });
    }
    else if (details.reason === "install") {
        browser.tabs.create({
            url: "release-notes/install-notes.html"
        });
    }
});

There’s a difficult balance to be found here; it’s essential that users know about behaviour changes to add-ons they have installed as soon as possible, especially for ones where their security or privacy may be affected. The chances of a Kee update doing anything that requires notification the moment that it is installed is low, but then so is the chance of that 5 second distraction leading to a damaging side-effect due to a time-critical activity in another tab being interrupted. I highly doubt that we could make a strong enough case in either direction without investing unreasonable levels of effort into long-term data collection research.

Regardless of those balanced risks, I agree that the current behaviour is more intrusive than I would like but it is the recommended best practice for informing users of updates to WebExtension add-ons and therefore a sensible way for us to handle it in the first instance. I’m open to improvements in the way we notify users of updates and would be keen to work with the wider add-on community to look at improving the recommended best practice in this area although it’s something I probably won’t have time to focus on for at least a few months.

Some initial thoughts which might lead to a better experience for users could include some timely popup notifications instead of the immediate tab focus (combined with opening the tab in the background perhaps, as you suggest) and/or the use of some idle activity APIs to delay the opening of the foreground tab until we see the user has not interacted with the browser for a number of minutes. I am aware such APIs have been discussed or created but am not sure if or how well they are supported in current browsers so further investigation would be required.