Flow.Launcher.PluginsManifest icon indicating copy to clipboard operation
Flow.Launcher.PluginsManifest copied to clipboard

Re-order plugin entries by downloads count

Open KrystianLesniak opened this issue 2 years ago • 6 comments

Hi there.

As I see, currently Flow Launcher displays plugins in plugin store in the same order as they are present in plugins.json. For small number of plugins it was fine, but right now when a lot of plugins have been created for Flow Launcher a lot of very useful and appreciated by users plugins may be at the end of the list in shadow of plugins created earlier.

My proposed quick and easy solution for this problem is to reorder plugins in plugin.json using downloads_count property exposed by GitHub API: https://api.github.com/repos/{repository_author}/{repository_name}/releases.

Changes in the code will perform:

  1. Send a request to the API
  2. Iterate through records from API and sum downloads_count property
  3. Order items by sum of downloads_count

As we know Flow Launcher is becoming a powerful tool thanks to it's strong community and plugins, this feature will result in much more pleasing user experience, especially for new users:

  • New users will know right away which plugins are widely used and appreciated.
  • Plugin store will be less cluttered with non-widely used plugins as they will be at the end of the list.
  • Better UI experience as you do not have to scroll to the bottom of a large list to find something specific that is popular.

KrystianLesniak avatar Sep 19 '23 07:09 KrystianLesniak

Hey, good suggestion and topic for discussion.

We haven't introduced this intentionally, because haven't quite figured out what type of ordering is fair.

Would ordering by downloads mean that new plugins will miss out being at the top? Will plugins that have been in the store for a while rack up more counts than recent ones?

Would this type of ordering discourage plugin developers of a fair chance if users just gravitate towards the most popular ones?

Let's clarify and discuss before implementing.

@Flow-Launcher/team

jjw24 avatar Sep 21 '23 04:09 jjw24

A good topic for discussion. I think ordering by downloads would be unfair to new plugins, or indeed very good plugins that just have a niche user base. Given we have the search functionality in the plugin store I think sorting alphabetically is the only really fair option (we also have a 'new plugin' section at the top). Perhaps we could sort this way but still show the download count on the plugin card?

deefrawley avatar Sep 21 '23 08:09 deefrawley

Maybe we can add a category called “popular plugins”?

VictoriousRaptor avatar Sep 21 '23 09:09 VictoriousRaptor

As @VictoriousRaptor's suggestion, adding a "popular plugins" category could be a great way to highlight widely used plugins without affecting the default sorting order.

z1nc0r3 avatar Sep 22 '23 19:09 z1nc0r3

Maybe we can add a category called “popular plugins”?

my 2 cents: instead of popular plugins, we can mark certain plugins as featured to indicate that we consider them useful, functional, maintained etc.

In practice:

  • we add a is_featured field to the json file in this repo
  • the app will list featured plugins at the top and shuffle the rest of the plugins

JohnTheGr8 avatar Sep 26 '23 23:09 JohnTheGr8

Just thinking outloud, maybe a full fledged web site where featured plugins can be shown, as well as a range of categories like new comers, hidden gems and etc can be added. We can also have a blog section for any one to write up about their plugin.

Most importantly make it easy for plugin developers to add their page/section to the web site. We can also allow plugin devs to add to their own plugin to the featured plugins section once an entry has elapsed two weeks.

All those won't be easy to add to flow's plugin store. Obviously we still want to keep the plugin store, but this hopefully encourages greater participation.

Raycast extensions page: https://www.raycast.com/store

jjw24 avatar Nov 21 '24 07:11 jjw24