[packagekit] Package update policy

Bryan Clark bclark at redhat.com
Wed Sep 26 12:21:11 PDT 2007

On 9/26/07, Robin Norwood <rnorwood at redhat.com> wrote:
> Richard Hughes <hughsient at gmail.com> writes:
> > On Tue, 2007-09-25 at 17:07 -0400, Robin Norwood wrote:
> >> Richard Hughes <hughsient at gmail.com> writes:
> >> > Does that make sense?
> >> So that was my thinking in having two separate, independent checkboxes.
> >
> > I'm just thinking from a "sliding scale of automation" point of view.
> > Those that just want it to work, those that want the security installed
> > but want to review others, and those that want to do it all themselves.
> >
> > Sane?
> Hrm.  Definitely sane.  It leaves out one of the use cases I'd dreamed
> up, but that might be fine.


I had made some notes on package update policy a while back and now have
been reprimanded for not promptly sharing :)

So here they are:

  - Daily updates on idle usage if possible ( somewhat complicated if()
statement )
  - Silently download updates in the background
  - Does not ask to perform updates ( alerts of this default at first update

Daily updates are probably an ideal default, but it should try to be done
when system is idle, i.e. the user is away from the computer.  I'm not sure
if checking for updates is a resource intensive project, I suppose that's a
back-end independent issue really but for the most part updating is somewhat
resource intensive and should be done when the computer isn't being actively
used.  That said there are lots of gotchas with this in terms of security
updates or systems that are used and then suspended or shutdown without much
idle time; each of which I believe can have a simple solution.

Downloading the updates (and dependencies) in the background allows for a UI
that is a simple question of "Do you want these installed?" with no
secondary response of "Now wait while I get those things you asked for".
For people who are paying for bandwidth by the byte or something this is a
tricky situation, we could try to be smart and detect if you're on a
connection like this, however those smarts are bound to fail often and be
somewhat confusing.  Instead if the Package Update simply always shows it's
icon in the system tray when it's downloading, it should be good enough
combined with a preference for never automatically downloading updates.

Automatic updates are a smart idea, however some people like to have control
over their computer being smart.  So there is a first time usage scenario
that covers the automatic nature of the system update allow for a point at
which people can configure the application or let it do what it does

First Time Use Scenario
  - Wait until ideal time to update
  - If updates are available show Package Update icon and begin download [
tooltip: Downloading New Updates Available]
  - Wait until Person has returned to computer ( not idle )
  - Advertise that the Package Updater has downloaded updates via a
notification icon
    "Updates are ready to be installed but will wait until your system is
idle again.  All future updates will be performed automatically"
    [[Install Updates Now]] [Install Updates Later] [Configure...]

The whole reason behind this scenario is so a minority of people can prevent
the updater from being automatic when they want it to be manual without
asking too many question up front which we assume would confuse or annoy the
majority of users who don't understand or don't care.

Normal Run Scenario ( started once daily while the system is idle )
  - Show systray icon while checking for available updates
  - Keep systray icon around if there are update and begin downloading them
  - Begin update once all packages and their dependencies are downloaded

I wanted to do the first step completely under the radar, especially if it's
happening while the person is using the computer.  Having a little icon
appear in your systray everyday and then disappear rather quickly (because
there were no updates) could be a little disconcerting to your average
user.  But if we're able to do it on idle for the most part then it just
won't matter.

I saw you have a couple different icons for the different states that occur,
it's probably good to keep the first one innocuous looking and then a
"downlading" style icon, followed by an "updating" style icon... defining
those iconic meanings is going to be like a trip in the park :)

Interrupted During Update Scenario (person comes back to the idle system
while it's being updated)
  - Systray icon shows updater in progress
  - Display notification bubble
    "Update in Progress\n
     10 of 100 packages updated"
    [Watch Update Progress] [Configure...]

I don't think we need a close bubble or ignore action here because there
should be a close icon, also I don't really know that you have a UI for
watching the updates happen but I'm assuming you do :)


As for the System Update Preferences UI I'd go with something like this.

System Update Preferences

  [x] Automatically Check for Updates When Idle

    [Every Day \/] Check for new updates

    [x] Download updates automatically

    (o) Never ask for confirmation, perform all updates automatically
    ( ) Always perform security updates, but ask otherwise
    ( ) Always ask before updating anything

                                                          [ x Close ]

Hope I'm not coming into the game too late.  Thoughts?
~ Bryan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/packagekit/attachments/20070926/060b37b9/attachment-0003.htm>

More information about the PackageKit mailing list