Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[css-values] Anthropometric length and time units #837

Closed
Crissov opened this issue Dec 27, 2016 · 7 comments
Labels

Comments

@Crissov
Copy link
Contributor

@Crissov Crissov commented Dec 27, 2016

Extending the idea of a tip length unit mentioned in #614, I hereby propose to add several units to CSS that are based upon measures of the human body. Where possible, implementations may adapt them to fit measured data of the actual active user.

I am not discussing use cases, at least in this initial message, because most of these units are intended for future devices but are already applicable to styles build with existing CSS modules.

Anthropometric length units

All anthropometric length units are defined as the diameter of the smallest circle that contains a touch print of a particular human body part. The default or fallback values provided are rough estimates, open to discussion. They are not (yet) based upon empiricial data, but approximate physical units that do not depend on the anchor unit (usually px) in recent levels of CSS. This makes them applicable to many scenarios that “realcm” etc. have been proposed for in #614 and in older threads on www-style.

Unit Alternatives Definition Fallback
tip tip of index finger (or stylus) 5 mm
tap index finger print 1 cm
mark push, thumb, toe thumb print 2.5 cm
pad paw, palm, ball palm without fingers 10 cm
span open hand with splayed fingers 20 cm
sole foot, shoe foot print (with shoe) 30 cm

Anthropometric time units

I’m proposing two psychological temporal units and two physiological temporal units.

In psychology, instant and moment have conventional absolute definitions. They are complicated to measure for an individual user in the current situation, but different values may apply for some age groups or users of certain assistive technology.

Recent advances in sensor technology have brought devices to the consumer market that are able to measure a user’s physiology, e.g. their pulse rate or heart beat (especially in “smart watches”) or the rate and duration of their eye blinks (expected for head gear like AR/VR goggles).

Unit Alternatives Definition Fallback
now inst, it perceived instant 3s
mom mmt, mt perceived moment 90s
beat hb, bt heart beat interval 0.8s
blink eb, bl, bk duration eye lid closes 25ms
@LeaVerou

This comment has been minimized.

Copy link
Contributor

@LeaVerou LeaVerou commented Dec 28, 2016

Really fighting the urge to suggest more units based off even more body parts… 😂😂😂

@Crissov

This comment has been minimized.

Copy link
Contributor Author

@Crissov Crissov commented Dec 28, 2016

@LeaVerou So did I, hence omitted butt. 😉 I’m being serious, though.

@frivoal

This comment has been minimized.

Copy link
Collaborator

@frivoal frivoal commented Dec 28, 2016

I am not discussing use cases.

I think you really should. Without use cases, I don't think this has any chance of making any progress.

The tip unit may or may not be a good way to solve the use case of making something appropriately sized for a touch UI, but at least we know what it is for, so we can judge it on whether it solves that use case well, and compare it against other proposals to solve that use case (which are not necessarily all based on new units).

For the other units you are proposing, I do not know what they are supposed to be used for, so I have no basis to judge whether they're doing any good.

@fantasai

This comment has been minimized.

Copy link
Collaborator

@fantasai fantasai commented Dec 29, 2016

@Crissov I think it would be very helpful to us if you restricted your proposals to things that have concrete, reasonably common, and relatable use cases.

@Crissov

This comment has been minimized.

Copy link
Contributor Author

@Crissov Crissov commented Dec 31, 2016

@fantasai I will update the issues in early 2017 accordingly.

@dauwhe

This comment has been minimized.

Copy link
Contributor

@dauwhe dauwhe commented Jan 12, 2017

Closed per working group resolution.

@dauwhe dauwhe closed this Jan 12, 2017
@Crissov

This comment has been minimized.

Copy link
Contributor Author

@Crissov Crissov commented Feb 14, 2017

Dael Jackson @ www-style (2017-02-13): [CSSWG] Minutes Seattle F2F 2017-01-11 Part VI: Writings Modes, CSS Tables, Values & Units 4

  • dauwhe: I propose closing issue 837 with prejudice.
  • Florian: And person proposing them explicitly said, not discussing use cases.
  • astearns: So, resolve to close issue?
  • tantek: I propose requesting that the person proposing these units incubate them in the WICG. :)
  • astearns: I'm hearing no objection to close this issue per WG resolution.

One reason I proposed these units, obviously, is to cover the use cases brought forward before by other contributors to www-style for “real” or “true” physical units that are not anchored to px: tap ~ centimeter, mark ~ inch, pad ~ decimeter, sole ~ foot. My partial argument here is that it would be a cleaner solution to add new anthropometric units than clumsy identifiers like realcm or truein.

As for use cases, they mostly follow from the ones raised for tip, i.e. sizing touch GUI elements. Most current touch-screen devices are almost exclusively operated with the tips of the fingers, some with styluses – the modern variant of slate pencils. Small touch targets like keycaps on a soft keyboard have their minimum size and distance to each other defined by the area covered by an (index) finger tip briefly touching the screen in an almost orthogonal angle → tip. Large touch targets like button height and width and margin, on the other hand, are determined by a full finger/thumb print in an almost horizontal angle → tap and mark. This is phones and tablets. Larger touch screens, e.g. wall-mounted ones, also have GUI widgets matching multiple-finger or full hand prints → pad and span. Lastly, sole is anticipating floor-mounted touch interfaces stylable with CSS. These may never become a (widespread) reality, but it’s arguably better to provide the necessary unit preemptively rather than too late or never, because it’s comparatively cheap and simple to implement it now.

As for the temporal units, now and mom are different from beat and blink. The former are not really expected to be adapted dynamically to the user, but only be permanently changed for accessibility reasons. They should be used with animations and transitions. Otherwise we’ll end up with yet another media query to do that.
User heart rate and eye lid close times are (or may be) routinely measured by certain hardware, e.g. smart watches and VR/AR gears, and some designers may want to adapt their timings accordingly. Again, unless there were related media queries, there is no way to do this in CSS. This may be more relevant in special scenarios like car cockpits/dashboards than in general purpose desktop browsers.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
5 participants
You can’t perform that action at this time.