WordPress.org

Make WordPress Core

Opened 4 years ago

Closed 4 years ago

#30337 closed task (blessed) (fixed)

Recommended plugins to replace Popular plugins tab

Reported by: tellyworth Owned by: azaozz
Milestone: 4.1 Priority: normal
Severity: normal Version: 4.1
Component: Plugins Keywords: has-patch commit fixed-major
Focuses: Cc:

Description (last modified by tellyworth)

If you look at the Plugins / Add New / Popular tab with 4.1, you should see a different set of results than before.

I've committed a change to the API side that replaces the old results with a new, tailored list of plugins that takes into account the plugins you already have installed. The results are based on data about plugins that are commonly used together. It's similar to an online store's "people who bought this also bought.." feature.

Unlike the old list, the new results should exclude plugins you already have installed.

Testing is needed to look for problems in edge cases.

The new results are shown on the Popular tab now, but that doesn't have to be its final home. Potentially this could replace the Featured tab, or become a new tab by itself.

Right now, no patch is needed to see the new results. If it's to move to a new tab, then a core patch will be required.

Note that the results will be improved over time, as new data becomes available and as we improve the algorithm.

Attachments (2)

30337-add-recommended-tab.diff (1.9 KB) - added by tellyworth 4 years ago.
Move Recommended results to a separate tab
Screenshot 2014-12-16 13.16.38.png (46.2 KB) - added by johnbillion 4 years ago.

Download all attachments as: .zip

Change History (40)

#1 @tellyworth
4 years ago

  • Description modified (diff)

#2 @nacin
4 years ago

  • Milestone set to 4.1

#3 @johnbillion
4 years ago

  • Type changed from enhancement to task (blessed)

#4 @tellyworth
4 years ago

Here's a crude plugin that lets you view the recommended plugins alongside the old popular plugins list for comparison:

https://github.com/tellyworth/recommender-test

The list of plugin slugs used as context for recommendations is shown in a textbox. You can edit that list by hand to see how the recommendations would change with a different list.

If you do see strange recommendations, it would be very helpful to post the list of slugs here, so it can be reproduced.

This ticket was mentioned in Slack in #core by johnbillion. View the logs.


4 years ago

This ticket was mentioned in Slack in #core by mark. View the logs.


4 years ago

#7 @jeffr0
4 years ago

Since this is a change to the API and no patch is needed, do I specifically need to run WordPress 4.1 to see the change?

Disregard, I see that I needed to use WordPress 4.1 beta 2 to see the changes.

Last edited 4 years ago by jeffr0 (previous) (diff)

This ticket was mentioned in Slack in #core by jeffr0. View the logs.


4 years ago

#9 @jeffr0
4 years ago

Ok, I'm testing this out and on my test install which has over 20 plugins, I was recommended an 8 year old plugin. https://wordpress.org/plugins/admin-ip-watcher/ In fact, several of the plugins near the bottom of the list were between 3-8 years old.

Maybe the recommendations could detect the last updated text and not recommend plugins that haven't been updated in 3 years or more?

Last edited 4 years ago by jeffr0 (previous) (diff)

This ticket was mentioned in Slack in #core by tellyworth. View the logs.


4 years ago

#11 @senlin
4 years ago

Adding to @jeffr0's comment I thinks this feature needs some severe testing before rolling it out. Perhaps wait until a later version. I only have a few plugins installed on my test install and I am receiving recommendations that are a. completely irrelevant and b. most of them 3-8 years old so by definition incompatible. The list is too long to write all down, so I have opted for a screenshot instead: https://www.evernote.com/shard/s19/sh/f9dc317e-33b5-437f-ba4a-86b8bf5afdb3/c46f5ede683e7b9e1ab09bcdecbc2aaa/deep/0/recommended-plugins.png

@tellyworth
4 years ago

Move Recommended results to a separate tab

#12 @tellyworth
4 years ago

The patch I just added moves the recommender results to a separate tab. I've also changed the API side to work with this - you'll no longer see recommended plugins at all without the core patch applied.

I'll update the test plugin shortly.

I'm looking into the quality issues. Note that result quality can be improved on the API side without needing core changes, so we can tweak them post-launch. I expect that will be an ongoing process.

#13 @johnbillion
4 years ago

  • Version trunk deleted

#14 @azaozz
4 years ago

  • Owner set to azaozz
  • Resolution set to fixed
  • Status changed from new to closed

In 30782:

Plugins: move the recommender results to a separate tab. Any outstanding quality issues will be fixed on the API side without needing core changes. Props tellyworth, fixes #30337.

#15 @morganestes
4 years ago

Here are some alternatives to @nacin's suggestion in #core chat today:

"These plugins are recommended for you based on what others have installed along with them." "Other users also use these plugins in addition to the ones you have installed:" "Other users have also installed these plugins along with the ones you have:"

Last edited 4 years ago by morganestes (previous) (diff)

#16 @jorbin
4 years ago

Here are some more alternatives:

"Recommendations are based upon the plugins you have installed and that similar WordPress sites have chosen" "WordPress sites that have your plugins installed also chose these plugins"

This ticket was mentioned in Slack in #core by jorbin. View the logs.


4 years ago

#18 follow-up: @stevegrunwell
4 years ago

Additional suggestions (were also mentioned in Slack):

"These plugins are recommended for you based on similar WordPress sites:" "These plugins may be of interest to you based on the plugins you already have installed:" "Based on your current site, you might be interested in:" "WordPress sites similar to yours often install:" "Based on the plugins you're already using, you might like:" "WordPress sites that use the same plugins as you also use:" "These plugin recommendations are based on what other similar WordPress users have installed:"

#19 @SergeyBiryukov
4 years ago

  • Resolution fixed deleted
  • Status changed from closed to reopened

#20 in reply to: ↑ 18 ; follow-up: @SergeyBiryukov
4 years ago

Replying to stevegrunwell:

"WordPress sites similar to yours often install:"

I think most users want their site to be unique, and wouldn't like the idea that there are similar sites :)

#21 @charlestonsw
4 years ago

For Testing

Have the docs pages been built for how this is intended to work? I have 4 WP directory plugins installed/active and 14 premium plugins (non WP directory) installed/active. My Recommended Tab is an exact duplicate of the Featured Tab in this situation.

What is the feature querying to recommend plugins? What are the filters used to par down the list?

User Feedback

From a user perspective having 2 tabs with identical content "feels broken".

#22 follow-up: @ocean90
4 years ago

@tellyworth With these plugins I'm getting the popular/fallback plugin list. I would expect some more debug plugins.

["installed_plugins"]=>
  array(8) {
    [0]=>
    string(9) "debug-bar"
    [1]=>
    string(17) "debug-bar-console"
    [2]=>
    string(20) "debug-bar-transients"
    [3]=>
    string(9) "edit-flow"
    [4]=>
    string(19) "public-post-preview"
    [5]=>
    string(11) "theme-check"
    [6]=>
    string(16) "tinymce-advanced"
    [7]=>
    string(14) "user-switching"
  }

#23 in reply to: ↑ 20 @stevegrunwell
4 years ago

Replying to SergeyBiryukov:

I think most users want their site to be unique, and wouldn't like the idea that there are similar sites :)

Good point. People actually looking for suggestions would hopefully be less likely to get upset about being reminded that they're one of millions of WordPress sites, but it could come across the wrong way for the special, unique snowflakes out there in WordPress Land.

#24 in reply to: ↑ 22 ; follow-up: @tellyworth
4 years ago

Replying to ocean90:

@tellyworth With these plugins I'm getting the popular/fallback plugin list. I would expect some more debug plugins.

Are you seeing a different list now? I fixed a problem on the API side where it only returned recommended results if the WP version string matched "4.1". If it was different for some reason that would've produced the results you saw.

I've also done some better filtering of the data set to eliminate ancient plugins. I'll probably make that stricter still tomorrow.

#25 @azaozz
4 years ago

I see a different list and no old plugins on my test install (4.2-alpha).

Last edited 4 years ago by azaozz (previous) (diff)

#26 in reply to: ↑ 24 @ocean90
4 years ago

Replying to tellyworth:

Are you seeing a different list now?

Yes, looks good.

#27 follow-ups: @senlin
4 years ago

Could it be an idea not to show plugins that are not "tested up to" the current version? Why would we want users to start installing plugins that might not even be compatible?

#28 in reply to: ↑ 27 ; follow-up: @johnbillion
4 years ago

Replying to senlin:

Could it be an idea not to show plugins that are not "tested up to" the current version? Why would we want users to start installing plugins that might not even be compatible?

The problem with that is that many plugins don't update their "Tested up to" version, even though they work. This field is more of a guideline than anything else.

#29 in reply to: ↑ 28 ; follow-up: @senlin
4 years ago

Replying to johnbillion:

The problem with that is that many plugins don't update their "Tested up to" version, even though they work. This field is more of a guideline than anything else.

The problem is that many plugin authors cannot be bothered changing 1 or 2 digits in their readme.txt file and upload that to the repo. Even though they get a personalised email to ask them to do just that.

Let that be an additional drive incentive for plugin authors to do that then; that is updating the readme.txt file to show that the plugin is tested up to the newest version.

Why would we accommodate "lazy" plugin developers (those who cannot be bothered updating the readme.txt file) and give the responsibility to the (beginning) user, having to gamble whether or not a plugin works or doesn't really work?

I have been updating my plugins today, no big deal.

Last edited 4 years ago by senlin (previous) (diff)

#30 in reply to: ↑ 29 ; follow-up: @johnbillion
4 years ago

Why would we accommodate "lazy" plugin developers (those who cannot be bothered updating the readme.txt file)

It's not about being lazy. In the real world, many plugin authors have jobs and families and hobbies that don't involve following core development.

We don't gain anything from enforcing the "Tested up to" version number. The whole point of it is to indicate that the author of the plugin has actually tested the plugin up to that version. If we start enforcing it then authors who don't have the time to test their plugin immediately prior to or after a WordPress release will bump the version without doing any testing, which renders the field useless. We want them actually testing their plugins.

#31 in reply to: ↑ 30 @senlin
4 years ago

Replying to johnbillion:

Why would we accommodate "lazy" plugin developers (those who cannot be bothered updating the readme.txt file)

It's not about being lazy.

Hence the double quotes around the word lazy...

#32 in reply to: ↑ 27 ; follow-up: @tellyworth
4 years ago

Replying to senlin:

Could it be an idea not to show plugins that are not "tested up to" the current version? Why would we want users to start installing plugins that might not even be compatible?

If we make it too strict we run the risk of showing very few plugins, perhaps none. Especially around the time of a new WP release. And as John says, it would encourage plugin devs to bump the version without actually testing it thoroughly.

I think it's reasonable to use a threshold that's 2 or 3 WP versions back, as long as it's clear to the user which of those are tested for their WP version. Which is exactly what the Recommender tab is doing now. A plugin that's tested up to 3.9 or 4.0 is very likely to work perfectly in 4.1.

That should probably also apply to Popular and search as well, so it's a bigger issue than just this ticket. Longer term, we should probably incorporate additional data such as the number of active installs in each WP version to determine plugin compatibility.

I'm experimenting with exactly what the thresholds ought to be. As of midnight UTC (about 3 hours after this comment) it'll flip over to a stricter dataset that requires a Tested Up To version of > 3.9.

#33 in reply to: ↑ 32 @senlin
4 years ago

Replying to tellyworth:

As of midnight UTC (about 3 hours after this comment) it'll flip over to a stricter dataset that requires a Tested Up To version of > 3.9.

I think that is a very good solution.

#34 @nacin
4 years ago

  • Resolution set to fixed
  • Status changed from reopened to closed

In 30889:

Update/add plugin recommendation strings.

Update [30887], add a translation function to the Vine string.

fixes #30337. see #30435.

#35 @pavelevap
4 years ago

Also this should go into 4.1?

#36 @ocean90
4 years ago

  • Keywords has-patch commit fixed-major added
  • Resolution fixed deleted
  • Status changed from closed to reopened
  • Version set to trunk

#37 @johnbillion
4 years ago

The position of this message is a bit weak. Let's see if we can improve it in 4.2.

#38 @johnbillion
4 years ago

  • Resolution set to fixed
  • Status changed from reopened to closed

In 30898:

Update/add plugin recommendation strings.

Update [30887], add a translation function to the Vine string.

Merges [30889] to the 4.1 branch.

Fixes #30337.

Note: See TracTickets for help on using tickets.