Saturday, May 29, 2010

Outlook: The object of ridicule among Microsoft programmers

I recently had the pleasure of catching up with some of my favorite Podcasts. These include such stalwarts as .NET Rocks, Hansel Minutes, the Polymorphic Podcast, and Java Posse... among others.

I was impressed by the number of Outlook jokes these programmers were cracking. What is an Outlook joke? Any joke which sticks a thumb in the eye of the designers and programmers responsible for the Outlook application. The suggestion is always the same: They did an outrageously bad job on this application, they obviously don't know what hell they are doing, and they should be ashamed of themselves.

Example: Anders Hejlsberg, probably the greatest genius at Microsoft, is being interviewed about the future direction of the .NET programming platform. He is the man most responsible for setting the course in programing systems at Microsoft. Anders is explaining the sorts of strides that must be made with programming languages, techniques and tools to support the multicore present and future. Anders believe that the .NET development team must revisit the basic design of threads in .NET. When a user says something like var x = new Thread(); the CLR initializes such a threat with a 2mb logical address space. This would mean only 2048 threads in total would be possible in a 32 bit address space, and frankly you'll never get close before memory will become so congested that problems will strike.

Richard Campbell, cohost of .NET Rocks seizes the opportunity to strike: "But that would mean we can only run Microsoft Outlook on our machines with 4GB and then we are all done?!?" This brought howls of laughter. Anders did not really want to comment. It would be tough to venture a defense. Believe me, if there had been something to defend, he would have mounted a defense. Anders is extremely knowledgeable and fair minded. He loves to argue. The fact that he dropped the subject speaks volumes.

Anders motto is "I think we can do better." He is always seeking to "do better". Believe me, if Anders was tasked to run the Outlook group, he would kick a lot of asses right out the door. He might recommend the dreaded EOL logo also.

I heard several other jokes on the other Podcasts. Those would be more difficult to explain. Even the Java Posse, a group unrelated to Microsoft, were wondering aloud why Microsoft programmers continue to suffer Outlook when we hate it so. The answer is simple: Because bad men with MBAs continue to ram it down our throat. Believe me, we would burn it, if we could.

Folks, I want you to know that Outlook is a bad joke among Microsoft programmers. It is a byword meaning "everything done wrong" from the programmers point of view. It is a detestable, reprehensible, object of hissing and horror. None of us can understand why the bloody bastard has 32-46 active but idle threads open when you are doing nothing with the application. We still can't understand why Microsoft would ever have though that modules of Visual Basic behind your eMail (Active Mail) was anything but a virus writer's wet dream.

Folks, it goes deeper than that. All groupware fuctions can be performed in a web environment. No client-side tool is necessary. Microsoft has a fully-orbed web-based system themselves with Outlook Web Edition (OWE). They should have placed Outlook in the EOL (end of lifecycle) category and deprecated it immediately when this web edition hit the streets. Microsoft Live! has even better implementation for most of us. Google long-since crushed Outlook with their Gmail-based suite of scheduling and groupware tools. Mail and groupware is simply the perfect case-study for the "software as a service."

It is conceptually wrong to build a thick client, or maintain an existing thick client, for the purpose of doing mail, schedule, and group actions. If you go to Visual Studio and select File->New->WinForm Application, and begin to write any sort of thick client for eMail and groupware, you are instantly wrong. You have made a mistake. The mistake isn't that the niche is filled. The mistake is that there is no niche in the first place. These apps should not exist.

There are many pieces of evidence for this. I know many scores of Mozilla Firefox users. I know of no one in my circle who uses ThunderBird. Oh, what's that? You've never heard of ThunderBird? Excellent! That's precisely my point. Thunderbird is the Mozilla mail client.

When I ask Mozilla fans why they don't download and use ThunderBird for free, the answer is always the same: I can see no use for the application. Now that we have webmail, who needs a mail client on the machine? These individuals are thinking correctly. Their conclusions are well merited and valid.

Outlook is evil. Outlook should not be used. I am not the only Software Engineer who thinks so. If you are dependent upon Outlook, you are wrong, period. Get right. If you have built a business around Outlook, you have built your business poorly upon shifting sands. You are also wrong and should correct the situation as soon as possible.