RE: Some comments about Pointer Events

Hey François,

Thanks for the comments.

>> Glad to see a WG was formed around Pointer Events. I'm sending this mail to repost in this WG the few things I nailed down when I read the spec for the first time, as I believe they've not been addressed at this time (admitedly, a blog post comment feed is not the best way to comment on a spec)

Yes, sorry, our blog commenting system is not the best. :-/ I actually attempted a reply but it kept getting blocked by the spam filter.  But glad we can have the conversation on the WG list now!

>> May height be negative if I interact from the back side of the device (some MSFT hardware prototype featured this)? Or, if the height is supposed to be positive, shouldn't there be a property somewhere to specify from which side of the screen the interaction occurs?

I believe the device you're referring to was a Microsoft Research prototype. I'm not aware of commercially available devices that support this. If such a device is commercially available, then I'm not opposed to providing considerations for it in the spec. But I think we first need to understand how it's used.  

For example, touching from the back might be the touch equivalent of a pen eraser. If that were the cases, then perhaps it just deserves a special value for button/buttons.  Or, alternatively, providing a negative value for pressure might make sense because you're pushing "up" on the screen rather than the typical "down."  If it means something new altogether, then providing simple flag that says you're interacting from the back (as you suggested) might be more appropriate.

I think you misunderstand "height." Height (along with width) refers to the contact geometry of the touch. It's not the distance from the touchscreen, but the vertical length of the physical contact your finger makes with the screen.

>> The [0...1] range is quite difficult to use, I think. How do we know what are the usual values for the current device? What if I want to draw a line based on the pressure? 0 for mouse is strange, especially if I have no way of knowing if the device support pressure or not. I would prefer a model where 1 means "standard pressure", where 0 means "no pressure" and where 0.5 means "half the usual pressure". The main argument in favor of a "1=normal" scale is that if I have two similar stylus (one able to handle from 0 to 1 kgf and one able to handle from 0 to 3 kgf), I don't want the user to press 3 times more on the second one to achieve the same result (I just want him to be able to press 3 times harder at max and get a line which is 3 times as big, at max).

Since it's normalized, I usually think of pressure as a modifier. For example, in the line drawing scenario, I would do something like:  lineWidth = pressure * MAX_LINE_WIDTH.  So while, yes, it might require different amounts of pressure to produce the same effect across devices, at least every device is interoperable in the sense that it can produce the same *range* of values.  In the line drawing scenario, I'm not sure that I want one device to not be able to draw as thick of a line as another simply because it cannot register that much pressure.

I'm also not confident that devices report consistent pressure values (e.g. if you place a 10kg weight on a stylus then it produces the exact same pressure value on any device you put it on).  So I don't think you could standardize around "standard pressure" (meaning a fixed physical amount of pressure). 

-Jacob

Received on Wednesday, 14 November 2012 06:32:51 UTC