Performance team meeting summary 13 September 2022

Meeting agenda here and the full chat log is available beginning here on Slack.

Announcements

Focus group updates

Images

@adamsilverstein @mikeschroder

GitHub project

  • @adamsilverstein: In the last week the image team finished addressing the WebP feedback and switching back to the original single mime output approach. We also started work on controlling output per size and adding support to add_image_size.
  • @adamsilverstein: Yesterday during contributor dayContributor Day Contributor Days are standalone days, frequently held before or after WordCamps but they can also happen at any time. They are events where people get together to work on various areas of https://make.wordpress.org/ There are many teams that people can participate in, each with a different focus. https://2017.us.wordcamp.org/contributor-day/ https://make.wordpress.org/support/handbook/getting-started/getting-started-at-a-contributor-day/. at WCUS, Matt posted on (not shipping) WebP in 6.1 which was a surprise to the team. We are currently working with the release leads to better understand his concerns and develop a path forward. I want to acknowledge this is a blow for everyone who worked on the feature (myself included) and at the same time I’d like to encourage us to focus on how we can move forward given the current position. Are there concerns we can address? Does a canonical pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party make sense?
    • @spacedmonkey: I think it makes sense to move the webp functionality found in the performance plugin to it’s own plugin. That way it will be easier to get users to test it and get feedback on just this functionality.
    • @flixos90: I think if it remains a “feature project”, it makes sense to remain in the Performance Lab plugin – we don’t know if moving it out of it would get us more testers (especially since the Performance Lab plugin has 10k+ installs which is a lot for a feature pluginFeature Plugin A plugin that was created with the intention of eventually being proposed for inclusion in WordPress Core. See Features as Plugins.). If the path of a “canonical plugin” should be pursued, then of course we would need to take it out, but then the nature of the project would also change.
    • @kadamwhite: Speaking from REST experience, the times we flirted with making add-on plugins to test specific routes, they never got the traction the main plugin did.
    • @adamsilverstein: My main concern about a feature like WebP being in a canonical plugin is how users would know they should enable it.
      • @eatingrules: FWIW, millions of users are finding and installing image optimization plugins in the repo. Smush has over 1 million installs. EWWW Image Optimizer has 1+ million. Imagify has 600k. Shortpixel, 300k. WebP Express, 200k. Robin image optimizer, 100k.
    • @kadamwhite: Something I remember coming up when we initially introduced responsive images was server / cdn costs, because certain configuration could cause higher-res versions to be downloaded. Does WebP’s size benefit translate to any hosting benefit?, in terms of money?
      • @adamsilverstein: with the current implementation yes! lower storage requirements since WebPs are smaller, and lower bandwidth requirements as well, though slightly more processor effort to generate
    • @flixos90: I think this discussion is very valuable, however we won’t be able to make any decision here today since we’re still waiting for more information. Hopefully we’ll know more by next week. We definitely need to continue this discussion once we do.
  • @pbearne worked on https://github.com/WordPress/performance/pull/528 to add a fetchpriority module to the Performance Lab plugin; will be a co-owner of the module
  • @wpgurudev has been working through the feedback and comments on background job class for image regeneration: https://github.com/WordPress/performance/pull/507, this is again up for review; next PR for review will be background process runner https://github.com/WordPress/performance/pull/512, this makes use of job instance, so will be reviewed and merged post the above PR merge

Feedback requested

Object Cache

@tillkruess @spacedmonkey

GitHub project

  • @spacedmonkey got 3 commits into coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. ([54080], [54098], [54099]) and worked on PR #3178
  • @kadamwhite: We’ve been doing some work on sites with very high comment volume around understanding the comment caching in core, because we began to actually see bottlenecks in cache performance with churn from comment cache eviction. Is anybody in this group specifically knowledgable about how WP handles comment caching?

Feedback requested

Site Health

N/A

GitHub project

  • @spacedmonkey: @furi3r has updated draft for new cache Site Health checks dev notedev note Each important change in WordPress Core is documented in a developers note, (usually called dev note). Good dev notes generally include a description of the change, the decision that led to this change, and a description of how developers are supposed to work with that change. Dev notes are published on Make/Core blog during the beta phase of WordPress release cycle. Publishing dev notes is particularly important when plugin/theme authors and WordPress developers need to be aware of those changes.In general, all dev notes are compiled into a Field Guide at the beginning of the release candidate phase., ready for another review

Feedback requested

Measurement

N/A

GitHub project

  • We’re seeking 1-2 POCs for this group; if you’re interested, please comment here or pingPing The act of sending a very small amount of data to an end point. Ping is used in computer science to illicit a response from a target server to test it’s connection. Ping is also a term used by Slack users to @ someone or send them a direct message (DM). Users might say something along the lines of “Ping me when the meeting starts.” in SlackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/.
  • @mehulkaklotar is working on proposal for Plugin Check plugin. Right now, we would include minimal checks in the plugin that is included in the wporg-code-analysis and check the error log for any warnings, notices when plugin activated. I would love to hear suggestions about GithubGitHub GitHub is a website that offers online implementation of git repositories that can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged be the repository owner. https://github.com/ action that we will provide as an action that developers can use into their plugin repo.

Feedback requested

JavaScriptJavaScript JavaScript or JS is an object-oriented computer programming language commonly used to create interactive effects within web browsers. WordPress makes extensive use of JS for a better user experience. While PHP is executed on the server, JS executes within a user’s browser. https://www.javascript.com/.

@aristath @sergiomdgomes

GitHub project

  • @mukesh27 worked on JavaScript coding standard workflow #515. Please review and share feedback.

Feedback requested

Infrastructure

@flixos90

GitHub project

  • N/A

Feedback requested

Open Floor

  • @spacedmonkey: Next steps for Dominant color feature (continued from last week)
    • @pbearne: Are we all happy to merge the theme flag version?
    • @flixos90: I think there were still some open questions and research to do on the perceived performance improvement
    • @spacedmonkey: What are those questions? It comes down to the fact, we can’t move the performance benefit when it comes to metrics. But the benefit is more about what the users sees. That benefit is not an easy one to prove with numbers. It is more like a feeling of speed.
    • @flixos90: Agreed, it’s certainly more challenging to prove anything regarding perceived performance. I don’t know but there is research on how “good” the LQIP perceived performance benefit is – so at least in theory there is something to unpack there for the dominant color perceived performance benefit as well. Maybe it’s a bit of a stretch to have us to UXUX User experience research around that, which may be the only thing we could do in terms of research. At this point, I’m not opposed to it landing in core, but I’m also not sold on it.
    • @spacedmonkey: I consider dominant color like other metaMeta Meta is a term that refers to the inside workings of a group. For us, this is the team that works on internal WordPress sites like WordCamp Central and Make WordPress. data we generate, so why not this? It could be helpful for theme developers.

Our next chat will be held on Tuesday, September 20, 2022 at 15:00 UTC in the #core-performance channel in Slack.

#performance, #performance-chat, #summary