Suggestion

Ian Wadham iandw.au at gmail.com
Tue May 28 17:08:20 PDT 2013


On 29/05/2013, at 6:36 AM, Chris Jones wrote:
> What would help users i think would be to have a much better search/browsing interface, to allow them to browse available ports.

Yes indeed.  It is hard to see the wood for the trees.  I did some investigation on this
recently with a view to designing a search facility in a GUI app for Macports.

Firstly, there are nearly 17,000 ports and the distribution is quite skewed.

For example, more than 10,000 of the ports have names beginning with the letter "p",
because so many ports are written in Python, Perl or PHP and even in specific versions
of same (names like py27*, py26*, etc.).

In among that 10,000 is a legion of specific functionality of different kinds, but how do
you find it, unless you already know the name or were recommended to it by a friend?

Macports has categories but IMHO they are not always rigorously applied and
re-cataloging thousands of ports is a huge exercise.  Also some categories are quite
broad, which limits their usefulness in searching (e.g. the "science", "math" and
"games" categories).

I looked also at extracting a list of "top-level" ports.  A large proportion of ports are
dependencies of something else.  However, those that are not dependencies of anything
else are (to me) a surprising proportion of the total --- about 30 to 40% IIRC.  In among those
thousands of "top-level" ports are major packages such as Inkscape and "toys" such as 2Pong.

In the end, I found the most powerful "simple" search was much like port's own search
command, i.e. look for a substring anywhere in Name, Description or Full Description.

If I picked a fairly specific string, such as "quantum" or "jigsaw", I got quite good
results, as long as I searched the Full Description as well as the Description (which
apparently "port search" does not do by default).

Beyond this, I am looking at complex searches involving predicates (Cocoa NSPredicate),
such as "all KDE apps but excluding translation packages for languages other than English",
but it is not easy to come up with simple user interfaces.

More ideas on searching anyone?

All the best, Ian W.




More information about the macports-users mailing list