I'm working on a Chrome Extension, and since Chrome's auto-updating system positively sucks, I'm doing my own.

Also, I haven't even publicly released my extension yet, so the design can count on users being more advanced.

When I update the extension, the browser button will change icons. Clicking this updates the extension code. My extension modifies Google Search, so any loaded search tabs will not magically update. Every tab where my extension has done it's work needs to be reloaded for the updated extension to run.

The question is when to reload these tabs

I can either reload all of them straight away, often clogging the browser and network from say, checking your facebook or email. If I don't reload them right away, I could reload them when the user navigates to that tab. That's lame because once you select the tab it reloads on you.

Further, each tab's messaging would typically have some errors because the tab is doing messaging with a new, foreign updated background page.

Either way, I will want to reload all active tab straight away.

As far as the other tabs, seems like I have 3 decent strategies to do:

  1. After all the active tabs finish reloading, reload every other tab one after the next. This way the extension doesn't cram the users network. Possibly the best user experience, but less control is given to the user. -This also gives the user confirmation that the extension is updated, cause extensions download/update instantly. (Same size as a webpage.)

  2. Reload the tab once the user comes back to that tab. Only necessary actions are taken.

  3. Display a notification on each tab that it needs to be reloaded. When the user goes back to a outdated tab, they'll see a red notification that this tab needs to be reloaded for the updated extension to run. User has most control

PS: I can also add some text on the title of tabs. I can turn "foo - Google Search" to "(will reload) foo - Google Search"

1 Answer 1


First off, you shouldn't reload any tabs automatically because you most obviously break the user's workflow in the active tab and you can't replicate viewport upon reload of background tabs (this especially concerns Google Image Search that has no pagination). The break in workflow also applies to reloads on activation of a tab (i.e. clicking on a background tab).

Secondly, is it really important to the user to see the updated functions immediately? Unless you're releasing a fix because of a change in Google code, they should survive until they either reload the page themselves or just open a new tab with Google.

If you're so anxious to show off your latest improvements, do it the same way as you update the extension: prompt the user. The least intrusive way is to add a message to all Google search tabs that reads along the lines of, "You've installed an update to Extension that fixed X/added Y. Please reload this page to see the changes." If there are no changes to the view or workflow, you shouldn't even notify users and just wait until they reload manually.

  • [part one] Breaking the workflow could be fixed, without too much hassle. Just have to track where the user scrolled to, and some other things. I don't touch image search. It's important to reload, otherwise errors can occur because the messaging port with the background page breaks. (Because the extension background file gets reloaded to a new version that the tabs may or may not be properly programmed against) Commented Jan 13, 2012 at 5:51
  • [part two] Pretty much I'm not gonna push out an update unless it's seriously helpful to users. I'd rather push them into the new version immediately instead of take the chance they run into problems the new version fixes. I suppose I could have a secondary option for enhancements vs. fixes, but that's stupid, why wouldn't you want more awesome stuff? Think I should be somewhat opinionated. Could be a bad excuse though Commented Jan 13, 2012 at 5:52
  • Thank you for the thoughts though, I'll probably come back to consider them a good number of times Commented Jan 13, 2012 at 5:57

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.