Dedicated to Charles, sine qua non.
Writers and screenwriters have such an artistic device: at the beginning of a book or a movie, the characters find themselves in some very strange and incomprehensible situation, and then within two hours it gradually becomes clear how they got into this situation.
Today I will tell you,% username%, just such a detective story. And the complication in this story will be the sudden appearance here, at number 5, of one suspiciously Russian last name:
')
www.w3.org/2001/tagThis story begins in the rainy March of 2013, when I learned that the W3C Pointer Events working group is collecting the latest comments on its specification. (Honestly, I don’t remember how the weather was in March, but for some reason I want it to be rainy.)
The fact is that half a year before we killed a disproportionate amount of time for the implementation of working with pointer-events in IE10. I would even say, some absurdly disproportionate amount of time. The complexity of the implementation of this functionality turned out to be much more evaluative due to (a) lack of thought and dampness of the standard itself, (b) the presence of a heap of thin and not described in the documentation points, (c) a significant difference in implementation on different platforms (Win 7 / Win 8).
Yes, I forgot to say, “we” is, in this case, the Yandex.Maps API team, which I have the honor to lead. We in the API have traditionally devoted significant time to supporting various kinds of mobile / touch browsers, but IE10 exceeded all imaginable expectations. I think I’m not going to turn my head very much if I say that we killed more time on IE10 / IEMobile than on all other mobile browsers combined.
And so, at the end of March, our web standards consultant
Charles McKeti Neville, aka
chaals, said that the W3C is collecting the latest comments on the draft standard for Pointer Events and wondered if anyone has any comments. (Note: if you didn’t understand anything from this sentence,% username%, see Charles’s
great interview on how W3C works.)
I read this specification; surprisingly, it was an exact tracing of the functionality already implemented in IE10, just without the “MS” prefix. “For a long time I did not take a piece of sword in my hands,” I thought, and sat down to write comments.
You can observe the peripetias of this wonderful correspondence in the official newsletter of the Pointer Events group, starting with this letter:
lists.w3.org/Archives/Public/public-pointer-events/2013JanMar/0184.html and further by reference. The original letter was written by Charles, but the subsequent letters from Sergey Konstantinov are mine.
Oops, I seem to unwittingly reveal my incognito. However, according to the results of the whole story that I am telling you, I have become a much more public person than I would like; so, it seems, it is time to develop a little virtualization on Habré. My name is Sergey Konstantinov, I am the head of the Yandex.Maps API development team (in Yandex, as the cap suggests), and more recently I am also involved in the W3C Technical Architecture Group (aka TAG). But before that we will get there.
I, by the way, have a virtual on Habre -
SergeyKonstantinov - which I got to post official articles and news. I didn’t have enough for a long time - it’s not mine :) Therefore, you shouldn’t take me as some kind of official representative of Yandex on Habré. I do what I like here; mostly troll and throw, in places quite epic. By the way, taking this opportunity, I would like to convey a separate hello to those who minus
this comment.
So, back to our sheep. I will not retell here a long and fruitless correspondence with the Pointer Events WG; All the answers to my comments looked like this: either "a good point, be sure to write it in the second version of the specification", or "and our experts say it is ok." (For example, the question: how do I cancel the reaction to browser events through one part of the canvas, and skip the other?) Answer: get two canvas, how small.) In the end, I managed to achieve exactly one thing: the requirement to remove mouse events was removed from the specification id = 1. (Which, as you understand, did not require any changes to the IE code.)
I quit this useless correspondence after about three weeks, when I realized that (a) no one would change anything, (b) and if it did, it would be worse for us only, because we have to rewrite all the code under IE. Well, to the heap, I already started there to be a little rude in the style of "what's wrong with you, man?"

In short, my first call on a more intimate communication with the developers of the standards ended with a complete file and demotivation. In reality, it was almost impossible for an outsider to influence standards developers. I had to go the other way, namely through the W3C TAG.
TAG (Technical Architecture Group) is a special group in the W3C, whose main task is to coordinate all other working groups, to solve cross-standard issues and - most importantly! - development of a unified architectural approach to web standards. Read more about this in
TAG Charter . The TAG consists of 9 members and a chairperson who is Tim Burners-Lee. Three participants are appointed by the chair, and six more are elected by the W3C Advisory Committee.
In May, one of the six selected members left the TAG ahead of schedule, as Went to work at Mozilla, and TAG rules prohibit one company from delegating more than one member to TAG. Thus, early elections were announced, and we (Yandex) decided to take part in them.
Frankly, getting involved in this whole adventure, I did not really count on success. I wrote several “pre-election” posts available on my tumblr-blog:
konstantinov.cc , in which (rather mildly) I
criticized the inattention of the working groups to external feedback and the general fragmentation of architectural principles in different working groups. In addition, I wrote a
great post about how, in my opinion, should develop an API. (Spoiler:
come to YaC , there will be an hour report from our team about the API architecture.)
And so, on July 18, I suddenly found in the mail a letter from Daniel Eppelquist, co-chairman of TAG, with congratulations and the course of a young fighter. Frankly, I am still in some kind of shock, although a month has passed already, I managed to participate in three newsgroups, one review and make the first committ in w3ctag github.
TAG does not have any particular formal responsibilities; each of its participants, in the main, determines the direction of its activities. I, as promised, volunteered to conduct a review of new specifications and develop an API Design Guide, which I am trying to do to the best of my modest forces.

On this, it seems, an almost detective story of the appearance of my last name on the W3C TAG list is over. Stay tuned.
PS A big request to the commentators is not to quit in Petrosyanism. I have already been asked to make a normal change event in input and prohibit www. TAG does not do this, do not write crazy sentences here; I am an intelligent person, I can swear.
PPS But, at the same time, one of the goals of my work is to convey the wishes of the Russian-speaking developers to the W3C (and vice versa), so the feedback on the organization of interaction between the W3C and the developers is accepted.