We should standardize on something, but it shouldn't be inches.
You might be looking at a phone screen a foot away, or a monitor two feet away, or a TV four feet away, or a projection 10 feet away, or a jumbo display 100 feet away.
How does measuring in inches help? Answer: it doesn't at all.
Measuring in points used to be a good system, back on the Mac in the old days. The user interface was in 12 pt Chicago, new Word documents defaulted to 12 pt Times New Roman -- 12 pt was the baseline for normal body text both for interface and for content, and everything else made sense relative to that.
Then what happened? For some reason, web browsers defaulted to 16 pt. So the text on web pages was too big.
Then, laptop screens started packing more pixels in (this is pre-retina) to advertise higher resolutions, and OS interface text became physically smaller -- really hard to read. 16 pt webpages were actually OK though, so now that kind of made sense.
Strangely, at the same time, interface text got even smaller -- look at the tiny text OSX now uses in a lot of dialog settings, or the small size Chrome uses for tab titles. (Menus and buttons are usually still OK.)
And then bloggers wanted to make webpages easier to read, so they started doing things like 18 pt text (e.g. Medium) and sometimes you see 20 pt or even 22 pt. So now, each letter on Medium takes up about three times the area of a letter in the title of the tab I have open on Chrome.
Scale on computer screens no longer makes any sense, and you have to constantly use some combination of monitor resolution and browser zoom to keep all the elements of your screen in any kind of reasonable proportion.
So my humble suggestion is: can't we just go back to where 12 pt meant normal computer screen UI text and body text, and everybody stick to that? Forget that points are based on inches, just make everything relative to 12 pts = body text. Then everyone can pick a resolution or zoom level for each device so it's legible for your eyes at your distance... but then everything stays in proportion!
I've argued in the past[1] (and there were a few good comments in that thread, in response) that most UI elements should be measured in arcdegrees they should consume in the field of view of the user. That is, how large should this text appear, not how big should it be physically rendered, either in pixels or inches. (So some derived unit, like pt.)
As I stated in that thread, the display device would need some concept of its own dimensions (easy) and its intended viewing distance (harder, and would probably need to be configurable).
The one commenter in that thread notes, I think rightly, that,
> once you get to very small screens like phones, there is a tradeoff between keeping font and UI sizes comfortable, and being able to actually fit enough content on the screen without endless scrolling. I am willing to strain my eyes with smaller font sizes on my phone than on my laptop, just so that I can see more than 5 sentences of text at the same time.
I think is particularly applies as blog fonts get larger and larger.
> web browsers defaulted to 16 pt
Are you sure? I don't ever remember this being the case; it's always been 12pt (usually a serif font, often Times New Roman). Are you sure you're not mixing that up w/ 16px (which I believe in CSS, 12pt == 16px)?
You are right for projectors and TV screens, but otherwise I think I disagree.
Paper also doesn't take viewing distance into consideration.
If my screen is 80 cm away, and my colleague's is 60 cm away from him, should things be smaller in pixels on his screen? What if I walk up to his desk? It would be really hard to compare sizes. The thing is, the brain already corrects for optical forshortening. It's normal that things that are further away use less arcdegrees, or space on the retina.
Now we might be talking about different things. Sure, text in a book or on a phone can be a bit smaller than on a screen further away. That's a large-order effect, effectively you are using a different stylesheet, or viewing a different document. What I and other resolution-independence proponents are talking about are small effects, when viewing the same document on similar devices. A multimonitor setup, a large tablet, your colleagues' screens. In all these places, you should be able to hold up a ruler and have 1cm=1cm.
> In all these places, you should be able to hold up a ruler and have 1cm=1cm.
I don't necessarily agree, I guess. If all of the monitors are set up at the same viewing distance, then yes, 1cm=1cm if stuff is measure in arcdegrees. But if they're not — say one is a larger device that's typically viewed further away — then no, the absolute physical length of a displayed item should, again IMO, increase to compensate for the distance.
I think this is a better system than today's, which seem to be mostly a hodge-podge of bad assumptions that the screen's DPI is always X, and fiddling with UI zoom settings until something respectable comes out.
I am not saying that there aren't good use cases for a display device to output actual cm/in, however: for example, if I want to preview how a printed document will actually physically look, I absolutely think there should be an API to say, "No, I don't want to display this is arcdegrees, I want this thing to be absolute 8.5 in by 11 in." and then in that case, yes 1cm=1cm.
That is, it's contextual, but I think arcdegrees provide a better default for the majority of use cases.
(0) From the display, get ≥ 2 of: physical display size, ppi, and resolution. This is the hardest step; the display hardware must accurately report its physical size or physical sizing will not work.
(1) For a glyph of logical size `x` in points, calculate the size `y` in pixels that would render it with physical size `x` on the display.
(2) Scale `y` based on the expected distance from the user's eyes to the display. Specifically, the software chooses a scaling factor such that the glyph has the same apparent size to the user as if it was displayed 18" from the user's eyes with physical size `x`. (18" is about how far away a person would hold a printout when reading it.) The exact reference point doesn't matter much; it just has to be consistent between devices. This step is so a given logical size will look pretty much the same across devices even if they have different form factors.
(3) Apply user preferences on a device, app, and document dependent basis for additional scaling as usual to accommodate user needs and preferences. Hopefully, with steps 0–2 implemented, there will be less need for users to fiddle with per-app and per-document settings.
[1] This is essentially equivalent to "use arcdegrees", just unpacked a little.
1. What if I need to print some form and 100mm box shall be precisely of that size on paper. How would your default-font-relative-length-system work?
2. What if I have touch screen and need to make that button to be clickable by a finger? Like: button { width:1in; height:1in }. How would font size (consumed by eyes) be related to size of the button on touch surface (consumed by a finger)?
Stating opinions like facts, the standard units should be:
1) Arcminutes at typical view distance. The sun is 32 arcminutes and a css pixel is 1.278 arcminutes. This is the primary unit for measuring content.
2) Percent. This is the primary unit for measuring layout. The number of arcminutes per percent varies from screen to screen in the same way that screen sizes vary, and can be dealt with using the same responsive design tools.
3) Pixels. A pixel is the smallest size that can be drawn in this medium (it could be an actual pixel or an inkjet dot). A 1px line possibly useful as the finest possible thickness, but otherwise you should only use this if you have a specific reason, and mixing it with other units invites madness.
4) Meters. Literal physical size. Like pixels, there are specific reasons to use this, but even fewer of them, and mixing it with other units invites madness.
You might be looking at a phone screen a foot away, or a monitor two feet away, or a TV four feet away, or a projection 10 feet away, or a jumbo display 100 feet away.
How does measuring in inches help? Answer: it doesn't at all.
Measuring in points used to be a good system, back on the Mac in the old days. The user interface was in 12 pt Chicago, new Word documents defaulted to 12 pt Times New Roman -- 12 pt was the baseline for normal body text both for interface and for content, and everything else made sense relative to that.
Then what happened? For some reason, web browsers defaulted to 16 pt. So the text on web pages was too big.
Then, laptop screens started packing more pixels in (this is pre-retina) to advertise higher resolutions, and OS interface text became physically smaller -- really hard to read. 16 pt webpages were actually OK though, so now that kind of made sense.
Strangely, at the same time, interface text got even smaller -- look at the tiny text OSX now uses in a lot of dialog settings, or the small size Chrome uses for tab titles. (Menus and buttons are usually still OK.)
And then bloggers wanted to make webpages easier to read, so they started doing things like 18 pt text (e.g. Medium) and sometimes you see 20 pt or even 22 pt. So now, each letter on Medium takes up about three times the area of a letter in the title of the tab I have open on Chrome.
Scale on computer screens no longer makes any sense, and you have to constantly use some combination of monitor resolution and browser zoom to keep all the elements of your screen in any kind of reasonable proportion.
So my humble suggestion is: can't we just go back to where 12 pt meant normal computer screen UI text and body text, and everybody stick to that? Forget that points are based on inches, just make everything relative to 12 pts = body text. Then everyone can pick a resolution or zoom level for each device so it's legible for your eyes at your distance... but then everything stays in proportion!