There seems to be no shortage of bugs that “should have been obvious” and subject to the “how can you not check that your own products work together” phenomenon. Just the other day, I stumbled on another one. This time, it was the Microsoft set of applications and operating systems that do not quite work together the way you would expect them to.
Here is the scenario.
We have a wiki system on our Intranet at Wind River, where I attached a Powerpoint 2007 presentation to a file in the wiki. This file has the extension .pptx, as they tend to do. I do this in Firefox, and I can download and save and view the files with no problems:
A colleague of mine tried to do download the presentation, but failed. The problem for her was that she was using Microsoft’s Internet Explorer, rather than Firefox. IE did not recognize .pptx, and instead did some kind of magic lookup and decided that the file is a .zip file:
So here we have a case where Firefox is able to recognize a file extension, but not Microsoft’s own web browser. The reason that IE and Firefox are using the file extension is that our wiki did not have a MIME filetype set for the .pptx files, leaving each client to figure it out on their own.
To compound the problem, the simple fix to change the file extension of the downloaded file from .zip to .pptx is not available per default on modern Windows systems. The default policy is to hide extensions for known file types, so they are unavailable to be edited. The fix is to reveal all file extensions, which at least for me is the first thing I do when I get a new system setup. As a programmer, I need to know exactly what things are, and quite often change their extensions.
I guess that Microsoft only tested things in a completely homogeneous system. I assume that if you use Microsoft ISS as your webserver (in a recent version), it will give you the right MIME type automatically. Testing with an Apache server or an old server version might not have been in the plans for Microsoft IE8. Once again, we see that testing requires some imagination to do well.
I would like to note that this problem is not new, and there is a writeup at http://www.pptfaq.com/FAQ00911.htm explaining the issue and some related issues as well.