Linux and application installing

Richard Hughes hughsient at
Tue Sep 7 11:46:55 UTC 2010

Linux has traditionally shown the user packages to update and install,
which is great for administrators, but sucks hard for end users. How
many times have you been prompted with an update list that asks you to
decide whether to update something you have no idea about[1]?

Mo illustrated[2] a few days ago about how confusing the updater is
and I agree with her; and it's mostly my fault. Lists of unlocalized
generic packages are so 1990's, and compared with the Ubuntu Software
Center or the Android App-store we look like amateurs.

So, a solution. I've been working on app-install[3] with some people
from other distros for the last few months, and last week it had it's
first public release. Schema version 2 is already being worked on, and
now optionally integrates with PackageKit and also provides some other
features like sorting applications by rating and application
screenshots. I've already generated distro metadata for the entire
fedora repository (this takes about four hours on my laptop) and
packages are available[4]. It's really easy to generate metadata for
the other repos too, but I digress. Read the README file for all the
guts about how it works.

I've got two demo applications that use the app-install data. One is
installer and one is an
updater. These are work in progress, and show dramatically the lack of
my UI design skills.

The installer will be an additional tool (much like the
ubuntu-application-installer compliments synaptic) which is focused on
ordinary desktop users[5]. If you know what an epoch is, it's probably
not for you. The old tool will remain, so panic not. This tool will
just install applications, that-is anything that ships a desktop file
with an icon. Anything else just isn't shown. Sorry! We will hopefully
show groups too, perhaps even the same entries as the "Applications"

The updater will be an improved version of the old package updater,
and anything that's not an application (e.g. PackageKit-libs-devel)
will be under a group (not shown in the screenshot) called "System
infrastructure". If you update an application that depends on a
package from the "System infrastructure" group then it gets pulled in
as a dep. Otherwise you only update the system stuff (e.g. systemd,
dbus, kernel) if you choose to select the "System infrastructure"
metagroup. Of course, you can descend and pick updates in that group
individually like before, if you know what you are doing, but I think
most people will just install the metagroup as one lump.

Also, bear in mind that neither app-install or the application data
packages are in distros just yet. This stuff isn't well tested. The
code may steal *all* your magazines from your bathroom.

Now, I mentioned my ineptitude at designing GUIs. This is where you
come in. I would love you add mockups of what you think an application
installer or application updater should look like to I'm going to ask Máirín
(mizmo on IRC) to help with the design work, so please upload images I
can share with her and the other design people. Thanks!



More information about the devel mailing list