[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