

Ever wonder how Google autoupdates its software? - speek
http://omaha.googlecode.com/svn/wiki/OmahaOverview.html

======
techtalsky
I love Paint.NET's update system, which I've rarely seen implemented. It asks
you if you want to update... as you're quitting the program, not before you
launch it. This is such a spectacular idea I can't believe so few people
implement it.

It's a good idea because a) it gives me a choice whether I want to update or
not b) when I don't need to wait for the update in order to use the software

~~~
alanh
Yup. Quite a few indie Mac programs do this, too, or similarly will ask on
startup, but one of the dialog box's buttons reads "Install on quit".

------
jasonjei
I've always wondered about auto-updating software being flagged as a virus.
That has always been troublesome for me. So I haven't really explored it, but
it seems to be relatively smooth sailing for Google.

The one thing that I have preferred about interactive updating is that it lets
users know that things _may_ break during the update. And sometimes, you just
prefer running an older version because it works better for you than the newer
version.

The problem I have with auto-updating software, including Chrome, is that when
big changes are made, I have no point of reference to test, and there is very
little I can do to reject a version upgrade. Of course, this has its benefits
since you know all users will be forced to upgrade Chrome and you know that
you only have to test your site against one version of Chrome.

------
sriramk
This is an interesting use of .NET ClickOnce. It is probably the largest
Clickonce app I've ever used.

------
pierrefar
Personally I find giving this much control to any software on my system (to
essentially install anything at will) is too dangerous. I've actually stopped
using Chrome and moved to the buggier Chromium because of this worry.

Interesting technology though.

------
js2
On the Mac side, Google uses <http://code.google.com/p/update-engine/>

I don't particularly care for this solution because an update engine is
started when the user logs in, and thus is running even if no Google
application is. If you know what you're doing you can disable this and Google
apps will still be able to update themselves when they are running.

Fortunately, I've not seen Update Engine used outside of Google apps. Most Mac
apps use <http://sparkle.andymatuschak.org/> which I think is a far less
intrusive solution.

~~~
spatulon
It's not necessarily intrusive just because it's running. I bet it's just
swapped to disk and using ~0% of the CPU most of the time.

~~~
js2
There is no configuration for the update engine. It periodically checks for
updates, and in the background will download and install those updates. There
may situations where I don't want it doing so: e.g., if I'm on a low-bandwidth
link. I can maybe understand this if I've got a Google application running,
but to do so w/o any Google applications running is unacceptable.

To be clear, I think auto-updating software is a fine default. But every other
Mac app I have (since they almost all use Sparkle) will only update itself
when running, and further, give me a preference to disable the auto-updates as
well as specify how often I want update checks to occur. It is un-Mac-like to
silently update in the background and w/o providing the user any control.

------
bl4k
Great that is it open source and liberally licensed. Auto updating desktop
software is a difficult problem to solve, esp with supporting Win95+ and even
more difficult once you attempt to support Mac, Linux etc.

There were solid open source solutions until Omaha, even Firefox used a
commercial solution until recently.

The one feature request I would have is support for SSL and client
certificates, to prevent DNS poisoning and having the auto-updater download,
install and execute any arbitrary code. Otherwise, this is fantastic.

------
daniel02216
For me I like having Chrome auto-updated in the background on my Mac, because
it always works whenever I need it, and I don't have to think about it at all.
However I can understand not wanting auto-updates for software that is less
likely to work properly after an update...

I wish that I could set most of my applications to silently auto-update, and
then set a few back to manual if I ever decided one had an issue. Auto-
updating is an awesome idea for browsers and for frequently updated things
like Chrome.

------
omh
Clever as this is, it seems that this should be something provided by the
operating system rather than each app doing its own thing.

And I definitely want the option to manage and disable updates. As a sysadmin,
Chrome is a nightmare because I never know which version my users are running.

~~~
js2
_What is Google Chrome for Enterprise? Is it a different build than the Google
Chrome I install from google.com?

Google Chrome for Enterprise is just Google Chrome. Every Google Chrome has
the same features, so it's equivalent to the Google Chrome you can download
from google.com.

What enterprise features does Chrome offer?

Support for group policy and centralized configuration, a specialized MSI
installer, and control over auto-update frequency._

[http://www.chromium.org/administrators/frequently-asked-
ques...](http://www.chromium.org/administrators/frequently-asked-questions)

------
pjscott
You can get the source code here:

<http://code.google.com/p/omaha/>

