Performance team meeting summary 12 April 2022

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

Focus group updates

Announcements

@shetheliving

Images

@adamsilverstein @mikeschroder

GitHub project

Feedback requested

Object Cache

@tillkruess @spacedmonkey

GitHub project

Feedback requested

Site Health

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 Slack
  • @furi3r: Looking for feedback on PR for Add Site Health test for full page caching (advanced cache) #220
  • @furi3r: Not directly related to Site Health, but also working on adding preload support to coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. in Add support for preload links (similar to resource hints) #42438; there’s a related issue for Performance Lab: Preload resources #31. Looking for review.

Feedback requested

Measurement

@wp-source @josephscott

GitHub project

  • No updates

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

  • No updates

Feedback requested

Infrastructure

@flixos90

GitHub project

Feedback requested

Open floor

  • @mitogh: We have a lot of issues labeled as Needs Discussion that haven’t been moving. What can we do to move those forward and prevent a big backlog? Recommend using a priority base system on labels similar to the ones used on issues and use this time to discuss next steps or if issues should be closed because they’re not relevant at this time.
  • @khoipro: Do we have concerns about mobile vs. desktop caching?
    • @mitogh: Full HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. caching or something else?
    • @khoipro: Object caching. I’m using Total Cache and it lost a deal with different breakpoints if using PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher to test a device agent, but Swift Performance supports it.
    • @mitogh: The user agent can be used as part of the key for the cache in order to invalidate cache when a different agent is used. This issue seems related to how the 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 manages their keys.

Help wanted

#core-js, #core-media, #performance, #performance-chat, #summary

Performance team meeting summary 5 April 2022

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

Focus group updates

Announcements

@shetheliving

Object Cache

@tillkruess @spacedmonkey

GitHub project

Feedback requested

Site Health

N/A

GitHub project

Feedback requested

Measurement

@wp-source @josephscott

GitHub project

  • No updates

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

Feedback requested

Infrastructure

@flixos90

GitHub project

Feedback requested

Images

@adamsilverstein @mikeschroder

GitHub project

Enabling webP by default discussion

@adamsilverstein

  • There has been quite a bit of feedback on the proposal to Enable WebP by default in core
  • Originally proposed in the WP 5.8 WebP support post in June 2021 and implemented in the Modern Images plugin for testing in July 2021, then merged into the Performance Lab 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 in December 2021
  • This approach is gaining popularity because WebP is becoming so widely popular – Wix and Shopify are both moving in this direction
  • Original feature focused on replacing JPEG subsize output with WebP output; during dev, it became clear that adding WebP as a second type was safer and more backwards compatible
  • This approach is a trade off that favors backwards compatibility over storage space or number of files
  • The important criticisms shared in the comments on the proposal were (in order of number of times mentioned):
    • There should be controls (toggle) for the feature under Settings->Media
    • Adding an additional sizes to image generation will consume too much disk space, causing sites or backups to fail or increase storage cost
    • WebP problems: not supported everywhere (email clients, RSS readers, lazy loading), enabling by default will cause problems (for example saving images from site), AVIF or MozJPEG is better
    • The feature should default to off, or default to off for existing sites
  • Given this feedback, here are the options that we want to consider moving forward:
    • Add controls in Settings->Media – most popular request. What should this look like?
      • A simple, single toggle: “Enable modern image formats” (?)
      • Plugin for full controls: source mime -> output mimes mapping, output preference
      • Should we include an option for “only modern formats”?
    • Change the default behavior – second most popular request:
      • Disabled by default for existing sites (opt in)
      • Enabled by default for new sites (opt out)
      • Consider enabling by default for all sites in WordPress 6.1 (opt out)
  • @loop9: This should not be a forced change or require a filterFilter Filters are one of the two types of Hooks https://codex.wordpress.org/Plugin_API/Hooks. They provide a way for functions to modify data of other functions. They are the counterpart to Actions. Unlike Actions, filters are meant to work in an isolated manner, and should never have side effects such as affecting global variables and output. to opt-out. It should be opt-in with a simple toggle to opt in.
  • @eatingrules: There needs to be explanation alognside the controls, as well, to explain the pros/cons
  • @jb510: Add a toggle; WebP could be on by default for new installs, but not existing
    • @eatingrules: That’s just kicking the can down the road for space/inodes issues
    • @jb510: Difference on new installs is that storage requirements would grow over time with uploaded images
    • @eatingrules: Yes, but still doubling down on technical debt
  • @OllieJones: If enabled, viewing/downloads should not be made the default until a bulletproof <picture> <source> way of generating images is also available
  • @dainemawer: If you choose to go with WebP, storage issues will always be a possibility, so how does a toggle solve this?
    • @adamsilverstein: Good point, it would help if there was an option to only generate WebP
    • @dainemawer: Yes, and the very existence of add_image_size is more of an argument about storage than a change in format
  • @eatingrules: Another concern: WebP is not always smaller than JPG
  • @jb510: We ought to be focusing first on eliminating the needless creation of thumbnails, but that’s out of scope here
    • @eatingrules: May be out of scope, but should be fixed before this doubling of images happens
    • @adamsilverstein: See https://github.com/WordPress/performance/issues/14
  • @blogaid: Why is fixing the thumbnails issue out of scope here? That is the greatest concern with the WebP generation of more images. It should be addressed to further cut down on image bloat.
    • @jb510: This is about supporting WebP in coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.. The thumbnails issue is regardless of media type, so that ought to be its own topic
    • @blogaid: But it needs to be addressed before adding WebP images
    • @loop9: Opt-in movement is being pushed aside and it seems like it’s not even being considered
  • @flixos90: The storage problem only happens because we are generating WebP and JPEG subsizes. The original proposal was to only generate WebP subsizes, which would reduce necessary storage. How commonly would a site still need to use JPEG versions? Do we really need to do this?
  • @adamsilverstein: One idea was to generate only WebP except for “full” size images, which could be in both WebP and JPEG
  • @eatingrules: One issue that has surfaced for us in the past is when site owners do a right-click > Save As, WebP causes significant confusion and problems
    • @flixos90: Fair point, but not a WebP issue only
    • @eatingrules: Yes, but will still be an issue until a format 100% replaces JPEG
  • @adamsilverstein: Having some kind of control in settings would alleviate most concerns, but what exactly would that look like?
    • @zero4281: Agreed that most of this could be handled by limiting controls
  • @eatingrules: This should be 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. and not in core. Would love to see this as an easy-to-use, more compatible plugin that optimizes images.
  • @blogaid: Need to reevaluate if this feature is needed at all instead of spending more time fixing it. Where is the documentation that shows that the majority of site owners want this feature and how many sites it may harm?
  • @flixos90: We need to be careful to not interpret comments as a vote. It’s natural that concerns are more likely to be raised than agreement. We want to see concerns addressed, but want to talk about concerns instead of just “people don’t want it in core”
  • @loop9: Zero thought seems to be going to those who care more about quality vs. actual speed, like photographers
    • @dainemawer: There is no degradation of quality with WebP
  • @seedsca: This will cause compatibility issues across several use cases, vote not to implement
  • @blogaid: Would instead like to see MozJPEG supported all the way through thumbnails so that they also have progressive load and a modern format
  • @eatingrules: The discussion here should be whether or not this should be in core in the first place. Has that already happened?
    • @jb510: Yes, there’s a large consensus and this discussion is about how best to move to modern file types in WP
  • @flixos90: There are three focuses that we need to keep in mind: 1. most backward compatibility, 2. best performance, and 3. least filesystem storage
  • @seedsca: This plugin isn’t even out of betaBeta A pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process. yet; why are we talking about merging this into core?
    • @jb510: This is the point of the plugin
    • @eatingrules: 6.0 is coming up soon and there hasn’t been any time to test
    • @flixos90: The plugin’s version is solely for infrastructure testing, not the feature itself
  • @spacedmonkey: Maybe we should not put this in 6.0 and give the community and hosting companies time to test the performance plugin for awhile. It could be a headline feature in 6.1.
    • @eatingrules: Yes, my personal issue is partly because of the speed at which this is moving

Feedback requested

Help wanted

#core-js, #core-media, #performance, #performance-chat, #summary

Performance team meeting summary 29 March 2022

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

Focus group updates

Announcements

@shetheliving

  • @flixos90: BetaBeta A pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process. release schedule update

Images

@adamsilverstein @mikeschroder

GitHub project

Feedback requested

Object Cache

@tillkruess @spacedmonkey

GitHub project

Feedback requested

Site Health

N/A

GitHub project

Feedback requested

Measurement

@wp-source @josephscott

GitHub project

  • No updates

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

Feedback requested

Infrastructure

@flixos90

GitHub project

Feedback requested

Open Floor

  • @thelovekesh: After adding Partytown, JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. tests are failing and giving the error Error: Cannot find module `prettier`. When I update @wordpress/scripts to the latest version, tests work. Should I raise a PR?

Help wanted

#core-js, #core-media, #performance, #performance-chat, #summary

Performance team meeting summary 22 March 2022

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

Focus group updates

Announcements

@shetheliving

  • Meeting time change
    • Beginning next week (Tuesday, March 29), meeting time will shift to 15:00 UTC, one hour earlier than our previous time of 16:00 UTC
    • This is to keep the meeting at a more appropriate time for people in Europe and lessen the impact of biannual time changes in the US
  • Released 1.0.0-beta.3 today
    • Discovered a bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. where modules are not actually activated by default #247; PR with a fix is ready to merge; please test if you have a moment
    • No release party since this is a small hotfix
    • The current 1.0.0-beta.3 milestone has been renamed to 1.0.0-beta.4
  • @flixos90: BetaBeta A pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process. release schedule
    • Suggest that as long as we’re in beta (or later, RCrelease candidate One of the final stages in the version release cycle, this version signals the potential to be a final release to the public. Also see alpha (beta).), we publish a release every two weeks; coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. uses a similar cadence in beta
    • Once we get to 1.0.0 stable, we can reassess
    • Should we change to RC after 1.0.0-beta.4? Obviously this is a beta testing 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 to a degree, but the beta is mostly related to the overall plugin infrastructure and the plugin being completely new
    • @tweetythierry: What are the defining factors for stable? More testing? Things to finish?
    • @pbearne: Versioning will be strange because we hope some features will get into ccore
    • @flixos90: A bit fuzzy with this plugin because everything is in a different stage. Good idea to plan for one more beta release for now and use the next two weeks to try to really break the plugin infrastructure and find any other bugs.
    • @tweetythierry: Remember that as we keep adding more new stuff to beta versions, we are exposed to more bugs since there isn’t a code freeze. In favor of more testing on the current code base (or limited changes) and shipping as stable in 2-3 weeks.
    • @flixos90: Will likely be at least 4 weeks; we’d want 1-2 RC releases first
    • @tweetythierry: Given the long beta, 1 RC would probably be fine, so targeting stable in 4 weeks would be great
    • @flixos90: Proposed schedule: 1.0.0-rc.1 on April 4 and 1.0.0 stable on April 18
    • @spacedmonkey: Noting that WP 6.0 beta 1 in April 12 and beta 2 is April 19, so some folks will be busy with core work
    • @flixos90: See Plan release path towards stable #253 and comment there with thoughts

Images

@adamsilverstein @mikeschroder

GitHub project

Feedback requested

Object Cache

@tillkruess @spacedmonkey

GitHub project

Feedback requested

Site Health

N/A

GitHub project

Feedback requested

Measurement

@wp-source @josephscott

GitHub project

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

Feedback requested

Infrastructure

@flixos90

GitHub project

Feedback requested

Open Floor

Help wanted

#core-js, #core-media, #performance, #performance-chat, #summary

Performance team meeting summary 15 March 2022

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

Focus group updates

Announcements

@shetheliving

  • Meeting time change
    • Traditionally coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. meetings shift to accommodate for DST
    • We will adjust our meeting to its original time of 16:00 UTC after DST goes into effect worldwide on Sunday, March 25
  • Support representatives for Performance Lab plugin forum
    • @shetheliving (Google 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 support lead), @jamesosborne (who works on support for Google plugins), and @mitogh (one of the technical leads on the project for 10up) will be monitoring the support forumSupport Forum WordPress Support Forums is a place to go for help and conversations around using WordPress. Also the place to go to report issues that are caused by errors with the WordPress code and implementations. and replying to topics
    • We’re always looking for help, so if you’re interested in being designated as a plugin support representative, please reach out to Bethany

Images

@adamsilverstein @mikeschroder

GitHub project

Feedback requested

Object Cache

@tillkruess @spacedmonkey

GitHub project

Feedback requested

Site Health

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/.
  • @furi3r: Interesting conversation in https://github.com/WordPress/performance/issues/92#issuecomment-1067312175.
    • @flixos90: Would like some more thoughts here. Like the idea of pointing out a problem where relevant, but concerned that there’s a lack of actionable guidance here. Three options here:
      1. Merge it as is regardless of the concerns
      2. Merge it as experimental for now while addressing the concerns for a follow-up release
      3. Delay merging until the concerns have been addressed
    • @furi3r: Intention was that this would be used by hosting companies and all of them have guides on how to tackle the problem. By default, we’re pointing to https://wordpress.org/support/article/optimization/.
    • @flixos90: Fair point, but we should also have some sort of useful default
    • @spacedmonkey: With white screen of death protection, we added a filterFilter Filters are one of the two types of Hooks https://codex.wordpress.org/Plugin_API/Hooks. They provide a way for functions to modify data of other functions. They are the counterpart to Actions. Unlike Actions, filters are meant to work in an isolated manner, and should never have side effects such as affecting global variables and output. to enable hosting companies to link off to resources to help. I think this issue is the same. Handling messaging and resolving this, is for the hosting company, IMO.
    • @flixos90: We also included a default way for the user to fix the problem, though, which is missing more detail
    • @spacedmonkey: Agreed that once this goes into core, we need a solution. But for now, we don’t need one in the plugin, as everything in it is experimental.
    • @flixos90: “Experimental” has some nuance; some modules are days away from a feature proposal, others are more recent and earlier in exploration.
    • @tweetythierry: The definition of “experimental” has come up enough that we should document and define it.
    • Vote on a decision here by Friday, March 19 at 5pm UTC

Feedback requested

Measurement

@wp-source @josephscott

GitHub project

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

  • No updates

Feedback requested

Infrastructure

@flixos90

GitHub project

  • @flixos90: We now have plugin assets (banner and icon) in Performance Lab: Branding #144; just opened https://github.com/WordPress/performance/pull/231 to add to the repo and will deployDeploy Launching code from a local development environment to the production web server, so that it's available to visitors. to wordpress.orgWordPress.org The community site where WordPress code is created and shared by the users. This is where you can download the source code for WordPress core, plugins and themes as well as the central location for community conversations and organization. https://wordpress.org/ in the next release. Merged a few PRs in the last few days, including a bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. fix. Ready to enable branchbranch A directory in Subversion. WordPress uses branches to store the latest development code for each major release (3.9, 4.0, etc.). Branches are then updated with code for any minor releases of that branch. Sometimes, a major version of WordPress and its minor versions are collectively referred to as a "branch", such as "the 4.0 branch". auto-deletion in #209 after chat. With all these enhancementenhancement Enhancements are simple improvements to WordPress, such as the addition of a hook, a new feature, or an improvement to an existing feature. and fixes, proposing (and confirmed with team) that we will ship our next betaBeta A pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process. release next Monday, March 21, two weeks after the first release. We only have a few issues and PRs in the milestone, which we can probably merge this week. If you have concerns, please comment on Prepare 1.0.0-beta.2 release #213.

Feedback requested

Open Floor

  • @jeffpaul: Are there any core patches (e.g., new hook in media library) that would be helpful to get into WP 6.0 to benefit this feature pluginFeature Plugin A plugin that was created with the intention of eventually being proposed for inclusion in WordPress Core. See Features as Plugins. work ahead of whatever future feature merge (e.g., in WP 6.1)?  I want to make sure we get to those things before WP 6.0 Beta 1 on April 12th.
    • @flixos90: If you’ve been working on one of the enhancements or want to work on something where you’re limited e.g. by lack of core filters or actions, now it’s the time to flag those problems
    • @pbearne: Here’s one: https://core.trac.wordpress.org/ticket/55347
  • @craigfrancis: Can someone do a quick check on my very basic PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher perf test for #52506 at https://wpdb.eiv.dev/ (press the “001” button to see the PHP code for the first test)? I appreciate it does not account for TurboBoost, CPU temperature changes, or other processes on this VM or others, etc… I’m just wondering if this is “good enough” to check the patch isn’t likely to cause problems.
  • @pbearne: Got an offer from Tugboat for previews of core patches here; will bring up in dev chat and get more info

Help wanted

#core-js, #core-media, #performance, #performance-chat, #summary

Performance team meeting summary 8 March 2022

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

Focus group updates

Announcements

@shetheliving

Images

@adamsilverstein @mikeschroder

GitHub project

Feedback requested

Object Cache

@tillkruess @spacedmonkey

GitHub project

Feedback requested

Site Health

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/.
  • @furi3r: https://github.com/WordPress/performance/pull/124 has been pending for awhile and can be merged

Feedback requested

Measurement

@wp-source @josephscott

GitHub project

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

  • No updates

Feedback requested

Infrastructure

@flixos90

GitHub project

Feedback requested

Open Floor

  • @mitogh: Flagging #209 Consider auto-deleting head branches after PRs are merged if folks have opinions about the approach
    • @flixos90: Makes sense after we’ve protected the branches that shouldn’t get deleted (trunk and release/*
  • @josklever: Had an issue where some images couldn’t be loaded on my WP dashboard and it was caused by a widgetWidget A WordPress Widget is a small block that performs a specific function. You can add these widgets in sidebars also known as widget-ready areas on your web page. WordPress widgets were originally created to provide a simple and easy-to-use way of giving design and structure control of the WordPress theme to the user. that was disabled in the screen options. It appears that all the widgets are loaded even if disabled. Would this be a performance improvement? Or is there a good reason to load resources for disabled widgets?
    • @adamsilverstein: Sounds like a core bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority., but don’t see a Trac ticket for it
  • @lu: Are we considering converting animated GIFs to MP4, similar to https://github.com/GoogleForCreators/web-stories-wp/issues/7232? Recently had to do this as the animated GIF size was huge compared to compressed/optimized video.
    • @spacedmonkey: Agreed that there are massive performance and file size wins there, but in Web Stories we converted GIF to MP4 using JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. in browser, which unfortunately won’t work in many WP contexts
    • @adamsilverstein: Could potentially provide a browser-based approach in core if server support is lacking
    • @andronocean: Would be concerned about server resource usage with larger GIFs or budget hosts
    • @gagan0123: If sever support is lacking, someone will have to do it manually rather than by CLICLI Command Line Interface. Terminal (Bash) in Mac, Command Prompt in Windows, or WP-CLI for WordPress. or cron job
    • @spacedmonkey: We used an ffmpeg library which requires array buffering, which isn’t available in older browsers and requires isolation of the page, meaning that images and scripts could not be hotlinked
    • @swisspidy: It’s doable, but there could be conflicts
  • @westonruter: Opened #220 Add Site Health test for full page caching (advanced cache)

Help wanted

#core-js, #core-media, #performance, #performance-chat, #summary

Performance team meeting summary 1 March 2022

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

NOTE: The initial 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 release, 1.0.0-beta.1, will take place on Monday, March 7, 2022, at 19:00 UTC. We will hold a release party chat in the #performance 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/. channel at that time and all are welcome! See the Infrastructure section below for more details on the release.

Focus group updates

Announcements

@shetheliving

  • Database optimization focus area
    • Want to reassess the interest for this as a focus group
    • Please re-vote on the focus group spreadsheet here by adding/removing your WP.org username from the groups that you want to work on in Column D, Contributors wordpress.orgWordPress.org The community site where WordPress code is created and shared by the users. This is where you can download the source code for WordPress core, plugins and themes as well as the central location for community conversations and organization. https://wordpress.org/ username
    • Please only enter your name on two or fewer groups. If you’ve already voted and want to revise, remove your name from other areas.
    • We’ll reassess focus groups based on updated votes next week

Images

@adamsilverstein @mikeschroder

GitHub project

Feedback requested

Object Cache

@tillkruess @spacedmonkey

GitHub project

Feedback requested

Site Health

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 Slack
  • @flixos90: https://github.com/WordPress/performance/pull/136 could use additional reviews as it’s planned for the initial release. @furi3r planning to review feedback this week.

Feedback requested

Measurement

@wp-source @josephscott

GitHub project

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

  • No updates

Feedback requested

Infrastructure

@flixos90

GitHub project

Feedback requested

Open Floor

  • @flixos90: Had a conversation with @spacedmonkey about if we should have a rule that two people have to approve all PRs. Been assuming that we should be aiming for two people approving each PR, though not a hard and fast rule. Open to thoughts.
    • @gagan0123: Two pair of eyes are always better than one; speed impact is minimal but quality of code is significantly better
    • @spacedmonkey: If we can enforce this on GitHub, let’s go for it (with no self-reviews)
  • @shetheliving: Seeking feedback on new designs shared in Performance Lab: Branding #144

Help wanted

#core-js, #core-media, #performance-chat, #summary

Performance team meeting summary 22 February 2022

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

Focus group updates

Announcements

@shetheliving

  • Database optimization focus area
    • Want to reassess the interest for this as a focus group
    • Please re-vote on the focus group spreadsheet here by adding/removing your WP.org username from the groups that you want to work on in Column D, Contributors wordpress.orgWordPress.org The community site where WordPress code is created and shared by the users. This is where you can download the source code for WordPress core, plugins and themes as well as the central location for community conversations and organization. https://wordpress.org/ username
    • Please only enter your name on two or fewer groups. If you’ve already voted and want to revise, remove your name from other areas.

Images

@adamsilverstein @mikeschroder

GitHub project

Feedback requested

Object Cache

@tillkruess @spacedmonkey

GitHub project

Feedback requested

Site Health

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/.
  • No updates

Feedback requested

Measurement

@wp-source @josephscott

GitHub project

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

  • @sergiomdgomes: Continued discussion around embeds and how we could avoid the performance impact some of the larger ones, like YouTube, through façades or other approaches in the context of blocks; welcome thoughts and feedback

Feedback requested

Infrastructure

@flixos90

GitHub project

  • @eclarke1: Vote is still open for Prepare initial release #133 on whether we’re okay shipping the WebP module in its current version where it no longer generates JPEG images, or whether we only want to ship it once it generates both JPEG and WebP images as intended. Vote here and leave a comment on why you think we should/should not release as-is. Automate @since tags generation using the n.e.x.t placeholders #90 has been merged and @kirtan95 is working on Define default module activation (onboarding) #61 for the betaBeta A pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process. release.
  • @mitogh: Should we introduce composer and namespacing before the release to prevent naming conflicts? We do use prefix but it seems like a workaround and not a long-term solution.
    • @flixos90: No because that’s not established in core.
    • @mitogh: Agreed, but the majority of the code will change when transitioned into core anyway.
    • @flixos90: Yes, but will be easier to migrate and review if we stick to core conventions as much as possible.
  • @kirtan95: Need review on #177 Run phpcbf and phpcs before commit; @dainemawer will take a look.

Feedback requested

Open Floor

  • @pbearne: Suggest that we work on taking care of some low-hanging fruit outside of the main focus areas
    • @tweetythierry: A prioritization exercise of those items would be helpful
    • @flixos90: Always okay to bring those up here and ask for feedback, but be sure that we’re paying the most attention to focus area items to keep them moving, since we decided that they were the most important. Let’s be conscious of the performance impact, especially.
    • @adamsilverstein: One idea would be to run a bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. scrub for existing TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. issues tagged with performance as an ongoing effort

Help wanted

#core-js, #core-media, #performance, #performance-chat, #summary

Performance team meeting summary 15 February 2022

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

Focus group updates

Announcements

@shetheliving

  • Epic and Overview labels in 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/
    • Overview = Summary of the entire project, including epics, documentation, and other details
    • Epic = The “parent” issue for a broader task within a project, e.g. https://github.com/WordPress/performance/issues/22
    • @clarkeemily will work on setting up [Type] Overview issues for each focus area that POCs can update as needed

Images

@adamsilverstein @mikeschroder

GitHub project

Feedback requested

Object Cache

@tillkruess @spacedmonkey

GitHub project

Feedback requested

Site Health

@audrasjb

GitHub project

  • We’re seeking an additional POC 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/.
  • @audrasjb offline
  • @furi3r: Several issues still needing discussion/review (see below)

Feedback requested

Measurement

@wp-source @josephscott

GitHub project

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

Feedback requested

Infrastructure

@flixos90

GitHub project

  • @flixos90: Need to make a decision for Prepare initial release #133 on whether we’re okay shipping the WebP module in its current version where it no longer generates JPEG images, or whether we only want to ship it once it generates both JPEG and WebP images as intended. Vote here and leave a comment on why you think we should/should not release as-is.

Feedback requested

Open Floor

  • @wp-source: Feel a lack of alignment on the scope of the plugin. Is it the plugin’s role to measure things like other tools already do?
    • @flixos90: Don’t think we should build measurement tools ourselves where we can already use existing ones. Measurement is a bit decoupled from the plugin, but if there’s a certain measurement feature that makes sense in plugin form, it could definitely go into the plugin. A lot of features may be built in other forms though, e.g. CI workflow, Docker images, etc.
  • @kirtan95: Should we use husky to run phpcs/phpcbf on post commit hook?

Help wanted

#core-js, #core-media, #performance, #performance-chat, #summary

Performance team meeting summary 8 February 2022

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

Focus group updates

Announcements

@shetheliving

  • Interest in turning off 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/. integration with the #performance channel
    • Currently showing all PRs, new issues, and closed issues
    • Should we change or remove altogether?
    • Discussion was pretty evenly divided between keep and remove the integration; @mitogh suggested a separate channel for the integration
    • @shetheliving will request that the integration be turned off in #performance for now and ask if a new, separate channel can be created specifically for the integration

Images

@adamsilverstein @mikeschroder

GitHub project

Feedback requested

Object caching

@tillkruess @spacedmonkey

GitHub project

Feedback requested

Site Health

@audrasjb

GitHub project

  • We’re seeking an additional POC 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 Slack
  • @audrasjb offline
  • @furi3r: Several issues needing discussion/review (see below)

Feedback requested

Measurement

@wp-source @josephscott

GitHub project

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

Feedback requested

Infrastructure

Feedback requested

Open floor

Help wanted

#core-js, #core-media, #performance-chat, #summary