[packagekit] [GSOC] Recommender Systems

Lucas Moura lucas.moura128 at gmail.com
Tue Apr 26 19:42:48 UTC 2016

Hello Mr. Matthias,

No worries about that email, but let me answer some of the questions.
Currently, AppRecommender only works for Debian and Ubuntu distros because
the data it uses to create an user profile is dependent on the .deb package
format, specially on the control file of a debian package, since it uses
info such as the package section, description and debtags.

About app-install-data, it is ancient indeed. AppRecommender was originally
thought as an online project and used the application to provide
screenshots of some application, but when I started working on it, we have
decided to run it only locally and via terminal, because of some user
privacy issues we would like to avoid, since the online approach required
the user a list containing all of the installed packages to the server. So
we are no longer using app-install-data on the project, but I just realized
I have forgot to remove it from the Readme file, but I will fix this right
away and thanks for pointing it out :)

Now, considering PackageKit, yes it makes sense that it would be difficult
to make AppRecommender work on it, specially considering the fact that this
application is not cross-platform. But the C/C++ library seems like a
really good option. AppRecommender is currently a python application, but
creating an C/C++ API for it would be a fun thing to do. I will speak with
my mentors about this idea and I will answer you back once he answer it.

Thanks so much for the answer and support.

Best regards,
Lucas Moura

On Tue, Apr 26, 2016 at 4:14 PM, Matthias Klumpp <matthias at tenstral.net>

> 2016-04-26 20:51 GMT+02:00 Lucas Moura <lucas.moura128 at gmail.com>:
> > Hello,
> >
> > My name is Lucas Moura and I am Google Summer of Code Student working for
> > the Debian project. My summer project is related to AppRecommender, a
> Debian
> > package recommender system:
> >
> > https://github.com/TCC-AppRecommender/AppRecommender
> >
> > This application works by creating an user profile based on the user
> > installed packages, this profile is basically the most significant terms
> on
> > all user packages. With this profile built, AppRecommender uses Xapian to
> > query for Debian packages and display the closest ones with the query.
> Hi there!
> First of all, sorry for not-replying to your initial mail you sent
> about a month ago.... I read it on a train and then it completely
> vanished from my head afterwards, since there was so much stuff going
> on... This was my fault, but next time feel free to send a reminder
> email in such cases :-)
> Anyway, I'm glad you got into this year's GSoC!
> > Currently, this application can only be used via terminal access.
> However,
> > my gsoc project is to change that, and allow AppRecommender to be
> integrated
> > into graphical package managers:
> >
> > https://wiki.debian.org/SummerOfCode2016/StudentApplications/LucasMoura
> >
> > I originally thought about integrating it with PackageKit, since this
> would
> > allow some famous graphical package managers to actually show the
> > recommendations, such as Gnome-software.
> >
> > However, since AppRecommender only works for Debian and Ubuntu distros, I
> > would like to ask what would be the best approach to integrate
> > AppRecommender with PackageKit and the opinion of the application
> > maintainers with this idea.
> First of all, that tool should get off app-install-data and use
> AppStream instead ;-) The app-install-data stuff is ancient and is no
> longer maintained or even updated, while AppStream is the new shiny
> thing (I am obviously biased as AppStream maintainer, but you can
> trust me on that).
> Is there *any* reason why this just works on Debian/Ubuntu? I haven't
> looked at the code yet, but I can't think of any reason at time why
> this feature should be restricted to the Debian world.
> Adding it to PackageKit is something which will be very hard, since PK
> has a different, package-centric scope and I am not sure if Richard
> wants new API added to the core for this feature (which you would
> highly likely need, since no plugins are supported anymore).
> Adding a feature like this to the AppStream libraries, however, would
> be most welcome! We even discussed about this at the GNOME Software
> hackfest. The problem there is that we would need this feature as a
> nice C library, or need it to be added to one of the existing C
> libraries.
> Richard is maintaining libappstream-glib[1], which is mainly used by
> GNOME Software and contains lots of helper routines GS needs. I
> maintain libappstream, which is used by some web-stores, Elementary
> and KDE for their AppStream stuff. The libappstream library also uses
> a Xapian database internally.
> I could definitely imagine adding API to libappstream to support a
> "suggest me apps I would like to use" feature, but a precondition
> would be that this feature is available on more distributions, ideally
> all.
> As a last option, you could always create your own C/C++ library, and
> we could add a vendor-specific plugin for this feature to GNOME
> Software and KDE Discover.
> I'll read a bit more about your project, at time I can't make any
> recommendation on what is best (I can only say for sure that PK is
> likely not the right place for this).
> Cheers,
>     Matthias
> [1]: https://github.com/hughsie/appstream-glib
> [2]: https://github.com/ximion/appstream
> --
> Debian Developer | Freedesktop-Developer
> I welcome VSRE emails. See http://vsre.info/
> _______________________________________________
> PackageKit mailing list
> PackageKit at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/packagekit
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/packagekit/attachments/20160426/d3b491b3/attachment.html>

More information about the PackageKit mailing list