[whatwg] Defaulting new image solution to 192dpi

Kornel Lesiński kornel at geekhood.net
Thu May 17 11:23:26 PDT 2012


On Thu, 17 May 2012 16:05:13 +0100, Tab Atkins Jr. <jackalmage at gmail.com>  
wrote:

>> Necessity to specify 2x scaling all the time will become a bad default  
>> and a historical quirk (like the DOCTYPE), and a source of annoyance  
>> where
>> accidentally omitted "2x" syntax makes images large and pixelated.
>
> I think that 2x only looks like a good default now. I would bet that
> in less than 10 years 3x or higher will look like a good default.

So why is 1x the default when it's obvious that it is not going to be a  
good default?

"If density is still absent, set it to 1.0."
http://www.whatwg.org/specs/web-apps/current-work/multipage/embedded-content-1.html#image-candidate-string


Note that the scale multiplier can be omitted already when only the size  
is specified:

<img srcset="img 500w">

This is currently a legal syntax for a 1x image, and this is going to be  
an awful mistake regardless whether we'll have 2x or 3x displays in the  
future.


> I'd rather not bake in a confusing change that doesn't actually  
> future-proof anything.

I think it's a safe bet that 3x won't ever be a good default.

Authors will need to translate between CSS and image pixel sizes, and it's  
much easier to multiply and divide by 2 than 3.


Keep in mind that scaling factor is not tied too much to actual display  
DPI/perceived pixel size. When new denser displays come along, we won't  
jump from 2x to 3x, rather the 2x will change its meaning.

This is exactly what happened with pixel size at 1x — it has shrunk over  
the years from 72dpi (SVGA 14") to 108dpi (iMac 27") and 130dpi on  
laptops. Assuming same viewing distances, that's a hefty 1.5-1.8x increase  
in resolution!


When resolution of current desktops doubles we'll start at around 200dpi,  
and the pixel size will likely continue to shrink gradually over time as  
displays get less-than-full-multiplier increases in density.

If such 1.5-1.8 increase happens again, the meaning of "2x" will end up  
being in the 300-360dpi range for desktop viewing distances. That will be  
much better than 264dpi on the "Retina" iPad today (even better  
considering iPad's smaller viewing distance).

Those pixels will be much smaller than average human can see — I think  
that's perfectly adequate for a default!

Further improvements over this would have diminishing results — once  
pixels are indistinguishable it won't make sense to make them more  
indistinguishable, so there will be very little reason to use 3x, 4x  
factors.




But let's say I'm wrong and 3x will end up being the ultimate scaling  
factor:

- when authors specify the 3x scaling factor explicitly, it'll all work  
fine regardless of the default.

- if the we don't change the default, then failing to specify the 3x scale  
factor will give very wrong result — a 1x image.

- if we change the default to 2x, then failing to specify the 3x scale  
factor will give less wrong result — a 2x image.


Only if we change the default to 3x now, before srcset ships we will avoid  
the problem entirely. But as I've explained above, it's an inconvenient  
scaling factor and is likely to overshoot required quality, so 2x is a  
safer bet.


But why oh why should we keep 1x as the default if it's going to be the  
worst default in any case?

-- 
regards, Kornel Lesiński


More information about the whatwg mailing list