UI Designs Involving Opening Terminal Windows

by havoc

Jason, I
think you’re missing a really basic point here. The point of a GUI is
(usually) not to expose or wrap a command line app. It’s to provide a
nice way for some
specific audience
to do some specific thing.

The whole reason PackageKit is new and different is: it’s not a
“frontend for RPM” or a “frontend for dpkg.” There are already a ton
of those, for the kinds of audience who want those.

To design something, first-order, what should the UI be like for the
specific audience and the specific things they want to do?
Second-order, how can that UI be implemented?

If you and Richard don’t agree on the audience and purpose of
PackageKit then of course you won’t agree on the UI. That’s why
multiple UIs and multiple programs very frequently should and do
exist.

Whatever the merits of PackageKit, there’s a great general lesson
to be found here. Thinking of any software as a “frontend for XYZ” is
flat-out wrong…. unless your intended users are used to XYZ
and what they want is a frontend for XYZ!

But, there is no rule that Richard has to write a package manager
frontend for whoever it is that wants that. In fact, I hope he
doesn’t. I hope he writes a UI for keeping a completely terminal-free
desktop up-to-date with security patches, and finding and installing
new apps for said desktop. PackageKit seems to be pretty good for
that.

Something like 10 years ago now, I wrote a god-awful frontend to
Apt called gnome-apt; and it opened a terminal
(Zvt, back then, not VTE). It was hilariously, embarassingly bad
UI even 10 years ago to open a terminal, and people made fun of me.

My memory from back then: there was a future plan for all Debian
packages to have default answers to all questions, specifically to
avoid the UI wart of opening a terminal. Of course, who knows what’s
happened since. But I don’t think opening a terminal became a better
decision, that’s for sure.

It would be wonderful discipline for any software dev team serious
about Linux “on the desktop” (whatever that means)
to ban their own use of terminals. Of course, none of us have ever
done this, and that explains a lot about the resulting products.

btw, on this “Red Hat bias” topic: if I were writing PackageKit and
wanted to screw over Debian, I would put in the
show-a-terminal feature, because it’s so comically bad I could then
mock it. Just saying. I think Richard is doing a solid for Debian and
Ubuntu to insist on having PackageKit be just as good on those
distributions.

(This post was originally found at http://log.ometer.com/2008-04.html#13)

My Twitter account is @havocp.
Interested in becoming a better software developer? Sign up for my email list and I'll let you know when I write something new.