We've collected the set of thumbnail sizes that are currently requested by our infrastructure and clients (T408715), and looked at how frequently these sizes (and others) occur in thumbnail requests currently seen at the edge of our CDN (T410304). Now it's time to propose a rationalised set of thumbnail sizes with a view to standardising on using only these sizes:
20, 40, 60, 120, 250, 330, 500, 960, 1280, 1920, 3840
Of which, pre-generate 250, 330, 500,960 none
Rationale:
Pre-generate 4 sizes as before, but pick four popular and larger thumb sizes to pre-generate.
Just pre-generate the standard commons file page size (which is what users will see once they've uploaded something) by way of making sure the uploaded image is thumbnailable.
As we're moving towards actually caching (rather than storing nearly-indefinitely) thumbnails (cf T345334), don't bother pre-generating any sizes.
Given modern display sizes, we want some steps between 960 and full size.
20, 40, 60, 120, 250, 330, 500, 960 - the existing $wgThumbnailSteps
1280 - full-screen Gallery view on Android (and header & gallery images on retina devices on iOS)
1920 - HD (download option in MultimediaViewer)
3840 - 4K (download option in MultimediaViewer)
Questions:
iOS currently uses 2x320 = 640 on retina devices, which would end up being 960-downscaled. Is that too wasteful? cf T412161
Does iOS actually use WMFImageWidthExtraLarge (1280/2560) and/or WMFImageWidthExtraExtraLarge (1920/3840)?
Do we want to also allow 2560? Or will downscaling-from-3840 be OK?
It's worth noting that a fair amount of work is needed (including on some extensions currently in maintenance-only mode) to standardise our usage onto these sizes; this will need prioritisation and communication to the relevant communities.