Web API WG Teleconference
19 Mar 2008


See also: IRC log


Doug, aemmons, Carmelo, smaug, Travis
Andrew Emmons




<trackbot> Date: 19 March 2008

<shepazu> http://www.w3.org/2008/webapps/wiki/Key_event_order

<smaugAfk> Zakim: ??P20 is me

<scribe> Scribe: Andrew Emmons

<scribe> ScribeNick: aemmons

<shepazu> http://www.w3.org/2008/webapps/wiki/Telcon_procedures



<shepazu> http://www.w3.org/2008/webapps/wiki/Mousewheel#Proposal_1:_Single_Event_With_Multiple_WheelDeltas

DS: There are two proposals
... Was not clear the first time I wrote it
... First proposal is a single event, second has two events

TL: I read AvK's response

DS: My testing did not validate this

<mjs> I remember that at a past f2f we decided a single event was not workable, for compatibility reasons

<mjs> in other words, it would be a compatibility hazard to have mousewheel fire for non-vertical wheel action

TL: We need to keep backward compatibility in mind but should focus on the ultimate end game

DS: There is nothing we can do about old apps, some people will have older browsers,
... Let's focus on a real solution

<shepazu> mjs, can you join the telcon?

<mjs> shepazu: I'm hungry and I'd like to get some lunch, but I can join briefly if you guys need me to recapitulate the compatibility issues

<mjs> I thought I summarized them pretty well here: http://lists.w3.org/Archives/Public/public-webapi/2006May/0029.html

<shepazu> mjs, my testing showed that not to be the case, can you supply a test that shows it?

<mjs> showed what not to be the case?

TL: The above mentions stair-stepping issue and incompatibility with a single event

<mjs> The compat issue is, specifically, 'Content using the existing nonstandard "mousewheel" event. In this case, it is assumed that the event is for a vertical scroll only, and apparently content depends on the delta not being 0.'

<shepazu> mjs, case 1) is what I tested against, and the mighty mouse and trackpad, at least , worked fine

<shepazu> I don't know about the content

CM: Google maps depends on delta is not zero

<mjs> the mac trackpad and mighty mouse do not generate "mousewheel" events for scrolls that are purely horizontal

TL: In other words the event only fires if there is a real delta change

<mjs> for reason of the compat issues above

<mjs> we never fire a mousewheel event with a wheelDelta of 0

<mjs> we have an internal separate horizontal only wheel event

<mjs> I should go to lunch

<mjs> if you guys are still at it in 45-60 min I can call in

<shepazu> mjs, please send a detailed email

<mjs_lunch> shepazu: my email from 2 years ago was already detailed

<shepazu> not detailed enough

<mjs_lunch> then you need to tell me what your remaining questions are

<shepazu> "apparently content depends on the delta not being 0" is vague

<mjs_lunch> this was cited by many people at the f2f

<mjs_lunch> I did not consider it a controversial point

<shepazu> ok

<mjs_lunch> apparently someone on the call confirmed that Google Maps for one depends on this

<shepazu> I'd like to see more details

DS: We will address it later, in 45 min

<shepazu> thanks

DS: I would like to see compelling evidence that web application rely on this and in particular that they cannot change
... By default wheelDelta is always the 'most significant' of the two - it will never be zero

TL: What is wheel delta? Is it an alias of the other two? A direction vector?

DS: Should wheelDelta be only the y?

TL: wheelDelta is in the wild

DS: May be good to have wheelDelta only the y

AE: Then we'd have the issue of a mousewheelevent fired with wheelDelta of 0

DS: That is correct, content out there will have to check that the wheel delta is not zero

<shepazu> if ( !evt.wheelDeltaX && 0 == evt.wheelDelta) {...}

AE: Having two events makes content creation harder

TL: Generally speaking the fewer events fired the faster performance can be

<shepazu> http://lists.w3.org/Archives/Public/public-webapi/2008Mar/0169.html

<shepazu> "For existing apps, it doesn't seem like it would be that hard to short-circuit the mousewheel event handlers to check for a non-zero wheelDelta before continuing with the code."

DS: If you look at any code that deals with the wheel, their all using something different
... (reads various events)
... I htink it would be great is we supplied a 'patch' library
... Here is the old way, here is the new way, here is the patch between

TL: Examples, non-normative

Key event sequence model

<shepazu> http://www.w3.org/2008/webapps/wiki/Key_event_order

TL: Doug and I took a look at the proposal, an informative section to describe typical flow of key events
... Tried to express in a linear progression
... Due to complications like keyRepeat, IME editors, etc,
... thought it would be better to express in a state transition diagram

DS: Talked a little about this last week

TL: I like having an example proposal out there - is a should requirement with an emulation layer for example to achieve it

DS: I would go so far as to say it would be normative
... should for emulation layer
... May just give events in device sequence
... I will draw up state chart diagram

TL: I like having it clearly specified
... Much easier to get it right if it is clear and specific

<smaug> OP

OP: I like this as well

<shepazu> ACTION: Doug to draw up state chart diagram for key flow [recorded in http://www.w3.org/2008/03/19-webapi-minutes.html#action01]

<trackbot> Created ACTION-263 - Draw up state chart diagram for key flow [on Doug Schepers - due 2008-03-26].

OP: Had some questions about the second keyPress
... Why is there another keyDown in the repeat process?

TL: You are saying the second keyDown in the list?
... We'll try and get it in a form we can visualize better

DS: I understand the rationale for a single keyDown

TL: Some browsers have keyPress AFTER keyUp

DS: I would like for this to be a neat model, if it has to get messy to account for what web apps depend upon, so be it

TL: go for least common denominator, or most common feature, for exmaple

DS: I think we should take content with a grain of salt
... - existing content being developed and maintained can be altered
... - older content not miantained and is not active looses relevance as time goes on
... - for every piece of content which relies on one behavior, changes there is another piece that breaks in another area

TL: Minute changes for the better always breaks somebody
... Some cases argue it is appropriate given the progress being made

cmd +/-

scroll event

DS: Pressing because we're already talking about mousewheel

<shepazu> http://www.w3.org/2008/webapps/wiki/Scroll

TL: Related to OnScroll, related to HTML4?

<shepazu> http://www.w3.org/TR/html401/interact/scripts.html#events

TL: Doesn't look like it is in the HTML 4 spec

CM: Perhaps Netscale 3.0

DS: I came up with a few use cases and requirements
... Would be good if you could come up with more and add them
... Would be nice to have scrollX, scrollY, offset, whatever in the vent
... Now they get the event and ask the window how much
... I put the idea in for a mode ( pixel, page, screen, etc )
... Things that Mozilla does
... ex: line scrolls one line of text

TL: A web-page can have all sorts of fonts and styles

DS: May be contextual - only for drop-downs, etc
... Should this happen at the level of mousewheel?
... Have a dropdown - scrolling
... If I send a wheel event to browser, that gives one thing
... Default action of mousewheel is to through a scroll event
... Scroll event knows the element on which it was activated
... Can determine what mode it is going to be in
... Even a whelleDelta of 4 or 1 is sufficient to scroll a line, for a dropdown

TL: If you can cancelledthe wheelevent, you would not fire the default action of scroll event

OP: Scroll event happens after an event has occurred, cannot cancel
... Scroll event is about how much some content has been scrolled
... If you look at our pixel scrolling bug, a Mac can generate a pixel event and a line event
... There are both

DS: This is happening at the wheel level, not the scroll level?

OP: Yes - browser gets different kind of events from OS

TL: I think a wheelevent is caught before any action is taken
... Browsers have a default action to cause the viewport to scroll
... User should be able to cancel the event and do something else
... Mousewheel happens at a higher level of abstraction

OP: Scroll even is not bound to the wheel event

DS: Not an absolute relationship but a normal relationship
... Looks like we need more work
... Like to have more information

<scribe> ACTION: Doug to research line and pixel mode for mousewheel [recorded in http://www.w3.org/2008/03/19-webapi-minutes.html#action02]

<trackbot> Created ACTION-264 - Research line and pixel mode for mousewheel [on Doug Schepers - due 2008-03-26].

DS: Would be nice to keep mousewheel abstract

OP; What does wheelDelta mean? Corrdinates?

TL: Could be we report in pixels, lines, etc. Could see being very useful

DS: I made the units role, but we could say what units

TL: Least common denominator being pixel, fairly standard unit

DS: Probably a more generalized, set way that this happens

mousewheel event revisited

DS: Can we get a resolution to add the mousewheel proposal to the spec?

TL: +1

AE: +1

CM: +1

OP: +1

Resolution: We resolve to add proposal into the spec and to add informative wording as to workarounds

<scribe> ACTION: aemmons to add new mousewheel to the DOM 3 Ev spec [recorded in http://www.w3.org/2008/03/19-webapi-minutes.html#action03]

<trackbot> Created ACTION-265 - Add new mousewheel to the DOM 3 Ev spec [on Andrew Emmons - due 2008-03-26].

keyboard identifiers and keyboard events

Key Events

<shepazu> http://www.w3.org/TR/DOM-Level-3-Events/keyset.html

DS: Please review within the context of your implementation
... Does not address IME very well
... charCode and keyCode - only specifies keyCode
... no charCode
... Because a lot of content relies on charCode, we've been asked to define charCodes
... Rather than a list, in the appendix of keyIdentifies, should be table - charCode, keyCode and keyIdnentifier

TL: Is charCode the common denominator?

DS: I think so

TL: The same charCodes?

DS: I do not think so

TL: If we do not specify it and just keep keyIdentifiers, will every one use these instead?

DS: The main problem is not that is is flawed ( not perfect by any leans ) simply did not get enough people to say they would implement it
... If we can get major implementers to implement keyIdentifiers, it would be very good

TL: There is a clear goal to make sure that the standards are 'sane'. Events we're interested in getting right
... I can commit there will be a DOM Level 3 events implementation in the future
... We want to implement this standard

DS: We have implementation experience with this
... BitFlash has implemented this
... Have gotten feedback from content creators that for the most part the like it
... Get soft1, soft2, etc
... One thing they do not like is the U+0032
... Unituitive

TL: Have to consult lookup table, etc

DS: If you just want the keyboard letter, let the browser do the lookup
... If you are using a unicode character set, can put in any letter you want
... Also have the named keyIdentifiers

TL: Perhaps we keep the key identifier list as is, move the uicode key strings to perhaps another property
... could supply key or keyIndentifier

<mjs_lunch> I'm back

<mjs> if anyone wants to call in, lemme know

DS: The issue is - there are certain keys that give a unicode value, certain keys that do not
... We supply a named set
... keyIdentifiers say either a named key or a unicode value

TL: Consider 'A' - string is U+0041
... You are suggesting 'A' ( string )

DS: 'in addition you can type in any unicode value' or just 'A'
... Constraint - ally named keys have to be more than X characters

Summary of Action Items

[NEW] ACTION: aemmons to add new mousewheel to the DOM 3 Ev spec [recorded in http://www.w3.org/2008/03/19-webapi-minutes.html#action03]
[NEW] ACTION: Doug to draw up state chart diagram for key flow [recorded in http://www.w3.org/2008/03/19-webapi-minutes.html#action01]
[NEW] ACTION: Doug to research line and pixel mode for mousewheel [recorded in http://www.w3.org/2008/03/19-webapi-minutes.html#action02]
[End of minutes]

Minutes formatted by David Booth's scribe.perl version 1.133 (CVS log)
$Date: 2008/03/19 20:15:43 $

Scribe.perl diagnostic output

[Delete this section before finalizing the minutes.]
This is scribe.perl Revision: 1.133  of Date: 2008/01/18 18:48:51  
Check for newer version at http://dev.w3.org/cvsweb/~checkout~/2002/scribe/

Guessing input format: RRSAgent_Text_Format (score 1.00)

Succeeded: s/perofrmance/performance/
Succeeded: s/IE?/HTML4?/
Found Scribe: Andrew Emmons
Found ScribeNick: aemmons
Default Present: Doug, aemmons, Carmelo, smaug, Travis
Present: Doug aemmons Carmelo smaug Travis
Agenda: http://www.w3.org/2008/webapps/wiki/19_Mar_2008
Found Date: 19 Mar 2008
Guessing minutes URL: http://www.w3.org/2008/03/19-webapi-minutes.html
People with action items: aemmons doug

WARNING: Input appears to use implicit continuation lines.
You may need the "-implicitContinuations" option.

[End of scribe.perl diagnostic output]