I recently discovered that Internet Explorer 6+ reports all jpeg images as having the content type image/pjpeg, thus breaking every web application that allows the uploading of files and checks for certain allowed mime types (typically image/gif|jpeg|png). Officially, there is no image/pjpeg mime type. It’s just made up. It adds no value. It is a pain in the behind.
While it doesn’t surprise me that Microsoft would do such a thing (though why break that in particular?), it does surprise me that there isn’t more outrage among developers about it. Have we just become so used to MS playing dirty tricks on us that we eat the time finding a workaround and move on without complaint? Personally, I feel deeply offended. An over-reaction, no doubt, but it seems to me that life is too short to have to deal with this kind of petty crap.
Rant off. I feel marginally better. Sorry for the dump, but silent fuming isn’t good for the body or the spirit.
And BTW, I made a New Year’s resolution to blog more. I’ve been so busy lately, I let it slide. I’ve got a couple of technical posts in mind, so I’ll get them out soon. Cheers, and Happy New Year to all!
Well pjpeg stands for progressive jpeg:
http://www.faqs.org/faqs/jpeg-faq/part1/section-11.html
but you are right that it is not assigned by iana and there is no reason other than some developer thinking “we might need this in the future to distinguish progressive from non-progressive jpegs” and then never fixing it when realizing it is a boneheaded idea.
Hi nes,
Yes, I should have mentioned that it does stand for progressive jpeg, though I couldn’t find out who decided the mime type should be image/pjpeg. I wouldn’t be half as peeved if IE assigned this type only to *actual* progressive jpegs. Assigning it to all jpegs indiscriminately is just… wrong. Argh.
Thanks for your comment and the link.
This is so apropos that I have to post this:
“The sad thing is not that Microsoft makes mistakes;
all system vendors do. The sad thing is that they refuse
to acknowledge their mistakes, and rather chose to persist
the buggy implementation than risking backwards
incompatibilities.” Martin v. Löwis
http://article.gmane.org/gmane.comp.python.devel/99872
It’s been ages, but I seem to recall encountering this same horror with netscape WAY back in Navigator 2.0 to 4.2 days.