How Mozilla Intends To Speed Up Firefox's Update Process
We do know at this point in time that Mozilla is looking at options to update Firefox more effectively.
Back in October we revealed that Mozilla was planning to add a silent update process to the browser to streamline the process and make it more comfortable and unobtrusive. Firefox engineer Ehsan Akhgar is now discussing another method on the Future of Firefox blog.
He first describes how Firefox is currently applying updates to the browser. Updates are downloaded into a special directory during runtime. The browser on next start up will check for updates in that directory and if any are found, will apply them to the browser.
This process is visualized to the user with the dreaded Firefox Update: Firefox is installing your updates and will start in a few moments message.
The updater restarts the browser after the update completes.
The new idea is not fundamentally different. Updates will be applied to a copy of the browser files in the background while the browser is running. When the user restarts the browser the updated version is copied over the old version of the browser, a process that is noticeably faster (as there are no prompts and copying is faster than applying those updates during browser start).
Now, the reason that this approach fixes the problem is that swapping the directories, unlike the actual process of applying the update, is really fast. We are effectively moving the cost of applying the update to right after the update has been downloaded while the browser is running. This leaves only the really fast copy operation to be performed the next time that the browser starts up.
A long document is available here that details the background updates process.
- Firefox finds an update
- The update is downloaded
- Updater is launched in the background with the UI disabled
- The existing installation will be copied to /firefox/updated/
- The patches are applied to the copied version of Firefox
- Update will be aborted if errors are encountered, e.g. read write errors, running out of disk space
What about changes that you make to the browser in that time? What about add-ons that you install or configuration changes? Those in theory should not be a issue as they are stored in the profile directory and not in the Firefox directory on the system.
I can still see issues here, like high cpu, ram or disk usage when the updates are applied.
What's your take on the new updating proposal?Advertisement