Fdroid search algorithm performance

Be the next play store. Make fdroid a behemoth on search algorithm performance.
Google performs on its search results. Because Google’s search algorithm performs on:

  • Ranking by app downloads
  • Search query content cluster, based on:
    • Android app keyword metadata
    • Implicit engagement

We don’t have these numbers as we don’t track users


app downloads

Not even a count? Not a count by user.

See News maybe? Dunno

I don’t know about existing examples of analyzing engagement and keyword metadata of the play store. Each app contains metadata, which can be extracted by use of A.I., to form keywords. Each user engages with an app store. Implicit engagement is not directly expressed. Things like download history, likes, ratings, etc., are explicit. The majority of engagement is implicit. For example, because I know things about youtube’s algorithm (I know, YouTube ain’t an app store. Nonetheless, just like an app store, a video platform too analyzes content, and just like an app, a video too is content, and has users engaging, mostly implicit), one thing YouTube analyzes as implicit engagement, is how far someone scrolls over a thumbnail. This is an example of implicit engagement.
As I said, I don’t know what implicit engagement and keyword metadata the play store analyzes.

On the topic of analyzing app downloads, you can start tracking users’ app downloads. Just like fdroid can track engagement and keyword metadata.

The whole point of F-Droid is that it does not track you. If you want a store that tracks you, just use Google Play.


I wasn’t talking about what I want. I said for fdroid to be the next play store. It’s up to the fdroid devs to decide on what they want with fdroid. I only tell what will make them as big as the play store. If fdroid devs say no, then fdroid will never be as big as play store. Fdroid devs can always decide to get as big as play store. If they ever do, then they already know how to get the UX right to get as big as play store.

Hi there, we have some funding to improve search results. And someone actually is working on it already. However AFIAK it will work quite a bit different from what you’re suggesting. Due to our software architecture and the declared goal to make F-Droid work in a truly decentralized way, search will have to work entirely client side. This has some limitations, but also advantages centralized systems can’t deliver. High performance and good quality search results are technically feasible, right now it’s mostly a matter of resources and priorities.


I wonder (it’s really just me wondering. I don’t have any intention telling what desires you, or any of the (other) devs, prioritize), what is it fdroid prioritizes? If fdroid prioritizes decentralization, why does that mean fdroid cannot deliver the same performances as play store does? Is it possible to have an underlying blockchain, with a centralized host on top? Lbry & odysee work that way. Such system, of connecting a blockchain with a centralized host, delivers two things:

  • UX (algorithm) performance (which makes it appeal to all users)
  • Censorship resistant

If, however, what fdroid figures, is to make fdroid’s front-end, including the search results, decentralized, then you have to sacrifice performance, because p2p is nothing but a chain. It’s static. It’s passive. You need something active, such as A.I., to make for the same performance as play store.

Don’t take this as criticism. Instead, it’s feedback.

I think very bare “analytics” would 80/20 us most of the way there without any real compromises

When I search for an app I’d like to have some simple heuristic of what other people like so I can look at those first, and the one I’m looking for is probably one of the most popular anyway. As is I rely mostly on word of mouth and doing internet searches on the results I get

Incrementing a counter when someone downloads can’t really be called tracking since there’s no “data” stored and a request for it already has to be made to some server. A number is just a number, it doesn’t have history or records

We could also have a :heart: button. It’s 100% optional and explicit so there’s no real possible objection to it in terms of privacy

Actually implementing either of these in a way that preserves privacy and prevents spam is a little more complicated though. A strategy I’ve used is hashing user IPs with a salt either generated at run-time or stored on an in-memory FS like /dev/shm to work between runs but not system restarts which makes it impossible to identify anyone

Is word of mouth and internet searches really that bad though? You’d rather take the metric of ‘most downloaded’ and assume that means ‘good’?

More people using it means more mouths are spreading the word. Search results are ranked by popularity. Posts on sites from those results are ranked by popularity. Integrating it into the app just makes it much easier to use

It’s not a direct measure of goodness, we all know that, but it’s a useful heuristic

I’m unconvinced that popular is equivalent to good. But if you’re interested in a system where people can collect opinions on apps, why not use G-Droid?

Didn’t know that was an option, thank you :slight_smile:

Their idea of using upstream metadata is interesting, though I don’t like the idea of encouraging people to use Github for their repos since they’ll get more stars there. I like the categories and comments, interesting features but some limitations, not even a dark theme

People don’t have to use Github. – ar-projects

And anyway, any sufficiently motivated dev could easily stuff stars, downloads, or many other metrics, to inflate their popularity.

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.