W3C home > Mailing lists > Public > public-webapi@w3.org > April 2006

Re: [comment] XMLHttpRequest Object - Address Extensibility

From: Brad Fults <bfults@gmail.com>
Date: Sun, 23 Apr 2006 11:08:48 -0700
Message-ID: <1959130b0604231108j53059b83y6269993dd0fece87@mail.gmail.com>
To: "Bjoern Hoehrmann" <derhoermi@gmx.net>
Cc: "Jim Ley" <jim@jibbering.com>, "Web APIs WG (public)" <public-webapi@w3.org>

On 4/22/06, Bjoern Hoehrmann <derhoermi@gmx.net> wrote:
> That's why I added "for the first three implementations", and it is not
> really relevant what implementations do that do not support the vendor-
> specific extension. The original code also assumed you can catch the
> exception you might get when accessing obj.Foo, that's not correct in
> some less common implementations.

The point of the code was not to be correct or syntactically clean, it
was to present what inevitably will follow (and has followed) from the
lowest common denominator of developers who are just trying to make
their app work in a cross-browser environment.

> >I think it's a very good example of why VendorFoo is not an option, it
> >forces code like the previous to be created, ...
> You base this on the assumption that it might actually happen that some
> extension is implemented in the way described by the original code. This
> might happen, and some authors might want to cope with that, but it is
> not clear at all that this is something we need to optimize for.

In case you didn't pick up on it, that example was modeled largely
after the various |opacity| implementations. So this assumption isn't
a very far stretch, as it has already happened in the past.

The point is not optimizing for some obscure author's desire, it's
negating the need for the bloat in the first place. Mandating the
VendorFoo naming convention actually guarantees that there will be
code bloat to compensate for the various implementations of a single
feature. It's not as if the bloat is only temporary either, because
developers (and their managers) require apps to be
backwards-compatible with all reasonable browsers, some of which
inevitably will only support the .VendorFoo property rather than the
.foo property standardized three years later.

That said, I see this not as a case in need of additional
optimization, but a case requiring the removal of
specification-mandated bloat that is by no means temporary.

Brad Fults
Received on Sunday, 23 April 2006 18:08:52 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 21:16:21 UTC