Wednesday, August 10, 2005

Microsoft Hates Me on a Personal Level

I set up the blog. I chose a title. I edited the template. Then, last but not least, I wanted the title to look really cool. I have this really great font, “Knights Templar”, that just made the title look perfect. But then my brain has one of those really annoying “What If?” things, and I realize that while I am free to enjoy the beauty of Knights Templar, other people might not have that font. Knowing a bit about web design, I come to two simple conclusions: either find a way to embed the font, or make the title an image. Microsoft makes embedding fonts easy; they have a program that creates these stupid little *.eot files out of a font and then you can use CSS to declare new fonts based on those files. “That's perfect!” I thought to myself. Now others could see my blog just as I intended it to be seen! But there's a catch to this code- it was invented by Microsoft, and is therefore incompatible with every other browser. Being a staunch Firefox user, I am appalled by the very thought of using such an outrageously inferior browser as Internet Explorer. So while it would be extremely easy to embed my font, I decided on the latter option. I would make an image.

It was the perfect image, crafted in Photoshop. It was the right size, the right color, and beautifully rendered. But then I ran into the same problem I always have when I want to make transparent images with text: when you save them as GIFs, they always look jagged and that's just plain stupid. JPEGs (as any idiot can tell you) would give me the color quality I need, but they lack transparency. They're not even translucent. “Fools!” I say. “That will never work!” So I finally settle on a PNG image. PNGs have the great coloring of JPEGs, and also transparency. So, I convert the perfect image into... a PNG. It looks great, loads fast, and the quality is virtually identical to the original that I made in Photoshop. That's when Microsoft came up behind me and smacked me in the back of the head.

Every time that I make some new piece of code, I test it in every browser I have to make sure everyone can see it. The PNG looked great in Firefox, but then I loaded it in Internet Explorer. The whole thing had a weird whitish background! I screamed and slammed my angry fist as fast as I could at the object nearest to me, which painfully turned out to be my desk. I spent the next few minutes trying to figure out if I needed a different conversion program, or if my suspicions were correct and Microsoft planned this years in advance just to anger me. It turns out that Internet Explorer can't, and never has been able to, render transparent PNGs the right way. Microsoft doesn't know how to make it recognize alpha transparency or some stupid thing like that. A little more searching and I found some JavaScript code that would fix this problem. Twenty puny lines of free code did what a huge company like Microsoft couldn't. Of course, the code won't work if JavaScript is turned off. But then again, anyone smart enough to disable JavaScript in Internet Explorer would already be using Firefox (or Camino, or Mozilla, or Netscape, etc.).

But no matter how horrible Internet Explorer is, it has one redeeming quality: It's not Opera. No, I take that back. Opera renders PNGs the right way. Internet Explorer is below even Opera. You hear that, Bill Gates?! You're worse than Opera!

Paid for by Opera, the greatest web browser to ever exist in the history of humanity.