Chromium Software Updates: Courgette(chromium.org)
chromium.org
Chromium Software Updates: Courgette
http://www.chromium.org/developers/design-documents/software-updates-courgette
7 comments
I would be interested in hearing cperciva's take (since he's the author of bsdiff ...)
You can find his comment here: http://news.ycombinator.com/item?id=706346
And, since then, a patent issue popped up; see http://lwn.net/Articles/359939/
The small size in combination with Google Chrome's silent update means we can update as often as necessary to keep users safe.
silent update? so there's no confirmation dialog or prompt before you start automatically updating what many consider to be the most important piece of software on their computer?
silent update? so there's no confirmation dialog or prompt before you start automatically updating what many consider to be the most important piece of software on their computer?
I actually think this is the way to go. Think about it: Chrome just emulates the rest of it's own environment here. Web sites are updated all the time without update dialogs, why should the browser be different?
I really wish Apple would take a leaf out of Google's book on this. I'm getting quite fed up with 70MB+ updates twice a month.
I wish Microsoft would take a leaf out of anyone's book. Even the silliest of updates (definitions and rules for God's sake!) require a reboot: Just yesterday an update to the timezone rules forced me to restart Windows 7 (on my Desktop).
I bought my son a netbook with XP on it. Brand new.
Got it connected to wifi, "You have 40 updates".
Massive updates, and it needed about 10 reboots to get through all 40 updates.
Windows makes me so sad :(
Got it connected to wifi, "You have 40 updates".
Massive updates, and it needed about 10 reboots to get through all 40 updates.
Windows makes me so sad :(
Usually for me it's two Windows Update ActiveX extensions for IE that need to updated before it even lets you get anywhere, a an update to the update installer, a round of ~40 updates including IEX which pops up a dialog in the background that blocks installation, and then once it's 'finished' there will be at least one more round of updates if you close it and reopen it.
As bad as Microsoft's clusterfuck is, Adobe's is orders of magnitude worse!
As bad as Microsoft's clusterfuck is, Adobe's is orders of magnitude worse!
Unless you depend on Mac-only software, I strongly advise you to try a modern Linux like Ubuntu or Fedora. You may encounter updates a couple times a month, but updates this size are very rare and so is the need to reboot after them.
I know. I am a Linux fanboy.
I know. I am a Linux fanboy.
I've had two kernel updates (40+ MB downloads and a required reboot) in the past month or so on the latest Ubuntu, but in general you're right, these updates aren't usually this common.
OpenOffice updates seem to be the worst in Ubuntu; a few years ago, I remember a 100+ MB update to remove a logo from the splash screen!
By the way, this is probably the wrong place but I really don't like the new way it notifies you of an update - instead of a small icon in the systray and a notification, you now get update-manager appearing on top of whatever it is you're doing. A backwards step.
OpenOffice updates seem to be the worst in Ubuntu; a few years ago, I remember a 100+ MB update to remove a logo from the splash screen!
By the way, this is probably the wrong place but I really don't like the new way it notifies you of an update - instead of a small icon in the systray and a notification, you now get update-manager appearing on top of whatever it is you're doing. A backwards step.
instead of a small icon in the systray and a notification, you now get update-manager appearing on top of whatever it is you're doing. A backwards step.
I can't wait to upgrade my inlaws' LTS machin to the newer releases for exactly this reason. They never notice the icon in the tray, but they'll do something about the updates window...
I can't wait to upgrade my inlaws' LTS machin to the newer releases for exactly this reason. They never notice the icon in the tray, but they'll do something about the updates window...
At least on Fedora, if you use the binary NVIDIA driver, on kernel updates you also have to make sure that you update your drivers to use the latest kernel headers. I typically forget this step so after the reboot I'm greeted by the console prompt. Recompile, reboot again. Annoys the hell out of me.
Ubuntu has DKMS which automates this whole process. You just get a pause on bootup while it recompiles the driver.
http://en.wikipedia.org/wiki/Dynamic_Kernel_Module_Support
http://en.wikipedia.org/wiki/Dynamic_Kernel_Module_Support
Fedora also has DKMS according to this: https://admin.fedoraproject.org/pkgdb/packages/name/dkms
However the NVIDIA driver has its own installer and stuff so I don't think it works nicely with DKMS. Probably that's why it's not working at all in this case.
However the NVIDIA driver has its own installer and stuff so I don't think it works nicely with DKMS. Probably that's why it's not working at all in this case.
Works for me on Ubuntu - although I do install my nvidia drivers using Envy, so maybe it's that.
http://en.wikipedia.org/wiki/Envy_(software)
http://en.wikipedia.org/wiki/Envy_(software)
"instead of a small icon in the systray and a notification, you now get update-manager appearing on top of whatever it is you're doing"
Isn't there a way to configure it's "eagerness to get updated"? There should.
If not, we should file a bug report
Isn't there a way to configure it's "eagerness to get updated"? There should.
If not, we should file a bug report
Yeah, I'm a Linux sysadmin and I run Ubuntu at home, but I have a mac laptop because the hardware is nice and my experience with Linux on laptops is poor. Also, Omnigraffle is awesome.
Maybe I should give Linux another go on the laptop, when I have a couple of days to spare...
Maybe I should give Linux another go on the laptop, when I have a couple of days to spare...
WebKit nightlies have been updating differentially for a few weeks now. It's nice to see a 2 megabyte download instead of the previous 50 or so. It remains to be seen, though, if Apple incorporates this into its more generalized software updates. (Edit: given another comment, it appears they already do.)
Apple does use bsdiff for a lot of their updates by default (just not for iTunes/QT) -- I think they were some of the first to use it outside of FreeBSD.
Yes, they were saying that bsdiff produces diffs 10x courgette.
Although cperciva pointed out [1] that this is probably due to a bug in bsdiff. Still, decompiling executables to compress them better is pretty damned nifty. The fact that there are people who know how to do this on a non-mission-critical project @ Google definitely shows the level of talent there.
1. http://news.ycombinator.com/item?id=706496
1. http://news.ycombinator.com/item?id=706496
Am I the only person that that thinks the argument for security is pretty flimsy? Does the size of the update really delay the rollout of patches that much compared to: discovery, the reporting to the vendor, patching and testing?
While I think this is good work by the Chromium team, I think they should just talk about convenience.
While I think this is good work by the Chromium team, I think they should just talk about convenience.
That depends: what is my bandwidth budget and how many users would I like to be able to support? I think the answer to the latter is "all of them", and the former is a big cost for a free product.
There's also the user's bandwidth budget - on mobile phones, outside the U.S., entry-level data plans may have limits as low as 100 MB/month or 10 MB/day.
If the (silent) updates bust the user's budget, they're not going to be appreciated ...
If the (silent) updates bust the user's budget, they're not going to be appreciated ...
If you have something that is both convenient and secure, it's much better than something which is just secure.
Wouldn't it be better if applications were distributed in source form? Minimizing patches size would be trivial then.
I wonder why noone seems to have thought of it.
I wonder why noone seems to have thought of it.
Source is often larger and you need to keep around the base source to figure out how to apply the diff and get a correct result.
What they're doing here is superior to source-based distribution if you care about update size and ease.
What they're doing here is superior to source-based distribution if you care about update size and ease.
You would have to make sure that all your users have a (working) version of a compiler that is compatible with the libraries. For C++, this can be a royal pain. Even on Linux, where a compiler can reasonably be expected to exist, there's no way of knowing whether the system's compiler is what you need. And don't even think about Windows, where only developers have a compiler, unless you'd like to ship GCC/mingw with your original app...
There used to be an initiative called ANDF (http://en.wikipedia.org/wiki/Architecture_Neutral_Distributi...) which was designed to distribute software in some form of intermediate level code. They got compiled to native code on the user's machine.
I guess you could think of LLVM object files as the equivalent today.
I guess you could think of LLVM object files as the equivalent today.
You might look into Gentoo Linux. Building everything from source multiplies the disk space & time involved in upgrades.
[deleted]
Google never fails to impress.