Re: Agenda for the WebDriver meeting in London, January 11th

Hi everyone,

My original plan to be at the meeting has been changed somewhat. My baby
son was born on the 6th January, a few weeks earlier than planned. He's
doing brilliantly, but I'll be at home with my new family on the day.
Having said that, a few comments inline.

On Mon, Jan 9, 2012 at 2:32 AM, Wilhelm Joys Andersen <w@wja.no> wrote:

> Hi!
>
> It's just a few days left until the first meeting in the Browser
> Testing and Tools Working Group, taking place in London on January
> 11th. I'm looking forward to see several of you there. (c:
>
> Below is a proposed agenda and some practical details.
>
> We meet at the Google office at Belgrave House, 76 Buckingham
> Palace Road, London SW1W 9TQ, United Kingdom, at 10:00 local
> time. A map is available here: http://goo.gl/6TEf7
>
> (Thanks to our friends at Google for hosting!)
>

Daniel and Eran, could one of you please be in the office by 9.30 in order
to meet people? I have ENIAC booked for the day (10-6) and have forwarded
you the attendees list. Could you please reserve a table in the cafe on the
5th floor for everyone?


> The main topic of the meeting is the WebDriver specification. A
> very rough and early draft can be found here:
>
>  http://dvcs.w3.org/hg/webdriver/raw-file/515b648d58ff/webdriver-spec.html
>
> Please make yourself familiar with the draft before we meet.
>

As you can see, the text is now checked into the w3 mercurial repo. To
build the spec:

cat *_*.html > webdriver-spec.html

That explains the numbering of the files.

On the agenda for the day is:
>
>  10:15 - Introductions
>  10:30 - How does the W3C standardization process actually
>          work? (Wilhelm Joys Andersen)
>  10:45 - A quick walkthrough of the draft spec (Simon Stewart)
>

I think that David Burns (the co-editor) should probably be doing this.


>  11:00 - Break
>  11:10 - Discussions
>
> I have deliberately avoided planning the spec discussions in great
> detail. The questions we need to discuss include, but are not limited
> to, the following:
>
>  * What should be specified, and what should be left up to
>    implementers?
>

My aim with this subject would be to ensure that existing implementations
(Chrome, Opera and the OSS project) are already broadly in compliance with
the spec, but allow future implementations to be written in the way that's
most efficient for the browser. Specifically, this means that I've been
attempting to construct the spec as a series of commands and parameters,
leaving encoding and transport undefined. There will be a non-normative
mapping of these commands to HTTP and JSON included in the spec. Other
encodings and transport mechanisms (protobufs over scope, some form of RPC,
using Thrift, etc.) should not be precluded. I imagine that this
flexibility will be most useful for browsers on mobile devices.

In addition, the spec only talks about the end points, assuming any
additional architectural tiers (such as the Selenium Grid) are transparent
and conform to the spec.

Finally, I strongly believe that the spec needs to support both in-process
(that is JS bindings) and out of process (similar to the existing remote
webdriver) implementations, and for the user-facing API to be written from
the point of view of the person using the bindings (as the current
webdriver api is). This is because our experience over many years suggests
that test authors want to use the language being used to write the app
under test, and these will probably be the largest group of consumers of
this spec once complete.


>  * Does the outline of the draft spec look alright? Is there
>    anything fundamental we've forgotten?
>

In particular, how should the commands and parameters be written in the
spec? Would a table at the start or end of a section be appropriate? And/or
as each command is introduced? In a table at the end of the spec?


>  * What are our currently open issues? Where do implementations
>    disagree? How do we resolve that?
>
>  * Are there any sections we can delegate? Would you be able to
>    draft a chapter or paragraph?
>

Alternatively (or as well), I'm more than happy to work with David and
other WebDriver committers to write sections which can then be discussed
and debated. Eran is probably best placed to spec out the advanced user
interactions.


>  * What will our official test suite consist of, and who will
>    lead the work?
>

Our test suite already has a space in the mercurial repo, parallel to the
spec and called "webdriver-tests". At the first meeting, we discussed
writing tests in JS or Python. I'm still happy with either choice, but
Python is my preference. David Burns has already started looking at some of
this work.

It would make most sense for the tests to be added as each section of the
spec is committed in order to ensure that everything is as close as
possible to being in sync.


>  * Are there other organizations we wish to bring to the table
>    for the future work?
>

Apple seems like the most obvious missing face at the table.


> We'll have lunch together during the day, and aim for ending the
> meeting at 16:30. If we manage to rush through the questions above,
> we'll spend the remaining time doing real work - writing and
> reviewing spec prose and tests.
>

Please feel free to call me on my mobile if you get to this point, and I'll
log on to a video conference to be available for discussions. I'll be
discussing the agenda and the spec with David before the meeting, so he
should know what I do. In addition, two of the Google webdriver team, Eran
Messeri and Daniel Wagner-Hall will be on hand. Both of them are extremely
familiar with the work that's already been done and the planned future
direction of the spec and the project.


> If you get lost, can't find the venue, or for any other reason
> need to get in contact with me, feel free to call me at
> (+47) 97723641 or ping me at IRC (wilhelm @ freenode and w3.org).
>
> If you have any suggested additions or changes to the agenda,
> feel free to either prod me directly or send a reply to this list.


Looks excellent to me. Thank you!

Simon

Received on Monday, 9 January 2012 17:27:17 UTC