<div dir="ltr">Hello,<br><br>I am really sorry for that. I think I have misunderstood the documentation about the AppStream mailing list. I will use the right list for now on :).<br><br>But about the YAML and XML file, yes, I must definitely think about how the format will look like. I will start to set my environment today for developing to libappstream, and I will begin to verify what should be included on the new metadata format as well. <br><br>Best regards,<br>Lucas Moura</div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, May 3, 2016 at 9:20 PM, Matthias Klumpp <span dir="ltr"><<a href="mailto:matthias@tenstral.net" target="_blank">matthias@tenstral.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">2016-05-03 23:14 GMT+02:00 Lucas Moura <<a href="mailto:lucas.moura128@gmail.com">lucas.moura128@gmail.com</a>>:<br>
> Hello,<br>
><br>
> My name is Lucas Moura and I am Google Summer of Code Student working for<br>
> the Debian project. My summer project is related to AppRecommender, a Debian<br>
> package recommender system:<br>
><br>
> <a href="https://github.com/TCC-AppRecommender/AppRecommender" rel="noreferrer" target="_blank">https://github.com/TCC-AppRecommender/AppRecommender</a><br>
><br>
> This application works by creating an user profile based on the user<br>
> installed packages, this profile is basically the most significant terms on<br>
> all user packages. With this profile built, AppRecommender uses Xapian to<br>
> query for Debian packages and display the closest ones with the query.<br>
><br>
> Currently, this application can only be used via terminal access. However,<br>
> my gsoc project is to change that, and allow AppRecommender to be integrated<br>
> into graphical package managers:<br>
><br>
> <a href="https://wiki.debian.org/SummerOfCode2016/StudentApplications/LucasMoura" rel="noreferrer" target="_blank">https://wiki.debian.org/SummerOfCode2016/StudentApplications/LucasMoura</a><br>
><br>
> I have already discussed about this idea on the PackageKit thread, but since<br>
> this approach is now related to AppStream, It is best to change for the<br>
> appropriate mailing list. The original thread can be seen on:<br>
><br>
> <a href="https://lists.freedesktop.org/archives/packagekit/2016-April/026411.html" rel="noreferrer" target="_blank">https://lists.freedesktop.org/archives/packagekit/2016-April/026411.html</a><br>
><br>
> In that thread, I have proposed the idea of creating a lib that would use<br>
> AppRecommender as a backend application, and the lib would just be an API to<br>
> the application. However, Mr. Matthias Klumpp and Mr. Richard Hughes raised<br>
> some concerns over this approach, specially considering the speed from C ><br>
> python > C translation and the difficulties of maintaining a new library.<br>
><br>
> One proposed approach was to implement the algorithm directly on one of the<br>
> libappstream projects. Although this can be done, I am just afraid of having<br>
> to maintain the same code on different projects.This would be a problem if I<br>
> decide to change one of the recommendation algorithms, since the algorithm<br>
> would need to change on two different places and in two distinct languages.<br>
><br>
> However, upon reading AppStream docs more carefully, I think my original<br>
> approach was really flawed. Now, I think that instead of calling directly<br>
> AppRecommender from the lib, the new function on libappstream would just<br>
> read the content generated by AppRecommender, that should be able to provide<br>
> its recommendations as a valid XML format for AppStream. Therefore, what I<br>
> could add to libappstream is way to manage recommendations. Therefore any<br>
> recommender system that wants to be integrated with AppStream would just<br>
> need to generate a proper recommendation file and place it in an specific<br>
> place, so libappstream can read it and manage it.<br>
<br>
</div></div>That actually sounds like a solid plan :-)<br>
<span class=""><br>
> I think that this approach would not add any new dependencies on<br>
> libappstream. But I would like to ask if that is a good approach to follow,<br>
> or maybe the path is really to implement the recommendation strategies<br>
> directly into libappstream.<br>
<br>
</span>This should work easily, some details would be needed on what the new<br>
metadata YAML or XML format would look like (adding it to the<br>
AppStream data would only work server-side in a safe way).<br>
<br>
Btw, I think you've meant to send this mail to appstream@lists.fd.o,<br>
so I added it to CC.<br>
<br>
Cheers,<br>
    Matthias<br>
</blockquote></div><br></div>