[packagekit] gnome-packagekit flames^Wreview

David Zeuthen david at fubar.dk
Sun Dec 30 19:44:09 PST 2007


Hi,

So I just tried PackageKit 0.1.5 on Fedora; here are some more comments.
Actually when reading it it's more like a flame or rant. Nothing
personal, hope it's useful feedback.

 o  Would be useful to have a date in the NEWS file; I guess, judging
    from the timestamp of the file, 0.1.5 was released 12/21 2007.

 o  The RPM package names on Fedora are just plain confusing. I mean

    - PackageKit
    - gnome-packagekit

    Come on! By the normal way things are named, on Fedora, you should
    use PackageKit-gnome instead. I guess it's because of bad naming
    policy of upstream packages? Things like these are just annoying.

 o  Maybe this is just a Fedora problem but the latest gnome-packagekit
    package is 0.1.4 in Rawhide. Annoying. Oh, wait, it's in Koji

    http://koji.fedoraproject.org/koji/buildinfo?buildID=29487

    since someone else fixed the build. Annoying too; what if there
    were ABI changes?

 o  You should probably do something like sending a HUP signal
    to both the PackageKit daemon and the pk-update-icon daemon
    to make them reload on package upgrades

 o  There's an "Add/Remove Software" in the System->Administration
    menu. This menu item should be in the bottom of the Applications
    menu instead (just like pirut).

 o  I have two items in the Applications->System Tools menu

    - Software Transaction Viewer
    - Software Update Viewer

    which is just confusing. By messing around with it a bit, it looks
    like the latter is what I want to use for updating the system. 

    Oh, why did I even go searching for this item? Because I knew, by	
    reading the daily rawhide reports there were updates, but... I
    didn't automatically get a "there are updates available notication
    icon when I resumed my machine after not using it for a couple of
    days. 

    Neither did I get it when I manually update the PackageKit packages
    (since I wanted to try out an update via PackageKit instead of yum.)

    So this is just pretty confusing. Suggestions

    - kill the icon for the "Software Transaction Viewer completely" and
      make the functionality available via a button or something in the
      "Software Update Viewer".

    - I'm not a native speaker but I'm pretty sure "Software Update
      Viewer" is a pretty terribly name for what it does. 

      Also, I'm pretty sure it shouldn't be in the Applications->System
      Tools menu. Suggest to use a verb instead (it is really an action
      and not a tool) and place it in the System menu. E.g. have a
      "Update this system" right next to the "Lock Screen", "Log
      Out davidz" and "Suspend System" items. 

      For bonus points, make the icon in said menu reflect the current
      state of the system e.g.

      - Green: system is updated
      - Orange: updates available
      - Red: security updates available

      You probably want to talk to GNOME upstream to make it easy to do
      such menu items via e.g. desktop files and whatnot.

 o  OK, so now I have the latest PackageKit and gnome-packagekit (and
    am still annoying by the naming conventions). Let's go update my
    system. So I go into Applications->System Tools and select 
    "Software Update Viewer". It spins for a while (but not too long
    and that is alleviated by a progress so that's fine). I am now
    greeted by this window

    http://people.freedesktop.org/~david/Screenshot-Software%20Update%
20Viewer-1.png

    There are several issues here

    - What does the "Refresh" button do and why would I need to refresh
      something? In the unlikely event that there are suddenly newer
      updates while I have this window open it should just automatically
      update itself.

    - I think I know what "Close" and "Apply" means here but I think it
      would be much clearer if you called them "Cancel" and "Update
      System". Also, to please the HIG nazis and make it easier on the
      eyes, move the Help button so it's aligned on the left, further
      away from the action buttons, e.g.

         [Help]               [Cancel] [Update System]

      Also, nothing happens when I press [Help]. Maybe you don't have
      comprehensive Yelp-docs yet, but then please do avoid showing a
      help button if it doesn't do anything...

   -  The visual metaphor for the orange icons is not clear. Sure, they
      look pretty and all but how am I supposed to know what that orange
      icon means in terms of "Severity"? Suggestion; use a smaller icon
      and include text; e.g. for example

      [Icon] Bug fix  |  eel2-2.21.1-1.fc9 (i386)
                         Eazel Extensions Library
      [Icon] Security |  kernel-2.6.24-1.fc9 (i386)
                         The core of the Linux OS

   -  It would be useful to know how many updates there are in the
      batch and how much time it would take to apply them. So suggest
      to include a textual element in the top explaining to the user
      what is going on (more on that later)

   -  It looks like a list I can click on (I know this because I know
      about GTK+ but I'm sure my mom would know it) so I go ahead and
      click. Then I get this

      http://people.freedesktop.org/~david/Screenshot-Software%20Update%
20Viewer.png

      Yikes, suddenly this grey goo appeared and my list is now much
      smaller. The wording is bad and confusing too (more on suggestions
      later). Also, the "Update this package now" just gets in my way;
      what I [1] really want is to cherry pick updates. With the way
      things work right now, I'd have to launch "Software Update Viewer"
      multiple times and queue up dates. Talk about software punching
      you in the face.

      Also, what I (see [1] again) really want is to see what the hell
      changed with the updated package compared to the one I already
      have installed, e.g.

      - You want to display Bodhi style advisory information [2]; you
        perhaps already have this... but what happens if I'm two
        advisories behind? Do I get to see two advisories? Assuming you
        display advisories for some streams, at least the UI should tell
        me about this even when using a stream (like Rawhide) without
        advisories; e.g. an empty tab for advisory information (more on
        that later)

      - You want to display package changelog deltas; e.g. if I update,
        say, hal from 0.5.10-0.git20070925.fc8 to 0.5.10-3.fc9 then you
        should show

                * Thu Dec  6 2007 David Zeuthen <davidz at redhat.com> - 0.5.10-3%{?dist}
                - Grant user 'haldaemon' an authorization to read authorizations of other users
                
                * Tue Oct 23 2007 Matthias Clasen <mclasen at redhat.com> - 0.5.10-2
                - Rebuild against new dbus-glib
                
                * Thu Oct 11 2007 David Zeuthen <davidz at redhat.com> - 0.5.10-1%{?dist}
                - Update to latest upstream release

      - Ideally, I want to know what other changes an update of one
        package causes; e.g. what packages that I have installed already
        will be

        - required to be updated
        - uninstalled (e.g. Conflicts:)
        - replaced

       and so on.

 o  Fine, so now I press "Apply" guessing that it will update my
system.
    Wow, the window just disappeared. Very confusing; did the
    application just crash? Oh, wait, there's something happening in the
    notification area (thank god I have that running, huh?). So I click
    my new icon in the notif area. It shows me a menu! Hmm.. with a
    single item. Anyway, I get to see this window when clicking the
    item

    http://people.freedesktop.org/~david/Screenshot-PackageKit%
20Progress.png

    which is another punch in the face. First, words like "Part" and
    "Transaction" and "Task" are kinda technical and I'm not even sure
    what you even mean with the former. The icon changes a bit; first
    it has some wheels, then after that a green arrow pointing down;
    am not really sure what those means. Oh, the icon in the
    notification area tells me it's resp. "Setting up" vs.
    "Downloading". I guess I could have guessed that already.. but..
    why simply not include the text in the "PackageKit Progress"
    dialog?

    Also, I'm annoyed that it doesn't tell me what the hell it's
    downloading and how fast it's going; what if I were to catch
    a flight? Oh, wait, sometimes it does show me something

    http://people.freedesktop.org/~david/Screenshot-PackageKit%
20Progress-1.png

    This suggests it's just a bug. It's annoying with such bugs
    though; shouldn't release software with that kind of defects;
    suggests you need to do more smoke testing before throwing
    together a release...

    Also, the title of the dialog is bad.. "PacakgeKit Progress"?
    It would be more clear with something like "Updating System".

    About the buttons; the [Help] one is greyed out; not sure why
    you need a [Help] button anyway; it's not like GNOME has that
    in other progress dialogs. It's confusing there's both [Close]
    and [Cancel]; I'm guessing that [Close] will dismiss the dialog
    but the update will keep going in the background while [Cancel]
    will abort the transaction. Definitely need more text and better
    names for the buttons. When I press [Cancel] I get this less-
    than-useful dialog 

http://people.freedesktop.org/~david/Screenshot-pk-update-icon.png

    and when dismissing it the "PackageKit Progress" dialog is still
    being displayed; I have to manually hit [Close]. Annoying.

 o  So now is the part where I actually make PackageKit run to
    completion. Fairly uneventful, actually.. the icon with the
    wheel/green button now changes to something that looks like
    a refresh button and this time I'm somewhat getting feedback

http://people.freedesktop.org/~david/Screenshot-PackageKit%
20Progress-2.png

    When the update is done I'm greeting with a libnotify notification
    that disappears again before I could screenshoot it. It said
    something like "Task Completed - System is updated" and then I went
    to check the "PackageKit Progress" window but it suddenly
    disappeared.

In my complaints above, I mentioned several times things like "more
about this later" and this is the part where I would put my suggestions
including ASCII art of better dialogs. As this mail is way too long
already and I'm not a professional UI ninja like bclark I'm going to
avoid attempting coming up with suggestions. 

However, one thing that is somewhat clear to me is that you probably
want to integrate the now-called "Software Update Viewer" with the
"PackageKit Progress" dialog. This suggests the latter should be
available as a component that

 - can be embedded in the now-called "Software Update Viewer"
 - can be embedded in "Add/Remove Software"
 - can be shown standalone by clicking the icon (suppose you
   a) logout; or b) do f-u-s; or c) automatic updates;)

Just a thought. Also, it's extremely confusing that the tray icon is the
main UI driver for what's going on; e.g.

 - it's how you get to the PackageKit progress window
 - it's the one reporting a "Task" is completed

Being a software developer myself, I can almost guess why it's this way:
you have a "potentially N clients" <-> "1 server" architecture and it
just makes it easier to make a stateless icon drive the UI. It's just
such a bad user experience; you really need to focus on the single task
that is updating the system: it needs to happen from a single stateful
dialog.

Anyway, reading this long mail again, I realize I sound pretty angry,
harsh and dismissive. Sorry about that. I guess I'm just frustrated
about the poor user experience / UI that is currently gnome-packagekit.
In my view, it definitely needs a lot of work before it's ready for
primetime. And I think if you sat down and thought about the user
interactions it would be straightforward (not easy) to come up with UI
that is a lot better than this... then spend a month or two implementing
and polishing it. And then maybe it would be good enough for e.g. F9.

Oh btw, I realize some of my suggestions are somewhat developer/geek
focused; e.g. the suggestion of displaying pkg changelog deltas,
conflicts, provides etc. Yes, these are a bit geek-centric but I'm
confident they can be implemented in a way that won't pollute the UI for
non-geek users like my mom. Also, keep in mind that to win the hearts
and minds of both GNOME developers and distribution developers you need
to make the software work for them instead of dumbing it down to the
point where it just gets in the way. Finally, as alluded to in [1], the
other category of users that really really care about these things are
admins managing enterprise-ish systems and carefully review and
cherry-pick updates.

Sorry again for the flames. Hope it's useful though. 

     David


[1] : Who wants to cherry pick updates? People on distro development
branches and people who run security critical machines.

[2] : https://hosted.fedoraproject.org/bodhi/wiki/Screenshots
   





More information about the PackageKit mailing list