[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

A small tip on user friendliness of apt (fwd)




---------- Forwarded message ----------
Date: Mon, 12 Jul 1999 20:31:16 +0200
From: Jose R. Alvarez <jras@dia.uned.es>
To: hp@pobox.com
Subject: A small tip on user friendliness of apt

Hi,
I was just wandering in the debian lists and I saw your message
in deity list (13 Jun 99) about:
    "New info needed in packages for user-friendliness"
I am not subscribed to the list because there are too much
development messages for me, so I am repling directly to you
but feel free to send the contents of this message that you
consider interesting to the list (or to other lists/people,
maybe "apt UI devel").
 
Your message contains a question that brings my attention:
> 
> Which brings up point #2: gnome-apt (aka GNOME Apt :-) should be able to
> display only end-user applications. i.e. one should be able to browse only
> applications, and have libraries dragged in transparently. There are a few
> other issues involved here (like handling the Auto flag to un-drag the
> libraries once no apps are using them), but a start is to flag
> "interesting to end user" packages somehow. In general this means
> libraries vs. apps but there will be exceptions. The "libs" section isn't
> good enough here; the X11 section, which we're especially concerned about, 
> contains all kinds of libraries and other non-app packages.
> 

I thought about that some time ago.
If you thing on the dependency relations (depend, recommend, suggest,
conflict, etc) as a big (really big) graph of relations between nodes
then you can have a viewer for each node (like an HTML page) with 
links to view other nodes following the relations of different 
type, i.e. a list of links to packages that the one you view depends on.
The key point is to consider also the REVERSE links, i.e. a list
of links to packages that the one you view is "depended from".

I mean:
       if     A  depends on B  (A needs B)
       then   B is needed by A 

       if     A  recommends B 
       then   B  is recommended by A

This is usefull because usually (in the example above) 
A will be an application an B will be a library (simplified)
and this relation can be chained (if  B depends on C , etc.)
but if you search for the packages that have the list of
links "is needed by" empty, you are probably finding the
packages that are "applications" or similar to that.
The same could be applied to the other relations (recommend, and
less to suggest).

The way to implement this can be based on the present format and
fields of Packages without modification, because it is usefull 
only to the user (in selection) not to the apt.
you only need to create a list of packages with fields for
reverse relations lists. To fill in the list of reverse relations
you look though all the Packages file adding the relations in the
corresponding field of your additional file (or a structure in 
memory).

Then it could be nice to offer the user first the packages that
are not needed by other packages, so they could be probably 
applications (or virtual "task packages") and order the package by
the number of packages that need it, recomend it, etc.

In gnome-apt this could appear as an option to the order 
criterium in the tree. And also to show the reverse relations
in the "Related" pane and in the tree...

By the way, gnome-apt is an important tool to make our life easier,
thaks very much for your great effort.

Best regards,
          Jose R.

,.........................................,.........................,
: Jose R.   Alvarez Sanchez               : Email: jras@dia.uned.es :
: Dpto. de Inteligencia Artificial        : Tel:  (+34) 91-398-7199 :
: Universidad N. de Educacion a Distancia : Fax:  (+34) 91-398-6697 :
: Senda del Rey, s/n.                     : --$[0,+oo)@!&>#%{}*\/^_=:
: E-28040 Madrid           SPAIN       http://www.dia.uned.es/~jras :
'.........................................:.........................'
   Simple things are easier, you don't need to trouble your life.


Reply to: