

Re: Versioning and html[5]

From: Maciej Stachowiak <mjs@apple.com>
Date: Mon, 16 Apr 2007 13:47:04 -0700
Message-Id: <0851CDFA-4997-4500-B47C-C06C3D1E312B@apple.com>
To: Chris Wilson <Chris.Wilson@microsoft.com>

On Apr 16, 2007, at 12:57 PM, Chris Wilson wrote:

>> The falacy is that not including the attributes somehow prevents  
>> you from
>> implementing them.
> That's known as proprietary functionality, and we get slapped for  
> implementing it.  <object> was captured in a standard.

Apparently the standard was practicing catch-and-release, because it  
wasn't captured firmly enough to actually be interoperable.

>   It's a real shame to me that you all seem deathly allergic to the  

The <object> tag is an interoperability disaster. No two browsers  
implement it quite the same. This is in part because IE's  
implementation directly contradicts the spec; in part because the  
spec sanctions plugin selection mechanisms that are dependent on  
specific plugin APIs rather than based on neutral identifiers like  
MIME types; in part because the spec is overly vague; and in part  
because it is overloaded to do too many different things, leading to  
significant complexity of implementation.

It also sucks for authors. You need to insert complex magical  
incantations to get things to actually work cross-browser. I don't  
think it's acceptable to require authors to type things like this:

CODEBASE="http://www.apple.com/qtactivex/qtplugin.cab" HEIGHT=320  
<PARAM NAME="src" VALUE="MyMovie.mov" >
<EMBED SRC="MyMovie.mov" HEIGHT=320 WIDTH=200 TYPE="video/quicktime"  

That being said, I don't think anyone wants to kill <object>; the  
goal is to spec it enough to achieve interoperability. If that  
requires specifying classid and codebase to match what IE does, so be  
it, but I personally doubt this will aid interoperability, since many  
real-world web sites deliberately target IE and other browsers  
separately via invocations like the above.

Received on Monday, 16 April 2007 20:47:21 UTC
