Speechless? Obviously not.

I’ve been on a big Ubuntu kick lately. Ubuntu is the Linux distribution (derived from Debian) that is finally within sight of the elusive goal of producing a “desktop Linux for the masses” as they say. The latest version just came out last week. I’m so impressed with it that it’s distracted me significantly from the upcoming release of the next version Mac OS X. (OK, I do still remember that it’s coming up this Friday, and yes I probably will be queuing up outside the Apple Store this Friday.)

Anyway, I’ve also spent a lot of time reading everything I can pertaining to the new Ubuntu release, including, with great relish, articles wherein longtime Windows users profess their star-crossed love for this newest Linux release. Often the comments are as interesting (or more) than the article itself. Such was the case with this article from the UK branch of ZDNet. A comment there was so funny that I feel I must simply share it here in its entirety:

Microsoft’s now promoting Vista with a campaign called “100 reasons why everyone’s so speechless”.

I looked. #23 is “Because it’s like a digital candy store.”

Puh-leeze. Bring up the Adept Manager in Ubuntu. Now _that’s_ a digital candy store. Over 20000 applications for doing almost anything you can imagine, and quite a few things you can’t. Running Vista is like being in a candy store that only sells black liquorice (I _hate_ black liquorice) at exorbitant prices. Oh, and you’re only allowed to eat the candy in the store. Plus each individual piece is really small and is wrapped in seven layers of cellophane, and the store won’t let you throw the wrappers away. You have to take them with you and throw them away at home. Plus they set off a grenade in the chocolate store across the street in the middle of the night and mugged the proprietors of the penny candy stand. Oh, and Microsoft are the ones behind the urban legend that red M&Ms cause cancer. That’s the kind of candy store Vista is.

The Microsoft page in question, 100 Reasons You’ll Be Speechless, is pretty ridiculous. I have yet to encounter in my day-to-day life a single person who has even acknowledged using Vista, much less anyone who’s actually impressed with it. But as I perused the first dozen or so “reasons,” I could find nothing that isn’t already more-or-less present in Mac OS X, Ubuntu, or some readily available specialty device (like AppleTV) that interfaces easily with one or both of those OSes. And I won’t even get started on the usual litany of complaints about Windows. But the “100 Reasons” probably still makes for an entertaining read… if you’re really desperate for entertainment. (Then again, you probably have plenty of other, superior sources of entertainment at your disposal at this very moment, so why not choose them instead?)

Microsoft, how do I hate thee? Let me count the ways…

Most people who know me well understand that I am an acknowledged Apple fanboy. But I don’t simply hate Microsoft because I love Apple. There may be more truth to the fact that I love Apple because I hate Microsoft.*

At any rate, it’s clear that I hate Microsoft, and for reasons that are much more concrete, tangible, and, in the context of this article, quantifiable.

As you may know (if you know me, and probably wouldn’t if you don’t, but you do now… get it?), I make my living building websites, which means that I am forced to deal with both Windows and Internet Explorer, like it or not. (Not.) I do my work on Macs, and my day-to-day web browser is Firefox. But everything I do needs to be tested in the Microsoft world, since that’s the context in which 95% of my audience will be viewing my work.

At least once every month or two, I am forced to bring my work to a grinding halt while I attempt to diagnose some obscure Internet Explorer problem I’ve just run into. It is usually some trivial function that I take for granted, but for some mysterious reason simply does not work in Internet Explorer under a particular set of conditions. So I spend a day or so fruitlessly searching Google to find others who’ve experienced the same problem. Eventually I resign myself to the fact that there is no logical explanation for the problem and I will never discover a real solution to it. So, the only alternative is to concoct a hokey workaround that Internet Explorer can accept. These weak victories are always bittersweet: at least I’ve found a way to move on and get back to the real tasks at hand, but my work is forever tainted by Microsoft lameness, without even giving me the satisfaction of a glimmer of understanding as to why I’ve just undergone a day of torture.

Finally, I’ve had enough. I know that as long as I work in this field, I will always have to deal with this problem, but I’m no longer going to silently submit to the whims of mediocre software. I will catalog my woes here for the world to see, so when I finally jump off a bridge with a thousand Windows Vista CD-ROMs tied around my waist, people won’t wonder why.

* For the record, I don’t unequivocally hate everything Microsoft does. I own, and enjoy immensely, an XBOX game console.

The mysterious window.print() problem

It seems an easy task: print the damn window. But no, nothing is ever as easy as it seems with Microsoft. In this particular case, I have a pop-up window which contains a frameset. The frameset consists of a left frame with a tree of page links, and a right frame containing the body of the page linked from the left frame. Within the body of the page in the right frame there are links to allow you to print the frame. So far, so good. But there’s also a special link that opens a new page that contains the full content of all of the pages, so you can basically print the whole lot at once instead of one page at a time.

As expected, all of this works just fine in other browsers, but not in Internet Explorer. It handles the regular single-page window.print() just fine, but when you go to the full page, nothing. No printing, no JavaScript errors, nothing. It’s like it’s just a dead link. With the exact same code as what works on the other pages. And, if you open the page from the frame in a new window by itself, it prints just fine. So, we have some pages printing just fine in the frame, and another page that prints just fine when it’s by itself, but it won’t print if it’s in the same frame that the other pages print fine in, using the same code. You can see why this is driving me insane, can’t you?

Nothing I find anywhere online suggests that this problem exists. So eventually I resort to the only option that’s available… open the troublesome page in its own pop-up (yes, a pop-up opening a pop-up… always a great idea), where window.print() works just fine.

Thanks again, Microsoft!