
 
					
				 xenforo.com
						
					
					xenforo.com
				<picture> and <source> tags but that's a whole different problem 
I think at some point we'll have to stop pleasing ancient legacy applications if we want to make progress. Webp support can be detected both client and server side, and then a fallback png version could be sent, or the browser could load a webp polyfill. Png images could also be temporarily stored instead of permanently to not have to store two versions of images that are never opened by legacy applications. Additionally XenForo could show a (dismissible) message that educates users to switch their browser.And as @Jeremy P has just pointed out to me, Safari doesn't even support it yet. I know there are fallbacks to do with<picture>and<source>tags but that's a whole different problem
Safari is hardly an ancient legacy application. It literally has new versions coming out in the coming weeks on both iOS and macOS. Unfortunately, neither have AVIF support. Sadly if one of the most prominent browsers (more prominent than Firefox, even) doesn't support a particular standard then that's significant.I think at some point we'll have to stop pleasing ancient legacy applications if we want to make progress.
Valid points potentially regarding support but, come on, we can't tell people using iOS to "switch their browser". They literally can't.Webp support can be detected both client and server side, and then a fallback png version could be sent, or the browser could load a webp polyfill. Png images could also be temporarily stored instead of permanently to not have to store two versions of images that are never opened by legacy applications. Additionally XenForo could show a (dismissible) message that educates users to switch their browser.
Probably my sentiment that made me exaggerate a bit, but them generally lagging behind everyone else is sad and frustrating. But as long as everyone just buckles for them and does their bidding, I guess they can keep their pace like they want.Safari is hardly an ancient legacy application. It literally has new versions coming out in the coming weeks on both iOS and macOS.
Significant of course, and a justifiable case for a workaround/alternative, but holding back improvements that 65% of the web could vastly benefit from (in the example of avif) seems weird. I know that for avif this is somewhat a moot point given the backend considerations, but this stretches into all sorts of fields (and also isn't exclusively limited to XenForo of course, this mindset change would need to happen everywhere, but needs to start somewhere, so why not with industry leaders).Unfortunately, neither have AVIF support. Sadly if one of the most prominent browsers (more prominent than Firefox, even) doesn't support a particular standard then that's significant.
Both webp and avif have binaries that can be compiled to run on at least Windows and Linux, which should cover at least the vast majority of servers. You probably have a better indicator if that's sufficient from the stats you collect.But none of this changes the fact that up to a point we literally had no server-side support for manipulating even WebP files, and the same will be true for AVIF for years to come.
I’d say it’s better suited to get AVIF supported in PHP before trying to support it with custom compiled binaries. Seems that would be a support nightmare for something like XenForo if customers needed to get through compiling and installing binaries. Most people don’t have their own servers and instead are running on a stack provided by a web hosting company (so they couldn’t install custom compiled binaries on their server even if they wanted to).Both webp and avif have binaries that can be compiled to run on at least Windows and Linux, which should cover at least the vast majority of servers. You probably have a better indicator if that's sufficient from the stats you collect.
Depending on the binaries, it could either be just shipped with the software, or you make it part of an advanced package like Enhanced Search. I don't want to demand a solution here, there's of course a lot to consider. I just want to say there's ways to make it work, and sites would hugely benefit from this being available in one form or another.Seems that would be a support nightmare for something like XenForo if customers needed to get through compiling and installing binaries. Most people don’t have their own servers and instead are running on a stack provided by a web hosting company (so they couldn’t install custom compiled binaries on their server even if they wanted to).
Like I said, AVIF would be fun... but I'd put my money on it not being a thing in XenForo until PHP and browsers support it. Shipping binaries wouldn't be a realistic/viable solution because the same web hosting companies that don't allow customers to compile/install binaries also don't let them execute binaries. Web hosting environments are typically pretty sandboxed so customers can't screw up their servers (hell, if you could just arbitrarily execute your own binaries with a web hosting company, why not just run cryptocurrency mining binaries?)Depending on the binaries, it could either be just shipped with the software, or you make it part of an advanced package like Enhanced Search. I don't want to demand a solution here, there's of course a lot to consider. I just want to say there's ways to make it work, and sites would hugely benefit from this being available in one form or another.
There's always ways to make something work. That doesn't make it a good idea. On this and similar things we will almost certainly wait as long as we need to in order to ensure we can provide a consistent experience, without workarounds and fallbacks, and without potentially complicated additional software requirements.Depending on the binaries, it could either be just shipped with the software, or you make it part of an advanced package like Enhanced Search. I don't want to demand a solution here, there's of course a lot to consider. I just want to say there's ways to make it work, and sites would hugely benefit from this being available in one form or another.

./xf-avatar-optimizer.sh list
nginx  nginx  982     Jan  23  22:41  /data/avatars/s/0/2.webp
nginx  nginx  1629    Jan  23  22:41  /data/avatars/s/0/2.jpg.pngquant
nginx  nginx  4128    Jan  23  09:04  /data/avatars/s/0/2.jpg.optipng
nginx  nginx  4625    Jan  23  22:41  /data/avatars/s/0/2.jpg.opt
nginx  nginx  4648    Jan  22  23:32  /data/avatars/s/0/2.jpg
nginx  nginx  1437    Jan  23  22:41  /data/avatars/s/0/2.avif
nginx  nginx  570     Jan  23  22:41  /data/avatars/s/0/1.webp
nginx  nginx  730     Jan  23  22:41  /data/avatars/s/0/1.jpg.pngquant
nginx  nginx  1488    Jan  23  09:04  /data/avatars/s/0/1.jpg.optipng
nginx  nginx  1788    Jan  23  22:41  /data/avatars/s/0/1.jpg.opt
nginx  nginx  1809    Jan  17  11:52  /data/avatars/s/0/1.jpg
nginx  nginx  1007    Jan  23  22:41  /data/avatars/s/0/1.avif
nginx  nginx  9546    Jan  23  22:41  /data/avatars/o/0/2.webp
nginx  nginx  25234   Jan  23  22:41  /data/avatars/o/0/2.jpg.pngquant
nginx  nginx  112717  Jan  23  09:04  /data/avatars/o/0/2.jpg.optipng
nginx  nginx  127125  Jan  23  22:41  /data/avatars/o/0/2.jpg.opt
nginx  nginx  127102  Jan  22  23:32  /data/avatars/o/0/2.jpg
nginx  nginx  9407    Jan  23  22:41  /data/avatars/o/0/2.avif
nginx  nginx  1142    Jan  23  22:41  /data/avatars/o/0/1.webp
nginx  nginx  1169    Jan  23  22:41  /data/avatars/o/0/1.jpg.pngquant
nginx  nginx  2065    Jan  23  09:04  /data/avatars/o/0/1.jpg.optipng
nginx  nginx  2092    Jan  23  22:41  /data/avatars/o/0/1.jpg.opt
nginx  nginx  2087    Jan  17  11:52  /data/avatars/o/0/1.jpg
nginx  nginx  1270    Jan  23  22:41  /data/avatars/o/0/1.avif
nginx  nginx  2184    Jan  23  22:41  /data/avatars/m/0/2.webp
nginx  nginx  3542    Jan  23  22:41  /data/avatars/m/0/2.jpg.pngquant
nginx  nginx  12178   Jan  23  09:04  /data/avatars/m/0/2.jpg.optipng
nginx  nginx  13601   Jan  23  22:41  /data/avatars/m/0/2.jpg.opt
nginx  nginx  13634   Jan  22  23:32  /data/avatars/m/0/2.jpg
nginx  nginx  2672    Jan  23  22:41  /data/avatars/m/0/2.avif
nginx  nginx  934     Jan  23  22:41  /data/avatars/m/0/1.webp
nginx  nginx  1232    Jan  23  22:41  /data/avatars/m/0/1.jpg.pngquant
nginx  nginx  3351    Jan  23  09:04  /data/avatars/m/0/1.jpg.optipng
nginx  nginx  4193    Jan  23  22:41  /data/avatars/m/0/1.jpg.opt
nginx  nginx  4214    Jan  17  11:52  /data/avatars/m/0/1.jpg
nginx  nginx  1448    Jan  23  22:41  /data/avatars/m/0/1.avif
nginx  nginx  4592    Jan  23  22:41  /data/avatars/l/0/2.webp
nginx  nginx  8683    Jan  23  22:41  /data/avatars/l/0/2.jpg.pngquant
nginx  nginx  36771   Jan  23  09:04  /data/avatars/l/0/2.jpg.optipng
nginx  nginx  41347   Jan  23  22:41  /data/avatars/l/0/2.jpg.opt
nginx  nginx  41411   Jan  22  23:32  /data/avatars/l/0/2.jpg
nginx  nginx  5042    Jan  23  22:41  /data/avatars/l/0/2.avif
nginx  nginx  1734    Jan  23  22:41  /data/avatars/l/0/1.webp
nginx  nginx  2512    Jan  23  22:41  /data/avatars/l/0/1.jpg.pngquant
nginx  nginx  7403    Jan  23  09:04  /data/avatars/l/0/1.jpg.optipng
nginx  nginx  9375    Jan  23  22:41  /data/avatars/l/0/1.jpg.opt
nginx  nginx  9410    Jan  17  11:52  /data/avatars/l/0/1.jpg
nginx  nginx  2408    Jan  23  22:41  /data/avatars/l/0/1.avif
nginx  nginx  9694    Jan  23  22:41  /data/avatars/h/0/2.webp
nginx  nginx  23463   Jan  23  22:41  /data/avatars/h/0/2.jpg.pngquant
nginx  nginx  110569  Jan  23  09:04  /data/avatars/h/0/2.jpg.optipng
nginx  nginx  124695  Jan  23  22:41  /data/avatars/h/0/2.jpg.opt
nginx  nginx  124820  Jan  22  23:32  /data/avatars/h/0/2.jpg
nginx  nginx  9318    Jan  23  22:41  /data/avatars/h/0/2.avif
nginx  nginx  3972    Jan  23  22:41  /data/avatars/h/0/1.webp
nginx  nginx  3802    Jan  23  22:41  /data/avatars/h/0/1.jpg.pngquant
nginx  nginx  11459   Jan  23  09:04  /data/avatars/h/0/1.jpg.optipng
nginx  nginx  13184   Jan  23  22:41  /data/avatars/h/0/1.jpg.opt
nginx  nginx  13218   Jan  17  11:52  /data/avatars/h/0/1.jpg
nginx  nginx  4580    Jan  23  22:41  /data/avatars/h/0/1.avifWe use essential cookies to make this site work, and optional cookies to enhance your experience.