IRC log of touchevents on 2015-01-06

Timestamps are in UTC.

15:52:24 [RRSAgent]
RRSAgent has joined #touchevents
15:52:24 [RRSAgent]
logging to
15:53:12 [rbyers]
zakim, what conferences
15:53:12 [Zakim]
rbyers, you need to end that query with '?'
15:53:15 [rbyers]
zakim, what conferences?
15:53:15 [Zakim]
I see WAI_UAWG(CHAIRS)10:30AM, AB_(PROCESS)10:00AM active
15:53:16 [Zakim]
also scheduled at this time are XML_ET-TF()11:00AM, HTML_WG()11:00AM, SW_HCLS()11:00AM, XML_EXI()10:00AM, DPUB_DIGC()10:00AM, RWC_WebEven()11:00AM, WAI_WCAG()11:00AM,
15:53:16 [Zakim]
... RWC_PEWG()11:00AM, VB_VBWG()10:00AM
15:53:41 [rbyers]
zakim, this is RWC_PEWG
15:53:41 [Zakim]
rbyers, I see RWC_PEWG()11:00AM in the schedule but not yet started. Perhaps you mean "this will be RWC_PEWG".
15:53:48 [rbyers]
zakim, this will be RWC_PEWG
15:53:48 [Zakim]
ok, rbyers; I see RWC_PEWG()11:00AM scheduled to start in 7 minutes
15:56:06 [rbyers]
Meeting: Touch Events Community Group
15:58:08 [patrick_h_lauke]
patrick_h_lauke has joined #touchevents
15:59:04 [scott_gonzalez]
scott_gonzalez has joined #touchevents
15:59:22 [tdresser]
tdresser has joined #touchevents
15:59:58 [Zakim]
RWC_PEWG()11:00AM has now started
16:00:06 [Zakim]
16:00:25 [Zakim]
16:00:39 [Zakim]
+ +44.797.663.aaaa
16:00:44 [patrick_h_lauke]
zakim, aaaa is me
16:00:44 [Zakim]
+patrick_h_lauke; got it
16:01:01 [patrick_h_lauke]
hey folks
16:01:07 [rbyers]
16:01:10 [rbyers]
Happy new year!
16:01:19 [patrick_h_lauke]
likewise :)
16:01:25 [Zakim]
+ +1.571.426.aabb
16:01:28 [jrossi2]
jrossi2 has joined #touchevents
16:01:32 [Zakim]
16:01:45 [Zakim]
16:01:57 [patrick_h_lauke]
nobody dares to say anything...
16:02:07 [jrossi2]
Zakim, Microsoft is jrossi2
16:02:07 [Zakim]
+jrossi2; got it
16:02:22 [mbrubeck]
Zakim, who is here?
16:02:22 [Zakim]
On the phone I see Scott_Gonzalez, rbyers, patrick_h_lauke, +1.571.426.aabb, Matt_Brubeck, jrossi2
16:02:24 [Zakim]
On IRC I see jrossi, tdresser, scott_gonzalez, patrick_h_lauke, RRSAgent, Zakim, ArtB_, mbrubeck, rbyers
16:02:34 [jrossi]
Zakim, jrossi2 is jrossi
16:02:34 [Zakim]
+jrossi; got it
16:02:34 [asir]
asir has joined #touchevents
16:03:23 [Zakim]
16:05:14 [Zakim]
16:05:38 [rbyers]
Scribe: Jacob_Rossi
16:05:43 [rbyers]
16:06:09 [rbyers]
Topic: Identifying mouse events derived from touch
16:06:41 [jrossi]
rbyers: I think most important issue for this group is that browsers can't enable TE on all devices
16:06:48 [asir]
asir has joined #touchevents
16:07:05 [jrossi]
rbyers: IE is mobile only, Chrome is touchscreen only and has emulation in dev tools
16:07:22 [jrossi]
jrossi: +1
16:07:37 [jrossi]
rbyers: the chrome team has a rough plan for how we turn this on everywhere
16:07:45 [jrossi]
rbyers: willing to take some compat pain, it's all about mitigation strategy
16:08:01 [jrossi]
rbyers: important piece is having really clear guidelines for what devs can do instead
16:08:13 [rbyers]
Common problematic coding pattern: if ('ontouchstart' in window)
16:08:48 [jrossi]
rbyers: sometimes used for feature detection, sometimes used for detecting if there's a touchscreen
16:09:04 [jrossi]
rbyers: first step was interaction media queries
16:09:09 [rbyers]
16:09:14 [jrossi]
rbyers: gives input into what devices the user has
16:09:41 [jrossi]
rbyers: recently tweaked this API to make it more powerful on touchscreen laptops (any-hover, any-pointer)
16:09:56 [jrossi]
rbyers: on by default in Chrome beta
16:10:23 [jrossi]
rbyers: not the only q they're trying to ask. they're also what do i do when i see mouse events or a click?
16:10:55 [jrossi]
rbyers: we still don't have areally good story for that pattern.
16:11:12 [jrossi]
rbyers: you can call preventDefault() on touch. i thought that was a good solution, but i've been convinced otherwise.
16:11:45 [jrossi]
rbyers: one component may not have all the information it needs to call preventDefault(), making a global decision based on local needs
16:12:28 [patrick_h_lauke]
should i troll now and say pointer events solves this? :p
16:12:33 [rbyers]
jrossi: would be good to write down different use cases for this
16:12:52 [rbyers]
patrick: yep ;-)
16:13:38 [mbrubeck]
jrossi: For example, duplicate events (touchstart + mousedown), versus "want to handle tap without waiting for double-click delay"
16:13:56 [mbrubeck]
rbyers: I had originally listed this as two separate issues, but they may be more entangled than I thought.
16:14:02 [jrossi]
s/tap/click event
16:14:04 [rbyers]
Some notes on this problem here:
16:15:19 [jrossi]
rbyers: Scott, do you have experience in this?
16:16:47 [jrossi]
scott_gonzalez: I need to go back and look at this. We didn't pick a model before [touch/pointer], just used X/Y coordinates and gestures, but are now to pointer.
16:17:25 [jrossi]
scott_gonzalez: in a lot of cases we just want to handle which is first. in some though we probably want to kno the differeence and provide different UX.
16:19:03 [jrossi]
rbyers: let me understand jquery better. you listen to touch events first, and ignore mouse events during. at what time do you start listening to mouse again?
16:19:41 [jrossi]
scott_gonzalez: as soon as another interaction starts (after touchend) we start over
16:20:00 [jrossi]
rbyers: i don't think that works because the mouse events come after. how did you handle double firing?
16:20:28 [jrossi]
rbyers: need to make sure you don't do a redundant action
16:20:47 [jrossi]
scott_gonzalez: not sure about that part. I think they just use their tap event, but I'd have to check with them.
16:22:20 [jrossi]
rbyers: I'd like to make this a short snippet of JS rather than some crazy recommended heuristics
16:22:36 [jrossi]
scott_gonzalez: I think devs do that, but just use a fastclick library
16:23:34 [jrossi]
rbyers: I think if that was the extent of the problem, then I wouldn't think this needs further problem. But I think the issue isn't just about click, but they have both touch & mouse handlers and need to avoid duplicate.
16:23:50 [jrossi]
scott_gonzalez: to be honest, developers have been saying pointer can solve this
16:24:02 [patrick_h_lauke]
patrick_h_lauke has joined #touchevents
16:24:28 [patrick_h_lauke]
(oops i think i've been disconnected...? ... repasting my previous message in case it got lost)
16:24:37 [jrossi]
rbyers: yeah, we can look at this as something for touch events to help pointer event polyfills
16:24:52 [patrick_h_lauke]
patrick_h_lauke has joined #touchevents
16:26:11 [mbrubeck]
Mozilla has a non-standard MouseEvent.mozInputSource (basically MouseEvent.pointerType):
16:26:11 [patrick_h_lauke]
patrick_h_lauke has joined #touchevents
16:26:16 [jrossi]
mbrubeck: I have some feedback based on FF experience. Gecko has a non-standard inputSource property
16:26:36 [jrossi]
mbrubeck: not really used on the web, but we have used it in FF UI code
16:26:55 [jrossi]
mbrubeck: 100% of the time we use it to tell if you have a mouse event created from touch
16:27:35 [jrossi]
rbyers: the very simple proposal is add a bit to MouseEvent that helps you know it came from TouchEvent
16:28:15 [jrossi]
patrick_h_lauke: I think the issue is that we're making it so touch specific. just in the case that we need a geenratedFromSomeOtherDevice flag in the future
16:28:44 [jrossi]
mbrubeck: you need to know not just if it's derived but that its from something else you handled
16:29:08 [jrossi]
16:29:23 [jrossi]
this was something I threw out as an idea with rbyers
16:30:09 [jrossi]
rbyers: I like this because presumably you could also do firedFrom("PointerEvent")
16:30:23 [jrossi]
rbyers: my proposal though is probably more discoverable
16:30:32 [jrossi]
jrossi: yeah, that's true
16:30:58 [jrossi]
rbyers: could imagine a hybrid where firedFrom is an object with different event model members
16:31:00 [asir]
asir has joined #touchevents
16:31:09 [jrossi]
patrick_h_lauke: could just be a string
16:31:39 [jrossi]
patrick_h_lauke: could have even more specific with some unique id
16:31:56 [jrossi]
patrick_h_lauke: I think it's finding the middle ground.
16:32:15 [jrossi]
mbrubeck: yeah rbyer's doc rejects the idea of providing the original event
16:32:44 [jrossi]
rbyers: has great complexity issues with lifetime management and threading
16:33:08 [jrossi]
rbyers: if there's a really compelling case, we can explore it. otherwise, would rather not.
16:33:11 [jrossi]
jrossi: i agree
16:33:18 [jrossi]
jrossi: it's a nightmare
16:34:03 [jrossi]
rbyers: other thing is that just a string doesn't let you have future models [describes pointer & touch both firing mouse]
16:35:19 [patrick_h_lauke]
patrick_h_lauke has joined #touchevents
16:35:24 [jrossi]
patrick_h_lauke: there's still an issue of code not knowing about future event types that get added (even if it's not a string)
16:35:26 [patrick_h_lauke]
so conceptually...we want to provide developers enough information to "pick" which event they want to listen to (rather than using either big hammers like preventDefault() to kill off certain events, or having to keep track of event sequences of "which event came first" and then debouncing or avoiding double handling).
16:35:30 [patrick_h_lauke]
you want devs to be able to "dip" into the event stream and choose what they're interested in, rather than having to manipulate this stream (preventDefault) or having to duplicate functionality (counting, keeping track of events, setting their own flags of what they handled, etc).
16:36:28 [jrossi]
rbyers: yeah, that sounds like a good characterization to me. nit: not necessarily listen to, but respond to. it's not until the actual event that they know whether they want to do something with it.
16:37:39 [jrossi]
rbyers: i don't have a strong opinion on the small API differences. but maybe next concrete steps is to write it up more formally and propose to DOM Events group
16:38:24 [jrossi]
rbyers: i sent my original proposal and they gave feedback that it was a little too specific
16:38:54 [jrossi]
rbyers: is there a real difference between the method that takes a string and the object?
16:39:13 [jrossi]
jrossi: we have to bikeshed, rbyers. :-)
16:39:49 [patrick_h_lauke]
wondering if method way is more extensible (not needing blessing from other groups to extend DOM event)
16:39:52 [jrossi]
rbyers: I can whip up a version where firedFrom is a object with properties
16:39:58 [patrick_h_lauke]
vs individual properties...
16:42:52 [rbyers]
zakim, who is noisy?
16:43:02 [Zakim]
rbyers, listening for 10 seconds I heard sound from the following: +1.571.426.aabb (76%), rbyers (49%)
16:43:12 [rbyers]
zakim, mute aabb
16:43:12 [Zakim]
+1.571.426.aabb should now be muted
16:43:58 [jrossi]
rbyers: i think given that, I think Jacob's proposal is less likely to cause future problems. i can edit the doc i linked to with this proposal.
16:44:09 [rbyers]
Topic: Identifying touch events that will trigger a tap / click
16:44:09 [rbyers]
16:44:09 [jrossi]
jrossi: are you going to send that to th DOM group?
16:44:15 [jrossi]
rbyers: I'll circle it with you guys first
16:50:00 [patrick_h_lauke]
note: even pure touchscreen-only can be problematic when coupled with assistive tech
16:50:38 [asir]
asir has joined #touchevents
16:52:19 [patrick_h_lauke]
16:53:44 [jrossi]
rbyers: one other problem. with this API shape, we don't have a way of telling if the browser doesn't support the event type you passed
16:54:18 [jrossi]
rbyers: don't have an "i don't know" return value
16:54:45 [jrossi]
rbyers: we might need a yes, no, unknown
16:56:10 [patrick_h_lauke]
16:56:30 [jrossi]
jrossi: just want to make sure we don't get into solving the hasFeature problem. that's a different problem.
16:56:39 [jrossi]
rbyers: suggest we table the second topic for next week
16:56:45 [jrossi]
rbyers: objections?
16:56:50 [jrossi]
16:56:57 [rbyers]
Topic: AOB
16:59:13 [scott_gonzalez]
I need to drop off and join another call.
16:59:30 [patrick_h_lauke]
"prioritization games", the lesser known sequel to "hunger games" ...
17:01:05 [Zakim]
17:01:36 [Zakim]
17:01:37 [Zakim]
17:01:43 [Zakim]
17:01:50 [Zakim]
17:02:22 [jrossi]
RRSAgent, make log Public
17:02:31 [jrossi]
RRSAgent, make minutes
17:02:31 [RRSAgent]
I have made the request to generate jrossi
17:03:47 [jrossi]
Chair: rbyers
17:04:39 [jrossi]
Present: jrossi, rbyers, tdresser, scott_gonzalez, mbrubeck, patrick_h_lauke
17:04:56 [jrossi]
RRSAgent, make minutes
17:04:56 [RRSAgent]
I have made the request to generate jrossi
17:06:30 [rbyers]
jrossi: thanks, was just going to ask. Guess I should add one more missing thing:
17:06:33 [rbyers]
Regrets: ArtB
17:06:43 [rbyers]
RRSAgent, make minutes
17:06:43 [RRSAgent]
I have made the request to generate rbyers
17:06:50 [jrossi]
17:07:23 [Zakim]
- +1.571.426.aabb
17:07:25 [Zakim]
RWC_PEWG()11:00AM has ended
17:07:25 [Zakim]
Attendees were Scott_Gonzalez, rbyers, +44.797.663.aaaa, patrick_h_lauke, +1.571.426.aabb, Matt_Brubeck, jrossi
17:09:30 [jrossi]
jrossi has left #touchevents
17:11:46 [patrick_h_lauke]
patrick_h_lauke has left #touchevents
18:17:13 [tdresser]
tdresser has joined #touchevents
19:02:42 [Zakim]
Zakim has left #touchevents
19:12:34 [smaug]
smaug has joined #touchevents
19:41:33 [rbyers]
Present+: Asir_Selvasingh
19:41:45 [rbyers]
RRSAgent, make minutes
19:41:45 [RRSAgent]
I have made the request to generate rbyers
19:59:13 [shepazu]
shepazu has joined #touchevents
22:03:16 [shepazu]
shepazu has joined #touchevents
23:03:19 [shepazu]
shepazu has joined #touchevents