I have written on numerous occasions about the frustrations caused by problems with Microsoft’s software. Many times these problems are caused by bugs; other times by poorly considered choices in a system’s design. Some of you have acknowledged agreement; others have noted your disagreement. Most of you have passed out from boredom and moved on to the next blog.
Over the last few weeks, I’ve been using Microsoft’s Virtual PC to run Windows XP on my Windows Vista laptop. Why would I do this? Well, Windows Vista doesn’t support their own development environment, Microsoft Visual Studio .NET 2005, very well so I was forced to find alternative means of development that didn’t require me rebuilding my machine. I’m not going to get into the details, but lets just say it’s been one struggle after the other, and the phrase “Stupid Microsoft” has escaped my lips more than once.
That said, I’m starting to suspect that I’m pushing my frustration with using computers to Microsoft - and not always fairly. For instance, it is unclear if Microsoft could be held responsible for the fact that a mouse is a very annoying means of interacting with a computer. On the other hand, they might be responsible for the decision to queue and buffer mouse clicks. (That particular hold-over from the command-line days is, in my opinion, one of the principle flaws in the design of computers with Graphical User Interfaces. But, everyone seems to do this, so you can hardly single Microsoft out for that choice.)
I dread “Trash Day” because I always find myself being self-conscious about the fact that most of our neighbors bring out one bin with one or two bottles of wine or beer for recycling, and we had to order a fourth bin to hold all our empty wine bottles. Plus our four are the only ones big enough for wheels. Most of them look like small milk crates. I take this opportunity to I remind you that wine’s good for you and makes you live forever. Plus, your liver is the only organ that can actually grow back.
Back to the point, yesterday was Trash Day, and as I was wheeling the recycling bin out to the front of the house, it caught a wheel on the curb and slipped out of my hand, not only making a mess but also hurting my hand.
My reaction was to mutter “Stupid Microsoft” under my breath. I haven’t carefully evaluated the situation yet, but I’m guessing that Microsoft may not have deserved that one.
Microsoft recently conducted a study which found that Microsoft’s Internet Explorer is more secure than Mozilla’s Firefox. This is not surprising because I wouldn’t expect Microsoft to (a) be objective or (b) conduct the study in a meaningful way. Conducting a meaningful survey or evaluation of anything is deceptively difficult and depends greatly on choosing meaningful metrics - evaluating application security is no exception.
The metric that Microsoft chose was counting how many bugs were fixed by each company. This is awesome for three reasons. First, it assumes that all software bugs relate to security flaws. Second, it assumes bug tracking at one organization is done in the same way as bug tracking at another. Third, it assumes that both companies are equally committed to fixing bugs. Based on the fact that there are still bugs in Windows XP that existed in Windows 2000, I’m going to guess that Microsoft doesn’t bother too much with fixing bugs. They just call them “features” and move on (and the users should, too).
I didn’t read the whole report, but it appears Microsoft concluded that since Mozilla fixed more bugs than Microsoft in 2004, Microsoft’s browser must be more secure. As Mozilla’s Mike Shaver said, “Just because dentists fix more teeth in America doesn’t mean we have worse teeth than Africa.”
This is inspiring me to adopt the following software development philosophy: I will never fix another bug, thus making all my software 100% secure.
I’ve been working on one particular product, DM FileManager™, for about three years. Although the product is super rich and stable, things that would make a product ready for the public haven’t really been done yet, such improving error handling and building an install script to make it easy to install on any server. I’ve been pushing hard the last few weeks to get this part of the product built out so that it can be considered a public beta and ready to be installed for some clients who have shown interest in having the product loaded.
This is a very detailed process, and requires carefully going through the entire product and tying down all loose ends. Every software product undergoes this process, and some companies are better at it than others. Apple seems pretty good at it and Microsoft seems to consider this process “a waste of time”. This made me think about how differently Apple and Microsoft are perceived by the community.
Lets call a spade a spade and recognize that all software has flaws and could be easier to use or be a little more flexible. I know this is true because I have no piece of software on my computer which reads my mind and is 100% reliable. I’m a bigger fan of Apple’s products than Microsoft’s, but I’d be fooling myself if I were to pretend that Apple products don’t have flaws and aren’t sometimes as frustrating to use as Microsoft’s products can be. Conversely, despite all their problems Microsoft has some great products that make my professional life much easier, such as the .NET Framework and C#. But there is a huge disparity between how the developers at each company are perceived by their users.
Users of Apple products generally perceive the developers in Cupertino to be working their honest little butts off, selflessly devoting their lives to building the best software possible to serve our lives better. Each developer at Apple has a halo over their smiling heads and have pictures of every Apple user pinned up in their cubicle.
On the other hand, users of Microsoft products generally perceive Redmond to be a balmy 5000°F, and the developers there have spiked tails and carry Voodoo dolls of their users around with them, just in case they need to let off some steam. I know the guy who built the Visual Studio’s debugger has mine and hates my guts.
I remember when Safari was released for Windows, I had a discussion about it with a friend who happens to be a loyal Apple user. I complained that Safari is nothing more than a pain in my ass because all it does is give me one more browser to develop against without providing key functionality that can’t be found in Firefox. His reply? “Yes, they do their best to be standards-compliant, but I agree they aren’t quite there yet.” If we had that conversation about a Microsoft product, it would have ended with us forming a mob and carrying torches over to Redmond.
I got a new laptop from work a few days ago. Of course, it’s loaded with Windows Vista. I have to say that it is much faster than Windows XP, and much prettier. They even figured out how to make fonts look nice and smooth, a breakthrough for Windows. Since everyone knows it’s no fun talking about good stuff, I’m going to get right to the weird stuff.
First of all, they’ve “improved” the security model. Administrators are no longer really Administrators. This is the Microsoft solution to their security problems. Rather than making a stable OS that doesn’t have security flaws, they don’t let the person using the computer use the computer. Brilliant. I think in a future security patch, they’re going to disable the power button so you can’t turn your computer on. After all, a computer that isn’t running is a secure computer. Maybe that patch will rename the OS to Windows Placemat.
Installing software and starting programs is, truly, just like the Apple Security commercial. I used to laughed at this commercial, chuckling at how cleverly Apple was exaggerating the behavior of Microsoft’s new OS, blissfully unaware that this is actually precisely what using Windows Vista is like.
Apart from “borrowing” Apple’s notion that operating systems don’t have to be ugly and their revolutionary concept that using a computer doesn’t need to be a miserable experience, Microsoft has also mimicked Apple’s Exposé feature. Exposé is one of my favorite things about OS X. When you push a specific key on OS X, Exposé spreads out your windows on your screen so you can see what you have running. You can then click a window to choose it and Exposé puts all the windows back with the window you chose on top. Vista has a similar feature, which I’m guessing is called “It’s Hosed, eh?” In typical copy-cat fashion, their version is almost completely useless. Rather than spread the windows out in a way that lets you see all their contents, it displays them at an angle, obscuring most of the windows. In a fit of design brilliance, it also shows your desktop at the back, just in case you forgot that there is a desktop. The windows, since they’re at an angle, are impossible to read with the ones in front covering the ones behind them.
This is a typical Microsoft “enhancement”: The widows all slide into place beautifully, things fade in and out, and - most importantly - it doesn’t actually do anything. The way the windows are displayed and unreadable, it doesn’t provide any information not already available through the task tray, which Windows has had since Windows ‘95. But I’m certain an entire team was built around it, gobs of money was pumped into it, and a whole lot of people in Redmond feel awfully satisfied with themselves for building it.
When I was working at Microsoft, I shared an office with a guy who had a great sense of humor about Microsoft. He always joked that whoever designed the restart “feature” was a genius: one feature that solves all Windows’ problems. He wanted to work on the “Restart Feature Team”, he would joke. One day he Googled it, and it turned out that Microsoft actually had a team working on a feature called the “Restart Manager” for Vista which could restart parts of the operating system without having to restart the whole shebang. So, rather than build an OS that doesn’t need restarting - like OS X and Linux - they’re making a restart manager.
Well, there should be some points for consistency.
Well, it’s officially ready for public beta testing. I finished the DM Albums™ Plugin for WordPress, which is an embedded version of my online photo album tool called DM PhotoAlbums™. (DM PhotoAlbums™, along with my online file management system called DM FileManager™, will be ready for public beta testing in a few months’ time as well.)
I have been diagnosed with obsessive-compulsive disorder, and while it’s not like Jack Nicholson in As Good as it Gets, it is bad enough that when I get something stuck in my head it’s curtains until I finish it. In fact, Michelle experienced this while I have been working on this post:
Michelle: “Hey, Frank. You want a beer?”
Frank: *glare*
Honestly, who glares at their partner when being offered a beer? I need medication. But the beer will cover it for now. Vicious cycle.
Back to the point, I have no Earthly reason to build this plugin other than that it bothered me that I had links to photo albums in my posts which, if my readers are anything like me, don’t get clicked on. But I definitely want people to see the photos so having the photos in-line is the solution. And, because I’m I’m in the software development business, I am not about to use a service like Flikr for managing my photos. I want things the way I want them, not the way a service dictates I should want them. That feels very “Microsoft” to me.
The more detail-oriented (and dorkier) readers among you may have noticed that I’ve silently been testing my plugin in my blog. Instead of seeing the links to my photo albums (Photo Album: {link}), the photo albums are shown embedded in-line in the post, like this:
Nerd Alert: The rest of this post (after the jump) will not include any more English, and will consist entirely of GeekSpeak. But read on, it’s good for you.