W3C home > Mailing lists > Public > www-style@w3.org > January 2010

Re: Making pt a non-physical unit

From: Robert O'Callahan <robert@ocallahan.org>
Date: Thu, 7 Jan 2010 11:56:55 +1300
Message-ID: <11e306601001061456i6e4ad81cob347bf49e79c1a9b@mail.gmail.com>
To: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
Cc: www-style <www-style@w3.org>
First of all, I apologize for my previous email being unnecessarily
strident.

On Thu, Jan 7, 2010 at 8:07 AM, Giuseppe Bilotta <giuseppe.bilotta@gmail.com
> wrote:

> On Wed, Jan 6, 2010 at 11:14 AM, Robert O'Callahan <robert@ocallahan.org>
> wrote:
> > On Wed, Jan 6, 2010 at 10:52 PM, Giuseppe Bilotta
> > <giuseppe.bilotta@gmail.com> wrote:
> >>
> >> Or we could fix Webkit and IE to do the right thing, and push for a
> >> web that does the right thing.
> >
> > Please go ahead and persuade Webkit and IE people to change. Once you
> > succeed, I promise Gecko will follow suit.
>
> I'm in no position to make other UAs follow the specs (esp. not ones I
> don't use), but if Gecko also decides to stop following it there's no
> chance it'll ever be done. I'd rather see Gecko and Opera follow the
> specs and Webkit and IE follow suit if and when they feel like it
>

Please, at least get in touch with Webkit people, who are also generally
good at following standards, and ask them to change. We know some of them
are on this list :-).

It will probably be several months before we ship any change to our users,
so you've got some time.

>> If a fixed px/pt ratio is chosen as the preferred solution for the
> >> mess of mixing absolute and relative units of measure, I would rather
> >> see px defined in terms of pts (and thus of inches) as suggested
> >> elsewhere in this thread, rather than the other way around, and have
> >> the UAs query the display dpi to adjust for the physical px size.
> >
> > I explained previously why this is impossible.
>
> I assume you're referring to user-defined DPI setting approach used by
> Mac OS X and Windows.
>

Not really. Let me be more clear: scaling so that 1px is more than one
screen pixel is unacceptable for performance reasons and also because it
violates user expectations, *unless* the user opts into it by changing some
system-wide setting. One reason it violates user expectations is that such
scaling tends to make Web content look inconsistent with non-Web content
(which is not being scaled). The problem is especially acute with form
controls, which need to look like regular GUI controls.

We have direct experience with this. For quite a while, if your screen was
144dpi or greater, Firefox would automatically make 1px be 2 or more screen
pixels. People complained whenever we did this. We increased the threshold
to 192dpi, people still complain.

My not-so-limited experience with a 133dpi monitor and Windows was
> that setting the 'font DPI' to something else than 96 made almost
> every single application break in one way or another (even for simple
> UI elements like dialogs), so I would say that the problem there might
> lie more in the o/s feature than in a specific app issue.


We can and will (but not just yet) honour the 'font DPI' setting in Windows
in Firefox to scale all Web content. I think we'll be able to do this while
satisfying everybody.

It may be measurable, but I would rather ask if and how it affects the
> user experience.


Any measurable performance impact affects the user experience. It's not an
accident that all browser marketing focuses on performance and almost
nothing else.

Navigating with a non-100% zoom factor in Opera for
> me has no perceptible effect. My very limited experience with Safari
> on an iPod touch showed me that changing zoom levels is an almost
> constant experience for the user.
>

I'm not sure exactly what you're measuring. Anyway, Safari on the iPhone
probably uses the GPU to scale the entire viewport at once. That is not an
option for many Firefox users, many of whom actually have less powerful
graphics hardware than the iPhone. Also, I suspect you observed Safari
rendering everything at normal 1:1 resolution and then scaling the entire
viewport *down*. Rendering everything at 1:1 and then scaling the entire
viewport *up* would look terrible.

As higher-resolution displays become more common, proper support for
> it becomes important. This it not fixed by imposing 96dpi on
> everybody, and even standardizing this in something as important as
> the CSS specification.
>

I am not proposing "imposing 96dpi on everybody", there will still be plenty
of freedom to take advantage of high DPI screens and make content that looks
good on them.

Rob
-- 
"He was pierced for our transgressions, he was crushed for our iniquities;
the punishment that brought us peace was upon him, and by his wounds we are
healed. We all, like sheep, have gone astray, each of us has turned to his
own way; and the LORD has laid on him the iniquity of us all." [Isaiah
53:5-6]
Received on Wednesday, 6 January 2010 22:57:24 GMT

This archive was generated by hypermail 2.3.1 : Tuesday, 26 March 2013 17:20:23 GMT