© 2000 Screen Gems
The mechanism uses the much-improved update UI developed by the Firefox team to process much smaller binary diffs. It provides a great alternative to downloading an entire installer just to update a relatively small amount of code — which is what most minor revisions end up being.
Aside from the bandwidth/time benefits, there are other advantages to handling updates in this fashion:
- Less headaches for nightly testers upgrading to newer versions.
- Ability to jump from one build to another pretty easily.
- Now you can really “set it and forget it”.
Generally, the new functionality utilizes bsdiff to determine the differences between complete patches to make mini-patches, or partial patches, that define the shortest point between one build and another.
Due to Chase’s hard work and Jedi-like mastery of the build systems, this all adds up and provides a Directed Acyclic Graph (DAG) that serves as a map between builds. This obviously means build-hopping will be the new teenage craze, and will sweep through high-schools around the world.
Well, okay, maybe not. But it is pretty damn cool, and is the next big thing for software update.
Software Update warnings: Batteries not included. Side effects include security fixes, feature additions, general updates, uncontrollable joy and excitement or dry-mouth.