[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Let's have a look at Microsoft on QuickTime bug, will you?
I am starting to get pretty annoyed with the claims Microsoft is
making that whenever something does not work, it's somebody else's
fault:
* the ridiculous general reboot in the Wall Street demo of an NT
network running a simulated number of transactions equal or greater than the VISA one?
-> it's a third party driver poorly written
* smart ship dead in the water?
-> it's an application (ok, now explain me how an user-level application is supposed, *alone*
to shut down an entire LAN. I do not pretend it's impossible, but it is damn hard to imagine
such a thing in a unix network, unless the OS is at fault.)
* RealNetworks is overridden by MediaPlayer?
-> people at realnetworks is stupid and did not write proper installation code
* QuickTime disabled?
-> Apple engineers are stupid and did not write proper installation code
Now, enough, is enough.
Anybody willing to lend a hand to investigate what is really going on here? Technically, I mean.
Let's take the official statement made by Microsoft in
http://msdn.microsoft.com/developer/news/quicktime.htm
that I reproduce down here. My comments are preceded by a +
====MS document starts============================================================================
Response to Allegations About Apple's QuickTime Plug-In for Internet Explorer
In the Microsoft antitrust trial, Dr. Avadis Tevanian, Jr., senior vice president of software
engineering for Apple Computer, testified that Microsoft "took several steps to sabotage" Apple's
QuickTime multimedia player plug-in for Internet Explorer.
This is a false statement, and it has been disproved in tests by Sax Software Corp. and by
software testing and development lab Mindcraft Inc.
Microsoft has written a patch that corrects Apple's errors. Mindcraft and Sax Software have also
written patches and described the problem. STLabs, a software testing lab, has verified Microsoft's
tests and patch.
Mindcraft examined several cases where QuickTime multimedia plug-ins did not run as expected in
Internet Explorer 4.0. The company discovered three root causes for the problems, including errors
in Apple's code:
1. Version 2.0.1 of Apple's QuickTime Plug-In fails to provide the resources, outlined in
Netscape's instructions, that tell Internet Explorer that it can handle files with "aifc," "qt," or
"vfw" filename extensions.
+
+ Ok, this is recognized in Mindcraft's report, but, in view of the following 2 points,
+ appears to be rather marginal
+
2. Internet Explorer automatically gives precedence to ActiveX controls (such as ActiveMovie and
WindowsMedia player) over plug-ins (such as the QuickTime Plug-In). This can be overridden by use
of the EnablePlugIn registry key, but Apple did not use this override key.
+
+ So *the default* is =>screw the plugins<= i.e. 3rd party software (as MS software is not provided
+ as a PlugIn, but as an ActiveX control).
+ Is there any Windows guru out there who can tell us if this EnablePlugIn registry key
+ is well documented and the documentation readily available to generic 3rd parties?
+
+ Am I right in assuming here that *reinstalling/upgrading* IE would reset to the default behavior?
+
3. Internet Explorer always uses registered helper applications for audio files referenced using
the HREF HTML tag. A plug-in will not be used for playback of an audio file via HREF. This is a
feature of Internet Explorer.
+
+ Same as above. This may very well be true, but how am *I* (3rd party programmer) supposed
+ to know? Is this well documented in an easily accessible place
+
+ In any case, this "feature" seems tailor made to, *again* screw the plug-ins.
+ MS does not say it can be disabled. What's the Windows gurus' opinion?
+
Internet Explorer also gives precedence to ActiveX controls that support progressive download,
although this can be overridden.
+
+ How? Any Windows guru who can tell where the info is?
+
MindCraft and Sax Software's findings substantiate Microsoft's own test results: Apple's
developers wrote the QuickTime installation program incorrectly, ignoring specific directions
provided by Netscape.
+
+ NO: Mindcraft only supports point 1, for what I can see on their web page.
+ * I could not yet read the PDF document (encrypted, so only readable using acrobat)
+ * I could not yet read Sax's document (Word 7.0)
+
+ BTW: *why* do they use proprietary formats? (encrypted PDF *is* proprietary)
+
This is similar to the mistake that RealNetworks made when it testified incorrectly before the
Senate Judiciary Committee last summer that Microsoft had taken steps to impair operation of the
beta version of its G2 media player. As in the Apple case now, RealNetworks created its own
problem by incorrectly writing the installation program for its add-in media player, and then
blamed it on Microsoft. RealNetworks has since admitted its error and corrected it.
Microsoft has also written a patch that changes registry settings to allow QuickTime to work to
Apple's specifications. The code has been tested with QuickTime 3.0.2 on Windows 95 (OSR2), Windows
98, and Windows NT 4.0 (Service Pack 3), with various versions of Internet Explorer installed.
+
+ If two major companies, making their money on their programs, fail to write good installer
+ software, there are only 2 possibilities:
+ * they are stupid
+ * writing good installer software is a major task, very error prone, and in that case
+ we can clearly ask *who* gains by making installer software difficult to write and use
+
====MS document ends===============================================================================
Also, I had a look at the MS c++ code, and it does a whole wealth of things:
1) deletes the activemovie reassing dialog
(ok, I saw that annoying thing, nice to know how to kill it :-))
void DeleteActiveMovieDialog()
{
//
// The ActiveMovie file type reownership dialog occurs on startup. This requires a
// link in the Start Menu's StartUp group. In order to disable the reownership dialog
// on startup, we simply delete this link.
//
//
// To do this, we first need the path to the Start Menu folder "StartUp".
//
2) manipulates *a lot* of registry keys: it seems to me that this really is the key point...
the fact that QT fails to declare some MIME types *only* is relevant in the few cases
where the QT plugin would get a chance to be executed. The code here does a lot of
key-wizardry essentially to insure the plugin gets called instead of the ActiveX thingies
Here is an example:
sprintf( szKeyBuffer,
"Software\\Microsoft\\Internet Explorer\\EmbedExtnToClsidMappings\\%s",
FileTypes[iPos].pszFileType );
//
// Deleting this key ensures that IE will not load an ActiveX Control based upon
file extension.
//
RegDeleteKey( HKEY_LOCAL_MACHINE, szKeyBuffer );
3) does some other wizardry which I *really* wonder is it's properly documented somewhere
//
// Typically, changing the ProgID for .wav results in a loss of system functionality.
// However, we avoided that above by copying the SoundRec subkeys to the QuickTime.Wav key.
// We should therefore turn off the OS's protection key for the .wav ProgID. If this key
// is not deleted, the OS will reset the .wav ProgID upon a later reboot.
//
Anybody willing to comment on all this?
--Roberto Di Cosmo
------------------------------------------------------------------
LIENS-DMI E-mail: dicosmo@dmi.ens.fr
Ecole Normale Superieure WWW : http://www.dmi.ens.fr/~dicosmo
45, Rue d'Ulm Tel : ++33-(0)1-44 32 20 40
75230 Paris CEDEX 05 Fax : ++33-(0)1-44 32 20 80
FRANCE MIME/NextMail accepted
------------------------------------------------------------------