Re: RfC: Is Web Sockets API ready for LC publication? [Was: Re: [websockets] Getting WebSockets API to Last Call]

2011-09-20 Thread Arthur Barstow

Yesterday, Hixie checked in a fix for 13777.

Bug 13104 (Enable keepalive on WebSocket API) was closed (WontFix) but 
reopened on September 18. Since various group members agree with not 
addressing this bug for v1, I will proceed with a CfC to publish a LC of 
the Web Socket API. (Perhaps this bug could be moved to the PostPoned 
state and (re-)considered for v2?).


Editorial bugs 12510 and 13700 will not block the LC (although it would 
be great if they were fixed ;-)).


If any new bugs are submitted after the RfC begins, we will consider 
those bugs as LC comments.


-AB

On 9/15/11 9:07 AM, Arthur Barstow wrote:
As an update on this RfC, note that ATM, 13777 is the only 
non-editorial bug that remains open:


http://www.w3.org/Bugs/Public/show_bug.cgi?id=13777

I would appreciate it, if people would please provide input on this bug.

-AB


On 9/9/11 6:05 PM, ext Brian Raymor wrote:
  13777 - The WebSocket protocol draft (hybi-10) restricts the value 
of subprotocols as follows: The elements that comprise this value 
MUST be non- empty strings with characters in the range U+0021 to 
U+007E not including separator characters as defined

New, Assigned to Ian Hickson
MICROSOFT PROPOSAL: We'd like to see the spec updated as outlined in 
this bug.






RfC: Is Web Sockets API ready for LC publication? [Was: Re: [websockets] Getting WebSockets API to Last Call]

2011-09-14 Thread Arthur Barstow

Hixie, Brian, Jonas, All,

Since Brian sent the original e-mail [1], there has been some Bugzilla 
activity and there are now 5 open bugs for Web Sockets. It appears to me 
(and please correct me if I'm wrong) the .binaryType issue Jonas 
raised on the list [2] will not result in any spec changes.


I agree 12510 and 13700 are editorial bugs and as such do not need to 
block LC.


Re the other open bugs, Brian suggests: 13104 and 13984 should be 
closed; 13777 be addressed as outlined in the bug; 13990 (which is now 
marked as Resolved Invalid)  also be addressed as indicated in the bug.


Ideally, all open bugs should be closed before a LC is published. 
However, we can also use an LC now to gather input on the open bugs.


Brian proposes an LC be published now with the spec as is. What do 
others think?


-AB

[1] http://lists.w3.org/Archives/Public/public-webapps/2011JulSep/1365.html
[2] http://lists.w3.org/Archives/Public/public-webapps/2011JulSep/1182.html


On 9/9/11 6:05 PM, ext Brian Raymor wrote:

The IETF HyBi WG has moved beyond Last Call and has presented the WebSockets 
protocol to the IESG for approval:
  
	http://www.ietf.org/mail-archive/web/hybi/current/msg08640.html


Now that the protocol is more stable, I think that the current WebSockets API 
is feature complete and meets the requirements for publishing a Last Call 
working draft to encourage broader review and feedback.
  
Here is my review of the outstanding bugs (not closed, where resolution not Fixed). I recommend that the outstanding issues be resolved as Last Call comments and would like to see a CfC to publish a LCWD shortly.
  
9973 - If the entry's name is sec-websocket-protocol 0 please don't put normative requirements in parenthesis

Resolved, NeedsInfo
MICROSOFT PROPOSAL: Close the bug - This bug is a year old, likely out of date 
now, and from an anonymous contributor
  
12180 - give the name of url to download the Jetty server

Resolved, NeedsInfo
MICROSOFT PROPOSAL: Close the bug - This bug is from an anonymous contributor 
from 6 months ago. The API spec doesn't need to link to server implementations.
  
12510 - Specs split off from HTML5 (like WebSockets) need to have xrefs linked, otherwise they're ambiguous

Reopened, Assigned to Ian Hickson
MICROSOFT PROPOSAL: This is an editorial bug that should not block Last Call
  
13104 - 1) ping(msg); //allow client to send server ping as per websocket spec 2) onpong();//allow client to receive response of ping

Resolved, NeedsInfo
MICROSOFT PROPOSAL: Close the bug - It's not necessary to include API support 
for ping/pong. In addition, this bug has been inactive for two months.
  
13172 - The definition for [MessageEvent] is missing

Resolved, NeedsInfo
MICROSOFT PROPOSAL: Close the bug - It's been inactive for a month and 
MessageEvent is defined in the HTML5 Web Messaging specification.
  
13700 - W3C SotD of this document still mentions whatwg.org version of the WebSocket protocol which is out of date.

New, Assigned to Ian Hickson
MICROSOFT PROPOSAL: This is an editorial bug that should not block Last Call
  
13777 - The WebSocket protocol draft (hybi-10) restricts the value of subprotocols as follows: The elements that comprise this value MUST be non- empty strings with characters in the range U+0021 to U+007E not including separator characters as defined

New, Assigned to Ian Hickson
MICROSOFT PROPOSAL: We'd like to see the spec updated as outlined in this bug.
  
13984 - Need a way to object detect which binary formats are supported before connecting

New, Assigned to Ian Hickson
MICROSOFT PROPOSAL: Close the bug. The original issue (binary support detection 
in Chrome) should be addressed in WebKit. The additional scenario (querying 
which binary types are supported) is not required in V1.
  
13990 - Need a spec for CloseEvent constructor

New, Assigned to Ian Hickson
MICROSOFT PROPOSAL: We'd like to see the spec updated as outlined in this bug.
  
14057 - In section The WebSocket interface when describing the operation of the WebSocket constructor, the following statement is made: Return a new WebSocket object, and continue these steps in the background (without blocking scripts). ...

New, Assigned to Ian Hickson
MICROSOFT PROPOSAL: Resolve the bug as duplicate (12510) and close.
  
In addition, there is a new discussion on design changes for binary message support related to the original discussions in 12102 - WebSocket protocol update time:
  
1-Sep-2011 ; [WebSocket API] .binaryType ; by Jonas, reply by Hixie

   http://lists.w3.org/Archives/Public/public-webapps/2011JulSep/1182.html
   http://lists.w3.org/Archives/Public/public-webapps/2011JulSep/1199.html
  
  
MICROSOFT PROPOSAL:


We do not support the proposed changes. Our implementation experience has not indicated this requirement. We find that most developers use blobs when there is a need to consume data as resources addressed by a URI or to store data in Indexed DB. We have haven't heard of a need to 

[websockets] Getting WebSockets API to Last Call

2011-09-09 Thread Brian Raymor
The IETF HyBi WG has moved beyond Last Call and has presented the WebSockets 
protocol to the IESG for approval:
 
http://www.ietf.org/mail-archive/web/hybi/current/msg08640.html

Now that the protocol is more stable, I think that the current WebSockets API 
is feature complete and meets the requirements for publishing a Last Call 
working draft to encourage broader review and feedback.
 
Here is my review of the outstanding bugs (not closed, where resolution not 
Fixed). I recommend that the outstanding issues be resolved as Last Call 
comments and would like to see a CfC to publish a LCWD shortly.
 
9973 - If the entry's name is sec-websocket-protocol 0 please don't put 
normative requirements in parenthesis
Resolved, NeedsInfo
MICROSOFT PROPOSAL: Close the bug - This bug is a year old, likely out of date 
now, and from an anonymous contributor
 
12180 - give the name of url to download the Jetty server
Resolved, NeedsInfo
MICROSOFT PROPOSAL: Close the bug - This bug is from an anonymous contributor 
from 6 months ago. The API spec doesn't need to link to server implementations.
 
12510 - Specs split off from HTML5 (like WebSockets) need to have xrefs linked, 
otherwise they're ambiguous
Reopened, Assigned to Ian Hickson
MICROSOFT PROPOSAL: This is an editorial bug that should not block Last Call
 
13104 - 1) ping(msg); //allow client to send server ping as per websocket spec 
2) onpong();//allow client to receive response of ping
Resolved, NeedsInfo
MICROSOFT PROPOSAL: Close the bug - It's not necessary to include API support 
for ping/pong. In addition, this bug has been inactive for two months.
 
13172 - The definition for [MessageEvent] is missing
Resolved, NeedsInfo
MICROSOFT PROPOSAL: Close the bug - It's been inactive for a month and 
MessageEvent is defined in the HTML5 Web Messaging specification.
 
13700 - W3C SotD of this document still mentions whatwg.org version of the 
WebSocket protocol which is out of date.
New, Assigned to Ian Hickson
MICROSOFT PROPOSAL: This is an editorial bug that should not block Last Call
 
13777 - The WebSocket protocol draft (hybi-10) restricts the value of 
subprotocols as follows: The elements that comprise this value MUST be non- 
empty strings with characters in the range U+0021 to U+007E not including 
separator characters as defined
New, Assigned to Ian Hickson
MICROSOFT PROPOSAL: We'd like to see the spec updated as outlined in this bug.
 
13984 - Need a way to object detect which binary formats are supported before 
connecting
New, Assigned to Ian Hickson
MICROSOFT PROPOSAL: Close the bug. The original issue (binary support detection 
in Chrome) should be addressed in WebKit. The additional scenario (querying 
which binary types are supported) is not required in V1.
 
13990 - Need a spec for CloseEvent constructor
New, Assigned to Ian Hickson
MICROSOFT PROPOSAL: We'd like to see the spec updated as outlined in this bug.
 
14057 - In section The WebSocket interface when describing the operation of 
the WebSocket constructor, the following statement is made: Return a new 
WebSocket object, and continue these steps in the background (without blocking 
scripts). ...
New, Assigned to Ian Hickson
MICROSOFT PROPOSAL: Resolve the bug as duplicate (12510) and close.
 
In addition, there is a new discussion on design changes for binary message 
support related to the original discussions in 12102 - WebSocket protocol 
update time:
 
1-Sep-2011 ; [WebSocket API] .binaryType ; by Jonas, reply by Hixie
  http://lists.w3.org/Archives/Public/public-webapps/2011JulSep/1182.html
  http://lists.w3.org/Archives/Public/public-webapps/2011JulSep/1199.html
 
 
MICROSOFT PROPOSAL: 

We do not support the proposed changes. Our implementation experience has not 
indicated this requirement. We find that most developers use blobs when there 
is a need to consume data as resources addressed by a URI or to store data in 
Indexed DB. We have haven't heard of a need to send a text message but then 
treat it as a blob. It also seems simple enough to convert text to blobs upon 
receipt?  

While limiting binaryType updates to onopen and onmessage appears to be more 
deterministic, it also implicitly suggests that network operations are then 
blocked on the completion of onopen or onmessage. For example, if the goal is 
to set the binaryType for the next message, then the next message cannot be 
received and the next onMessage event queued until the current onmessage 
completes. This may result in performance impacts on implementations that 
pipeline incoming messages.
 
 
 
 
 





Re: [websockets] Getting WebSockets API to Last Call

2011-07-21 Thread Arthur Barstow
Regarding the bugs Adrian identified in the e-mail below, here is my 
take on the status:


* Resolved: NeedsInfo: 9973, 12180, 13104; WontFix: 12816, 13178
* Moved to another component: 10213
* Open and considered Editorial (thus will not block LC): 12510, 13162, 
13180 and 13172 (not in Adrian's original list)


Since Adrian's email, Brian submitted two additional bugs that are Open:

13294 The send() method should fail the WebSocket connection when data 
cannot be sent 

http://www.w3.org/Bugs/Public/show_bug.cgi?id=13294

13295 The make disappear a WebSocket object case should not fail the 
WebSocket connection

http://www.w3.org/Bugs/Public/show_bug.cgi?id=13295

Based on the various comments on 12917 (currently Resolved as WontFix), 
there is no consensus on this bug:


http://www.w3.org/Bugs/Public/show_bug.cgi?id=12917.

I will follow up separately on 12917 via the [1] thread.

Comments, corrections, etc. on the above status are welcome.

-Art Barstow

[1] http://lists.w3.org/Archives/Public/public-webapps/2011JulSep/0241.html

On 7/7/11 6:00 PM, ext Adrian Bateman wrote:

We're keen to resolve the remaining issues with the WebSockets API and have a 
timetable
to get to Candidate Recommendation. From informal conversations we've had, we 
believe
other browser vendors share this goal. I think the current WebSocket API is 
feature
complete and meets the requirements for publishing a Last Call working draft to
encourage wider review and feedback. There are no tracker issues for 
WebSockets. Here
is my analysis of the outstanding bugs (not closed, where resolution not Fixed).
I believe the outstanding issues could be resolved as Last Call comments and 
would like
to see a CfC to publish a LCWD shortly.

9973 - If the entry's name is sec-websocket-protocol 0 please don't put 
normative
requirements in parenthesis
Resolved, NeedsInfo
MICROSOFT PROPOSAL: close the bug - this bug is a year old, likely out of date 
now, and
from an anonymous contributor

10213 - The definition of absolute url makeshttps:foo  not an absolute url
Open, Assigned to Adam Barth
MICROSOFT PROPOSAL: Section 3 of the protocol spec
(http://tools.ietf.org/html/draft-ietf-hybi-thewebsocketprotocol-09#section-3) 
shows the
valid syntax for a ws-URI. We believe the API should throw a SYNTAX_ERR if the 
address
supplied does not match this format.

12180 - give the name of url to download the Jetty server
Resolved, NeedsInfo - this bug is from an anonymous contributor from 4 months 
ago
MICROSOFT PROPOSAL: close the bug - the API spec doesn't need to link to server 
implementations

12510 - Specs split off from HTML5 (like WebSockets) need to have xrefs linked, 
otherwise
they're ambiguous
Reopened, Assigned to Ian Hickson
MICROSOFT PROPOSAL: this is an editorial bug that should not block Last Call

12816 - Make second argument in constructor an object for future extensibility
Resolved, WontFix
MICROSOFT PROPOSAL: We think the second argument should be an object, not only 
for future
extensibility but to allow binaryType to be set now.

12917 - deflate-stream should be an optional extension when establishing a 
connection
Resolved, WontFix
MICROSOFT PROPOSAL: We strongly disagree with the API spec overruling the 
protocol spec
on what is optional in the protocol. The API spec should not normatively 
mention specific
extensions. References to deflate-stream should be informative and only 
provided as examples.

13104 - 1) ping(msg); //allow client to send server ping as per websocket spec 
2) onpong();
//allow client to receive response of ping
Open, Assigned to Ian Hickson
MICROSOFT PROPOSAL: We don't think this is necessary.

13162 - The notes really do need to be cleaned up to be made explicit.
Open, Assigned to Ian Hickson
MICROSOFT PROPOSAL: This is an editorial bug and should not block Last Call

13178 - binaryType should be immutable after connection is established
Open, Assigned to Ian Hickson
MICROSOFT PROPOSAL: We'd like to see the spec updated as outlined in this bug.

13180 - [Editorial] Causes that lead to failing the WebSocket connection, which 
results
in an error event, should be more clearly specified
Open, Assigned to Ian Hickson
MICROSOFT PROPOSAL: This is an editorial issue and should not block Last Call.





Re: [websockets] Getting WebSockets API to Last Call

2011-07-13 Thread Jonas Sicking
On Mon, Jul 11, 2011 at 11:36 AM, Ian Hickson i...@hixie.ch wrote:
 On Mon, 11 Jul 2011, Marcos Caceres wrote:
 On 7/11/11 8:23 PM, Ian Hickson wrote:
  On Mon, 11 Jul 2011, Jonas Sicking wrote:
   On Mon, Jul 11, 2011 at 11:04 AM, Ian Hicksoni...@hixie.ch  wrote:
On Fri, 8 Jul 2011, Jonas Sicking wrote:

 On the other hand, we should [not] do things now that are likely to
 create a more complicated or inconsistent platform in the future.
   
I agree, indeed that's my main reason for not wanting to make objects
inherit from EventTarget. :-)
  
   I think adding EventTarget to the chain is a simplification as it makes
   that interface more consistent with the majority of other ones.
 
  I mean in general, on any interface.
 
  IMHO nothing should inherit from EventTarget. That some interfaces do in
  the specs today is a relatively new development and IMHO one that will
  complicate the platform in the future.

 Interesting. How so? Do you have an example where inheriting from
 EventTarget has become an issue or is going to be an issue? I personally
 don't have a position on this, I'm just really interested because I had
 this come up in other (proprietary) contexts.

 Why is EventTarget special?

 If one day we decide that many objects should all implement something
 else, e.g. a Clonable interface or something, what do we do?

Then we'll add Clonable as a mixin at that time. Similar to what we'd
do if we have some interface that we only want to apply to some
HTMLElements (such as all form controls, or all sectioning
elements).

Adding EventTarget as a base interface is only a bad idea if there
appears in the future an interface which is more widely inherited than
EventTarget and more widely used than EventTarget. This seems highly
unlikely to me given how widely used and inherited EventTarget is.

EventTarget is no different from Node. Node supplies the ability to
take part in the document tree, EventTarget supplies the ability to
receive events.

/ Jonas



Re: [websockets] Getting WebSockets API to Last Call

2011-07-13 Thread Ian Hickson
On Wed, 13 Jul 2011, Jonas Sicking wrote:
 On Mon, Jul 11, 2011 at 11:36 AM, Ian Hickson i...@hixie.ch wrote:
  On Mon, 11 Jul 2011, Marcos Caceres wrote:
  On 7/11/11 8:23 PM, Ian Hickson wrote:
   On Mon, 11 Jul 2011, Jonas Sicking wrote:
On Mon, Jul 11, 2011 at 11:04 AM, Ian Hicksoni...@hixie.ch  wrote:
 On Fri, 8 Jul 2011, Jonas Sicking wrote:
 
  On the other hand, we should [not] do things now that are 
  likely to create a more complicated or inconsistent platform 
  in the future.

 I agree, indeed that's my main reason for not wanting to make 
 objects inherit from EventTarget. :-)
   
I think adding EventTarget to the chain is a simplification as it 
makes that interface more consistent with the majority of other 
ones.
  
   I mean in general, on any interface.
  
   IMHO nothing should inherit from EventTarget. That some interfaces 
   do in the specs today is a relatively new development and IMHO one 
   that will complicate the platform in the future.
 
  Interesting. How so? Do you have an example where inheriting from 
  EventTarget has become an issue or is going to be an issue? I 
  personally don't have a position on this, I'm just really interested 
  because I had this come up in other (proprietary) contexts.
 
  Why is EventTarget special?
 
  If one day we decide that many objects should all implement something 
  else, e.g. a Clonable interface or something, what do we do?
 
 Then we'll add Clonable as a mixin at that time. Similar to what we'd do 
 if we have some interface that we only want to apply to some 
 HTMLElements (such as all form controls, or all sectioning elements).
 
 Adding EventTarget as a base interface is only a bad idea if there 
 appears in the future an interface which is more widely inherited than 
 EventTarget and more widely used than EventTarget. This seems highly 
 unlikely to me given how widely used and inherited EventTarget is.
 
 EventTarget is no different from Node. Node supplies the ability to take 
 part in the document tree, EventTarget supplies the ability to receive 
 events.

So basically the answer to Why is it special is because it is the first 
interface to have such wide applicability.

I don't know if that's convincing. But I can probably live with it, 
especially since I don't have a good alternative.

-- 
Ian Hickson   U+1047E)\._.,--,'``.fL
http://ln.hixie.ch/   U+263A/,   _.. \   _\  ;`._ ,.
Things that are impossible just take longer.   `._.-(,_..'--(,_..'`-.;.'

Re: [websockets] Getting WebSockets API to Last Call

2011-07-12 Thread Jonas Sicking
On Mon, Jul 11, 2011 at 1:15 PM, Ian Hickson i...@hixie.ch wrote:
 On Mon, 11 Jul 2011, Jonas Sicking wrote:
 
  Can you list the reasons for why you don't think we will not need any
  of the types listed in the following email:
  http://lists.w3.org/Archives/Public/public-webapps/2011AprJun/0732.html
 
  I addressed those in the e-mail you replied to earlier:
 
  http://lists.w3.org/Archives/Public/public-webapps/2011JulSep/0237.html

 This doesn't contain any arguments for why we wouldn't add any of the
 suggested properties in the future. It just gives solutions for what to
 do if we do need to add them. However all the suggested solutions create
 a more complex platform than if we simply make the second argument an
 object now.

 We wouldn't add timeout to the constructor because there's no benefit to
 putting that on the constructor.

 We wouldn't put priority on the constructor because that would be a
 per-message feature.

You'll likely want a default priority on the socket as to avoid having
to specify it on each call.

But I guess both timeout and default priority can be set after
constructing the WebSocket. However it would be syntactically nice if
you can initialize them from the constructor.

Oh well, I guess time will tell if we'll end up wanting more
constructor arguments. My money is still on that we will.

And I had still hoped to hear from other browser vendors.

/ Jonas



Re: [websockets] Getting WebSockets API to Last Call

2011-07-11 Thread Ian Hickson
On Fri, 8 Jul 2011, Jonas Sicking wrote:
 
 On the other hand, we should [not] do things now that are likely to 
 create a more complicated or inconsistent platform in the future.

I agree, indeed that's my main reason for not wanting to make objects 
inherit from EventTarget. :-)


 It's a judgement call. I think we're just making different judgements on 
 how likely it is that we'll need to extend this in the future.

So far I haven't seen any suggestions that would need a change to the 
constructor. We shouldn't try to solve problems we can't even imagine 
yet; how could we possibly evaluate our solutions?

I'm all for designing for the future; in fact many of the APIs in the 
specs I edit have future directions already designed and specced out, but 
just commented out. Here, however, I really don't see why we would expect 
the constructor to need extensions, especially extensions that would need 
an object.

(I also don't really see what's special about this one in particular that 
means it should have this but other constructors should not.)

-- 
Ian Hickson   U+1047E)\._.,--,'``.fL
http://ln.hixie.ch/   U+263A/,   _.. \   _\  ;`._ ,.
Things that are impossible just take longer.   `._.-(,_..'--(,_..'`-.;.'



Re: [websockets] Getting WebSockets API to Last Call

2011-07-11 Thread Jonas Sicking
On Mon, Jul 11, 2011 at 11:04 AM, Ian Hickson i...@hixie.ch wrote:
 On Fri, 8 Jul 2011, Jonas Sicking wrote:

 On the other hand, we should [not] do things now that are likely to
 create a more complicated or inconsistent platform in the future.

 I agree, indeed that's my main reason for not wanting to make objects
 inherit from EventTarget. :-)

I think adding EventTarget to the chain is a simplification as it
makes that interface more consistent with the majority of other ones.

 It's a judgement call. I think we're just making different judgements on
 how likely it is that we'll need to extend this in the future.

 So far I haven't seen any suggestions that would need a change to the
 constructor. We shouldn't try to solve problems we can't even imagine
 yet; how could we possibly evaluate our solutions?

Can you list the reasons for why you don't think we will not need any
of the types listed in the following email:
http://lists.w3.org/Archives/Public/public-webapps/2011AprJun/0732.html

I'm also still interested in hearing feedback from other implementers.
So far only two have spoken up and have both been in favor of making
the argument an object.

/ Jonas



Re: [websockets] Getting WebSockets API to Last Call

2011-07-11 Thread Ian Hickson
On Mon, 11 Jul 2011, Jonas Sicking wrote:
 On Mon, Jul 11, 2011 at 11:04 AM, Ian Hickson i...@hixie.ch wrote:
  On Fri, 8 Jul 2011, Jonas Sicking wrote:
 
  On the other hand, we should [not] do things now that are likely to
  create a more complicated or inconsistent platform in the future.
 
  I agree, indeed that's my main reason for not wanting to make objects
  inherit from EventTarget. :-)
 
 I think adding EventTarget to the chain is a simplification as it makes 
 that interface more consistent with the majority of other ones.

I mean in general, on any interface.

IMHO nothing should inherit from EventTarget. That some interfaces do in 
the specs today is a relatively new development and IMHO one that will 
complicate the platform in the future.


  It's a judgement call. I think we're just making different judgements 
  on how likely it is that we'll need to extend this in the future.
 
  So far I haven't seen any suggestions that would need a change to the 
  constructor. We shouldn't try to solve problems we can't even imagine 
  yet; how could we possibly evaluate our solutions?
 
 Can you list the reasons for why you don't think we will not need any of 
 the types listed in the following email: 
 http://lists.w3.org/Archives/Public/public-webapps/2011AprJun/0732.html

I addressed those in the e-mail you replied to earlier:

   http://lists.w3.org/Archives/Public/public-webapps/2011JulSep/0237.html

-- 
Ian Hickson   U+1047E)\._.,--,'``.fL
http://ln.hixie.ch/   U+263A/,   _.. \   _\  ;`._ ,.
Things that are impossible just take longer.   `._.-(,_..'--(,_..'`-.;.'



Re: [websockets] Getting WebSockets API to Last Call

2011-07-11 Thread Marcos Caceres

On 7/11/11 8:23 PM, Ian Hickson wrote:

On Mon, 11 Jul 2011, Jonas Sicking wrote:

On Mon, Jul 11, 2011 at 11:04 AM, Ian Hicksoni...@hixie.ch  wrote:

On Fri, 8 Jul 2011, Jonas Sicking wrote:


On the other hand, we should [not] do things now that are likely to
create a more complicated or inconsistent platform in the future.


I agree, indeed that's my main reason for not wanting to make objects
inherit from EventTarget. :-)


I think adding EventTarget to the chain is a simplification as it makes
that interface more consistent with the majority of other ones.


I mean in general, on any interface.

IMHO nothing should inherit from EventTarget. That some interfaces do in
the specs today is a relatively new development and IMHO one that will
complicate the platform in the future.


Interesting. How so? Do you have an example where inheriting from 
EventTarget has become an issue or is going to be an issue? I personally 
don't have a position on this, I'm just really interested because I had 
this come up in other (proprietary) contexts.


Kind regards,
Marcos



Re: [websockets] Getting WebSockets API to Last Call

2011-07-11 Thread Olli Pettay

On 07/11/2011 09:23 PM, Ian Hickson wrote:

On Mon, 11 Jul 2011, Jonas Sicking wrote:

On Mon, Jul 11, 2011 at 11:04 AM, Ian Hicksoni...@hixie.ch  wrote:

On Fri, 8 Jul 2011, Jonas Sicking wrote:


On the other hand, we should [not] do things now that are likely to
create a more complicated or inconsistent platform in the future.


I agree, indeed that's my main reason for not wanting to make objects
inherit from EventTarget. :-)


I think adding EventTarget to the chain is a simplification as it makes
that interface more consistent with the majority of other ones.


I mean in general, on any interface.

IMHO nothing should inherit from EventTarget. That some interfaces do in
the specs today is a relatively new development and IMHO one that will
complicate the platform in the future.



How will that complicate the platform in the future?




-Olli







It's a judgement call. I think we're just making different judgements
on how likely it is that we'll need to extend this in the future.


So far I haven't seen any suggestions that would need a change to the
constructor. We shouldn't try to solve problems we can't even imagine
yet; how could we possibly evaluate our solutions?


Can you list the reasons for why you don't think we will not need any of
the types listed in the following email:
http://lists.w3.org/Archives/Public/public-webapps/2011AprJun/0732.html


I addressed those in the e-mail you replied to earlier:

http://lists.w3.org/Archives/Public/public-webapps/2011JulSep/0237.html






Re: [websockets] Getting WebSockets API to Last Call

2011-07-11 Thread Ian Hickson
On Mon, 11 Jul 2011, Marcos Caceres wrote:
 On 7/11/11 8:23 PM, Ian Hickson wrote:
  On Mon, 11 Jul 2011, Jonas Sicking wrote:
   On Mon, Jul 11, 2011 at 11:04 AM, Ian Hicksoni...@hixie.ch  wrote:
On Fri, 8 Jul 2011, Jonas Sicking wrote:
 
 On the other hand, we should [not] do things now that are likely to
 create a more complicated or inconsistent platform in the future.

I agree, indeed that's my main reason for not wanting to make objects
inherit from EventTarget. :-)
   
   I think adding EventTarget to the chain is a simplification as it makes
   that interface more consistent with the majority of other ones.
  
  I mean in general, on any interface.
  
  IMHO nothing should inherit from EventTarget. That some interfaces do in
  the specs today is a relatively new development and IMHO one that will
  complicate the platform in the future.
 
 Interesting. How so? Do you have an example where inheriting from 
 EventTarget has become an issue or is going to be an issue? I personally 
 don't have a position on this, I'm just really interested because I had 
 this come up in other (proprietary) contexts.

Why is EventTarget special?

If one day we decide that many objects should all implement something 
else, e.g. a Clonable interface or something, what do we do?

-- 
Ian Hickson   U+1047E)\._.,--,'``.fL
http://ln.hixie.ch/   U+263A/,   _.. \   _\  ;`._ ,.
Things that are impossible just take longer.   `._.-(,_..'--(,_..'`-.;.'



Re: [websockets] Getting WebSockets API to Last Call

2011-07-11 Thread Jonas Sicking
On Mon, Jul 11, 2011 at 11:23 AM, Ian Hickson i...@hixie.ch wrote:
 On Mon, 11 Jul 2011, Jonas Sicking wrote:
 On Mon, Jul 11, 2011 at 11:04 AM, Ian Hickson i...@hixie.ch wrote:
  On Fri, 8 Jul 2011, Jonas Sicking wrote:
 
  On the other hand, we should [not] do things now that are likely to
  create a more complicated or inconsistent platform in the future.
 
  I agree, indeed that's my main reason for not wanting to make objects
  inherit from EventTarget. :-)

 I think adding EventTarget to the chain is a simplification as it makes
 that interface more consistent with the majority of other ones.

 I mean in general, on any interface.

 IMHO nothing should inherit from EventTarget. That some interfaces do in
 the specs today is a relatively new development and IMHO one that will
 complicate the platform in the future.


  It's a judgement call. I think we're just making different judgements
  on how likely it is that we'll need to extend this in the future.
 
  So far I haven't seen any suggestions that would need a change to the
  constructor. We shouldn't try to solve problems we can't even imagine
  yet; how could we possibly evaluate our solutions?

 Can you list the reasons for why you don't think we will not need any of
 the types listed in the following email:
 http://lists.w3.org/Archives/Public/public-webapps/2011AprJun/0732.html

 I addressed those in the e-mail you replied to earlier:

   http://lists.w3.org/Archives/Public/public-webapps/2011JulSep/0237.html

This doesn't contain any arguments for why we wouldn't add any of the
suggested properties in the future. It just gives solutions for what
to do if we do need to add them. However all the suggested solutions
create a more complex platform than if we simply make the second
argument an object now.

/ Jonas



Re: [websockets] Getting WebSockets API to Last Call

2011-07-11 Thread Marcos Caceres

On 7/11/11 8:36 PM, Ian Hickson wrote:

On Mon, 11 Jul 2011, Marcos Caceres wrote:

On 7/11/11 8:23 PM, Ian Hickson wrote:

On Mon, 11 Jul 2011, Jonas Sicking wrote:

On Mon, Jul 11, 2011 at 11:04 AM, Ian Hicksoni...@hixie.ch   wrote:

On Fri, 8 Jul 2011, Jonas Sicking wrote:


On the other hand, we should [not] do things now that are likely to
create a more complicated or inconsistent platform in the future.


I agree, indeed that's my main reason for not wanting to make objects
inherit from EventTarget. :-)


I think adding EventTarget to the chain is a simplification as it makes
that interface more consistent with the majority of other ones.


I mean in general, on any interface.

IMHO nothing should inherit from EventTarget. That some interfaces do in
the specs today is a relatively new development and IMHO one that will
complicate the platform in the future.


Interesting. How so? Do you have an example where inheriting from
EventTarget has become an issue or is going to be an issue? I personally
don't have a position on this, I'm just really interested because I had
this come up in other (proprietary) contexts.


Why is EventTarget special?


I don't know about special, but some things do lend themselves to having 
events fired at them (given a good use case, where events are coming 
from external sources).



If one day we decide that many objects should all implement something
else, e.g. a Clonable interface or something, what do we do?


I agree with what you are saying in general (I have no opinion wrt 
WebSockets). If there is no valid case right here, right now, then don't 
try to predict the future.


Thanks for taking the time to clarify that for me :)



Re: [websockets] Getting WebSockets API to Last Call

2011-07-11 Thread Ian Hickson
On Mon, 11 Jul 2011, Jonas Sicking wrote:
 
  Can you list the reasons for why you don't think we will not need any 
  of the types listed in the following email: 
  http://lists.w3.org/Archives/Public/public-webapps/2011AprJun/0732.html
 
  I addressed those in the e-mail you replied to earlier:
 
  http://lists.w3.org/Archives/Public/public-webapps/2011JulSep/0237.html
 
 This doesn't contain any arguments for why we wouldn't add any of the 
 suggested properties in the future. It just gives solutions for what to 
 do if we do need to add them. However all the suggested solutions create 
 a more complex platform than if we simply make the second argument an 
 object now.

We wouldn't add timeout to the constructor because there's no benefit to 
putting that on the constructor.

We wouldn't put priority on the constructor because that would be a 
per-message feature.

We wouldn't put encryption in the constructor because that's handled by 
TLS already.

-- 
Ian Hickson   U+1047E)\._.,--,'``.fL
http://ln.hixie.ch/   U+263A/,   _.. \   _\  ;`._ ,.
Things that are impossible just take longer.   `._.-(,_..'--(,_..'`-.;.'



Re: [websockets] Getting WebSockets API to Last Call

2011-07-08 Thread Anne van Kesteren

On Fri, 08 Jul 2011 00:55:11 +0200, Jonas Sicking jo...@sicking.cc wrote:

I don't have an opinion on url parsing since I don't know enough about
it. However throwing an exception on an invalid URI sounds good to me.


I do not think we would want to start throwing on spaces appearing in e.g.  
the path segment. You only want to throw when the URL cannot be resolved.  
This requires the still-not-done work on URLs to be done.



--
Anne van Kesteren
http://annevankesteren.nl/



Re: [websockets] Getting WebSockets API to Last Call

2011-07-08 Thread Arthur Barstow

On 7/7/11 6:00 PM, ext Adrian Bateman wrote:

We're keen to resolve the remaining issues with the WebSockets API and have a 
timetable
to get to Candidate Recommendation. From informal conversations we've had, we 
believe
other browser vendors share this goal. I think the current WebSocket API is 
feature
complete and meets the requirements for publishing a Last Call working draft to
encourage wider review and feedback. There are no tracker issues for 
WebSockets. Here
is my analysis of the outstanding bugs (not closed, where resolution not Fixed).
I believe the outstanding issues could be resolved as Last Call comments and 
would like
to see a CfC to publish a LCWD shortly.


I think the spirit of the publication process is that all bugs that 
affect an implementation should be resolved before going to LC. As such, 
it would be helpful if others would do as Jonas did and provide feedback 
on the bugs and/or Adrian's general proposal to move to LC as is. If 
there is consensus within the group to go to LC with these bugs open, we 
can do so, but it may be preferable to do some extra work now if it can 
prevent the overhead of additional LCs.



12917 - deflate-stream should be an optional extension when establishing a 
connection
Resolved, WontFix
MICROSOFT PROPOSAL: We strongly disagree with the API spec overruling the 
protocol spec
on what is optional in the protocol. The API spec should not normatively 
mention specific
extensions. References to deflate-stream should be informative and only 
provided as examples.


The bug only includes comments from IanH and Adrian. It does seem like a 
mismatch in requirements for deflate-stream to be optional in the 
protocol and mandatory in the API. What do others think about this bug?


-AB





Re: [websockets] Getting WebSockets API to Last Call

2011-07-08 Thread Ian Hickson
On Thu, 7 Jul 2011, Adrian Bateman wrote:
 
 10213 - The definition of absolute url makes https:foo not an absolute url
 Open, Assigned to Adam Barth
 MICROSOFT PROPOSAL: Section 3 of the protocol spec
 (http://tools.ietf.org/html/draft-ietf-hybi-thewebsocketprotocol-09#section-3)
  shows the
 valid syntax for a ws-URI. We believe the API should throw a SYNTAX_ERR if 
 the address
 supplied does not match this format.

This isn't really a WebSocket bug, it's a URL bug. There's just no URL 
component. I've moved it to another component.

Having said that, there is a related problem, which is that the hybi 
working group has broken the definition of how to parse the urls. I'll 
have to update the websockets api accordingly. It's not a major issue 
though.


 12816 - Make second argument in constructor an object for future extensibility
 Resolved, WontFix
 MICROSOFT PROPOSAL: We think the second argument should be an object, not 
 only for future
 extensibility but to allow binaryType to be set now.

You can set binaryType now already:

   var server = new WebSocket('ws://whatwg.org/database');
   server.binaryType = 'arraybuffer';

What's wrong with this?


 12917 - deflate-stream should be an optional extension when establishing a 
 connection
 Resolved, WontFix
 MICROSOFT PROPOSAL: We strongly disagree with the API spec overruling the 
 protocol spec
 on what is optional in the protocol. The API spec should not normatively 
 mention specific
 extensions. References to deflate-stream should be informative and only 
 provided as examples.

I strongly disagree. We must have interoperability amongst browser user 
agents. Having some support compression and others not would lead to 
authoring mistakes and will force us into either having or not having 
compression based on how big sites first get this wrong.


 13104 - 1) ping(msg); //allow client to send server ping as per websocket 
 spec 2) onpong();
 //allow client to receive response of ping
 Open, Assigned to Ian Hickson
 MICROSOFT PROPOSAL: We don't think this is necessary.

I've closed this one (no use case was specified).


 13178 - binaryType should be immutable after connection is established
 Open, Assigned to Ian Hickson
 MICROSOFT PROPOSAL: We'd like to see the spec updated as outlined in this bug.

That makes no sense. The whole point of the feature is to allow authors to 
handle incoming data in the most appropriate way for the next packet.


(I've skipped the editorial and pending needsinfo bugs.)

-- 
Ian Hickson   U+1047E)\._.,--,'``.fL
http://ln.hixie.ch/   U+263A/,   _.. \   _\  ;`._ ,.
Things that are impossible just take longer.   `._.-(,_..'--(,_..'`-.;.'



Re: [websockets] Getting WebSockets API to Last Call

2011-07-08 Thread Ian Hickson
On Thu, 7 Jul 2011, Jonas Sicking wrote:
  12816 - Make second argument in constructor an object for future 
  extensibility
 
 I'd like to see this change made too.
 
 So far there's been two counter proposals in the bug for how to deal
 with future extensions (which I strongly suspect we'll end up having
 to do in the future):
 1. Wait to open the connection until returning to the event loop which
 delays starting the already slow network handshake. This is especially
 a problem in Web Workers where returning to the event loop can take a
 very long time.
 2. Make the second argument either be a string, a array of strings, or
 a object. This is messy both from a user perspective and from an
 implementation perspective.

This really seems to me like a premature optimisation. We shouldn't be 
fixing problems we don't already have, _especially_ if doing so 
complicates the platform (as it does here).

There are many ways we can extend the feature in the future. Named 
constructors, overloaded constructors as you suggest, designing features 
so they don't need to be set before the handshake (binaryType being an 
example of this), designing the features so that authors don't need to be 
involved at all, etc.

For example, we don't need to put a timeout feature into the constructor, 
since that's not needed before the handshake is started. We don't need to 
put priority information into the handshake, since we would likely want to 
support changing the priority setting during the lifetime of the object, 
or even on a post-by-post basis. Another feature that was suggested is 
encryption, and we already support that using TLS in a way that doesn't 
require author to explicitly set an algorithm, which is in fact likely 
better from a security perspective.

I'm not at all convinced that we are actually going to need to extend the 
constructor at all, nor that if we ever actually have to extend the 
constructor that doing so will be problematic.

-- 
Ian Hickson   U+1047E)\._.,--,'``.fL
http://ln.hixie.ch/   U+263A/,   _.. \   _\  ;`._ ,.
Things that are impossible just take longer.   `._.-(,_..'--(,_..'`-.;.'



Re: [websockets] Getting WebSockets API to Last Call

2011-07-08 Thread Jonas Sicking
On Fri, Jul 8, 2011 at 1:20 PM, Ian Hickson i...@hixie.ch wrote:
 On Thu, 7 Jul 2011, Jonas Sicking wrote:
  12816 - Make second argument in constructor an object for future 
  extensibility

 I'd like to see this change made too.

 So far there's been two counter proposals in the bug for how to deal
 with future extensions (which I strongly suspect we'll end up having
 to do in the future):
 1. Wait to open the connection until returning to the event loop which
 delays starting the already slow network handshake. This is especially
 a problem in Web Workers where returning to the event loop can take a
 very long time.
 2. Make the second argument either be a string, a array of strings, or
 a object. This is messy both from a user perspective and from an
 implementation perspective.

 This really seems to me like a premature optimisation. We shouldn't be
 fixing problems we don't already have, _especially_ if doing so
 complicates the platform (as it does here).

On the other hand, we should do things now that are likely to create a
more complicated or inconsistent platform in the future.

It's a judgement call. I think we're just making different judgements
on how likely it is that we'll need to extend this in the future.

/  Jonas



[websockets] Getting WebSockets API to Last Call

2011-07-07 Thread Adrian Bateman
We're keen to resolve the remaining issues with the WebSockets API and have a 
timetable
to get to Candidate Recommendation. From informal conversations we've had, we 
believe
other browser vendors share this goal. I think the current WebSocket API is 
feature
complete and meets the requirements for publishing a Last Call working draft to
encourage wider review and feedback. There are no tracker issues for 
WebSockets. Here
is my analysis of the outstanding bugs (not closed, where resolution not Fixed).
I believe the outstanding issues could be resolved as Last Call comments and 
would like
to see a CfC to publish a LCWD shortly.

9973 - If the entry's name is sec-websocket-protocol 0 please don't put 
normative
requirements in parenthesis
Resolved, NeedsInfo
MICROSOFT PROPOSAL: close the bug - this bug is a year old, likely out of date 
now, and
from an anonymous contributor

10213 - The definition of absolute url makes https:foo not an absolute url
Open, Assigned to Adam Barth
MICROSOFT PROPOSAL: Section 3 of the protocol spec
(http://tools.ietf.org/html/draft-ietf-hybi-thewebsocketprotocol-09#section-3) 
shows the
valid syntax for a ws-URI. We believe the API should throw a SYNTAX_ERR if the 
address
supplied does not match this format.

12180 - give the name of url to download the Jetty server
Resolved, NeedsInfo - this bug is from an anonymous contributor from 4 months 
ago
MICROSOFT PROPOSAL: close the bug - the API spec doesn't need to link to server 
implementations

12510 - Specs split off from HTML5 (like WebSockets) need to have xrefs linked, 
otherwise
they're ambiguous
Reopened, Assigned to Ian Hickson
MICROSOFT PROPOSAL: this is an editorial bug that should not block Last Call

12816 - Make second argument in constructor an object for future extensibility
Resolved, WontFix
MICROSOFT PROPOSAL: We think the second argument should be an object, not only 
for future
extensibility but to allow binaryType to be set now.

12917 - deflate-stream should be an optional extension when establishing a 
connection
Resolved, WontFix
MICROSOFT PROPOSAL: We strongly disagree with the API spec overruling the 
protocol spec
on what is optional in the protocol. The API spec should not normatively 
mention specific
extensions. References to deflate-stream should be informative and only 
provided as examples.

13104 - 1) ping(msg); //allow client to send server ping as per websocket spec 
2) onpong();
//allow client to receive response of ping
Open, Assigned to Ian Hickson
MICROSOFT PROPOSAL: We don't think this is necessary.

13162 - The notes really do need to be cleaned up to be made explicit.
Open, Assigned to Ian Hickson
MICROSOFT PROPOSAL: This is an editorial bug and should not block Last Call

13178 - binaryType should be immutable after connection is established
Open, Assigned to Ian Hickson
MICROSOFT PROPOSAL: We'd like to see the spec updated as outlined in this bug.

13180 - [Editorial] Causes that lead to failing the WebSocket connection, which 
results
in an error event, should be more clearly specified
Open, Assigned to Ian Hickson
MICROSOFT PROPOSAL: This is an editorial issue and should not block Last Call.




Re: [websockets] Getting WebSockets API to Last Call

2011-07-07 Thread Jonas Sicking
On Thu, Jul 7, 2011 at 3:00 PM, Adrian Bateman adria...@microsoft.com wrote:
 We're keen to resolve the remaining issues with the WebSockets API and have a 
 timetable
 to get to Candidate Recommendation. From informal conversations we've had, we 
 believe
 other browser vendors share this goal. I think the current WebSocket API is 
 feature
 complete and meets the requirements for publishing a Last Call working draft 
 to
 encourage wider review and feedback. There are no tracker issues for 
 WebSockets. Here
 is my analysis of the outstanding bugs (not closed, where resolution not 
 Fixed).
 I believe the outstanding issues could be resolved as Last Call comments and 
 would like
 to see a CfC to publish a LCWD shortly.

Yes, we'd like to see this happen very soon too as we'd like to
unprefix our implementation.

 9973 - If the entry's name is sec-websocket-protocol 0 please don't put 
 normative
 requirements in parenthesis
 Resolved, NeedsInfo
 MICROSOFT PROPOSAL: close the bug - this bug is a year old, likely out of 
 date now, and
 from an anonymous contributor

Sounds good.

 10213 - The definition of absolute url makes https:foo not an absolute url
 Open, Assigned to Adam Barth
 MICROSOFT PROPOSAL: Section 3 of the protocol spec
 (http://tools.ietf.org/html/draft-ietf-hybi-thewebsocketprotocol-09#section-3)
  shows the
 valid syntax for a ws-URI. We believe the API should throw a SYNTAX_ERR if 
 the address
 supplied does not match this format.

I don't have an opinion on url parsing since I don't know enough about
it. However throwing an exception on an invalid URI sounds good to me.

 12180 - give the name of url to download the Jetty server
 Resolved, NeedsInfo - this bug is from an anonymous contributor from 4 months 
 ago
 MICROSOFT PROPOSAL: close the bug - the API spec doesn't need to link to 
 server implementations

Agreed.

 12510 - Specs split off from HTML5 (like WebSockets) need to have xrefs 
 linked, otherwise
 they're ambiguous
 Reopened, Assigned to Ian Hickson
 MICROSOFT PROPOSAL: this is an editorial bug that should not block Last Call

Agreed.

 12816 - Make second argument in constructor an object for future extensibility
 Resolved, WontFix
 MICROSOFT PROPOSAL: We think the second argument should be an object, not 
 only for future
 extensibility but to allow binaryType to be set now.

I'd like to see this change made too.

So far there's been two counter proposals in the bug for how to deal
with future extensions (which I strongly suspect we'll end up having
to do in the future):
1. Wait to open the connection until returning to the event loop which
delays starting the already slow network handshake. This is especially
a problem in Web Workers where returning to the event loop can take a
very long time.
2. Make the second argument either be a string, a array of strings, or
a object. This is messy both from a user perspective and from an
implementation perspective.

Do any implementations prefer the current specced behavior? Otherwise
I'll push for making this change in firefox.

 12917 - deflate-stream should be an optional extension when establishing a 
 connection
 Resolved, WontFix
 MICROSOFT PROPOSAL: We strongly disagree with the API spec overruling the 
 protocol spec
 on what is optional in the protocol. The API spec should not normatively 
 mention specific
 extensions. References to deflate-stream should be informative and only 
 provided as examples.

I agree with the WONTFIX here. I think optional parts of
specifications is a bad thing in the web space and bad for
interoperability. If we really end up needing the ability to set
optional parts we can always add that in the future.

 13104 - 1) ping(msg); //allow client to send server ping as per websocket 
 spec 2) onpong();
 //allow client to receive response of ping
 Open, Assigned to Ian Hickson
 MICROSOFT PROPOSAL: We don't think this is necessary.

Agreed. If needed we can always add this in the future.

 13162 - The notes really do need to be cleaned up to be made explicit.
 Open, Assigned to Ian Hickson
 MICROSOFT PROPOSAL: This is an editorial bug and should not block Last Call

Agreed.

 13178 - binaryType should be immutable after connection is established
 Open, Assigned to Ian Hickson
 MICROSOFT PROPOSAL: We'd like to see the spec updated as outlined in this bug.

I don't agree with making binaryType immutable, and I added a comment
to that effect to the bug. I did also put in another proposal in the
bug which also aims to reduce implementation complexity and improve
performance.

 13180 - [Editorial] Causes that lead to failing the WebSocket connection, 
 which results
 in an error event, should be more clearly specified
 Open, Assigned to Ian Hickson
 MICROSOFT PROPOSAL: This is an editorial issue and should not block Last Call.

Agreed.

/ Jonas



RE: [websockets] Getting WebSockets API to Last Call

2011-07-07 Thread Adrian Bateman
On Thursday, July 07, 2011 3:55 PM, Jonas Sicking wrote:
On Thu, Jul 7, 2011 at 3:00 PM, Adrian Bateman adria...@microsoft.com wrote:
  12917 - deflate-stream should be an optional extension when establishing 
  a connection
  Resolved, WontFix
  MICROSOFT PROPOSAL: We strongly disagree with the API spec overruling the 
  protocol spec
  on what is optional in the protocol. The API spec should not normatively 
  mention specific
  extensions. References to deflate-stream should be informative and only 
  provided as examples.

 I agree with the WONTFIX here. I think optional parts of
 specifications is a bad thing in the web space and bad for
 interoperability. If we really end up needing the ability to set
 optional parts we can always add that in the future.

I agree with the general principle of not adding optional features. However, I 
think this case
is different for a couple of reasons:

1) This is optional in the protocol spec. If you don't think it should be 
optional in the protocol
that argument should be made in the IETF working group. I don't agree that the 
W3C API should
override the discussions in the protocol working group just because some people 
don't like the
outcome.

2) This feature is an extension point. Its sole purpose is to support optional 
features.
Mandating one example of an extension seems arbitrary to me. As soon as there 
is another
extension there will still be differences. We believe that there will be 
legitimate
implementations that don't want to support deflate-stream and servers will have 
to
support with and without to be conforming anyway.

  13178 - binaryType should be immutable after connection is established
  Open, Assigned to Ian Hickson
  MICROSOFT PROPOSAL: We'd like to see the spec updated as outlined in this 
  bug.

 I don't agree with making binaryType immutable, and I added a comment
 to that effect to the bug. I did also put in another proposal in the
 bug which also aims to reduce implementation complexity and improve
 performance.

Thanks for the feedback on this one. It would be good to get a sense from other
implementers about how there feel here.

Cheers,

Adrian.