Needs : there are many many packages. We want the user not to be lost in all those packages, and if possible show the most sensible results first when browsing or querying the database.
The main question we want to answer here is : how do we want to display search results or browsing results, so that the user is not overwhelmed but still gets the information ?
Feel free to experiment with ideas. Just add new sections or new pages linked from this page
Simple plan : applications vs other packages¶
An application is just a special kind of package. A package is either an application or isn't.
In this simple view, desktop environments, CLI packages, GUI packages, are all seen as applications.Here is what we do for now : applications are packages which :
- do not begin with "lib"
- do not begin with "locales-"
- do not end with "-devel"
- do not end with "-debug"
- use dependencies (no package depends on an application, except for some meta-packages)
- see how rpmdrake differentiates GUI applications from other packages
- use a blacklist and a white list to override from the above rules, and let some contributors manage the lists.
Other ideas ?
Other (complementary plan) : use package popularity to sort results¶
Even when a request gives many packages which all got the "application" flag, sorting by package popularity (provided we have a way to measure it) can help to show the most sensible results first. It's a bit like Google's pagerank system.
Prospective studies :¶
GUI applications vs others¶
In rpmdrake, there's a filter, which works quite well : GUI applications only.
[22:34] <Stormi> Does someone know how the "show only GUI packages" filter in rpmdrake works ? [22:34] <Stormi> based on what package information ? [22:43] <boklm> Stormi: it looks at /usr/share/rpmdrake/gui.lst [22:43] <boklm> and gui.lst is generated with this command : [22:43] <boklm> urpmf "/(opt/kde|usr)/share/((applnk|applications(|/kde)|apps/kicker/applets)/|kde4/services/plasma-applet).*.desktop" |sed -e 's!:.*!!') \ [22:43] <boklm> | sort | uniq > gui.lst
See rpmdrake's makefile : http://svn.mandriva.com/cgi-bin/viewvc.cgi/soft/rpmdrake/trunk/Makefile?view=markup
Roughly, GUI applications seem to be those who have menu entries (so have .desktop files)
It would be interesting to have this filter in mageia-app-db
Group similar packages together¶
See : GroupSimilarPackages
Separate into more categories¶
- GUI applications
- CLI applications
- server packages
- desktop environments / window managers
- kernels and drivers
- core system components
This can a bit redundant with package groups, but not totally.
It's really hard to categorize easily