Making Software That Doesn't Suck Isn't Easy
Microsoft takes a lot of crap from just about everyone. If you're a writer who uses Word for most of your projects, you probably have a problem with all of those auto-whatever features that interfere with your work by making annoying attempts to format what you're writing as a list, or finishing writing words for you after you've only typed the first few letters of one. If you're an avid fan of pornography who surfs the Internet constantly with Adminstrator privileges, you've probably got your two cents to contribute about how slow your copy of Windows XP is running. If you're a command-line Unix freak you probably hate the GUI. If you're a business ethics professor, then no one is really paying any attention to what you're saying in those long-winded lectures, they're just learning and memorizing enough to pass your stupid little exams.
As a software developer, I'm inclined to cut Microsoft some slack because, while the software they produce is far from perfect, it's pretty damned good, does what it's supposed to do about 90% of the time with a minimum of fuss. And by "fuss" I mean "wildly erratic and unexpected behavior that completely ruins my day". No, it isn't perfect because it's often only as good as the person who is using it. You need some background to understand how to do what you want with the OS and with the Microsoft Office Suite. Not a lot, but if you've never used a computer before it takes some getting used to.
Creating software that works as well as something like Microsoft Excel is a difficult thing to do. I spent four years working as accountant, which basically means that the landscape of my computer screen was Excel spreadsheets. After spending this much time trying to do the kind of crap that accountants do, day in and day out, I have to say that most of what I set out to accomplish in Excel was pretty easy. It was intuitive, usable, and made my life several times easier than it would have been had I just been working in the era of those old ledgers. (with the possible exception of PivotTables) Cool. I give them mad stupid phat props.
But one requirement I have for software is that it's consistent. I remember the first time that I opened up a copy of Excel 2007. The only reason I did it was because I finally got to a point with a project where I needed more rows. In case you were too busy having some kind of life to notice it, Excel 2003 has a limit on the number of rows you can have in a single spreadsheet, and it's 65536. That's not an arbitrary number; it's actually 216, which was clearly a decision made by a programmer. Excel gives us 16-bits worth of rows! Hurray!
Excel 2007 offers over a million rows, which, in some unlikely circumstances, might be needed by some people in business somewhere. It happened to me. And that's why I downloaded 2007 and opened it up.
I was immediately lost. I'm a seasoned Excel user, and I can make the 2003 version sing and dance and bend to my will like some kind of spreadsheet slave-bot, but when I got into Excel 2007, it was as though someone had dumped me into an alley in some backwater street in Boston and instructed me to find my way to Fenway Park. (on a day when all the taxi drivers don't speak any ingles, let's pretend)
Now, I won't bore you with the details of my miraculous escape. Suffice it to say, I eventually figured out how to do a simple sort, create an auto-filter, and got things working properly the way I needed. But really, why did it have to be that difficult. I remember the switch from Excel 2000 to 2003, and it was a very tiny curb. It was a dime on the railroad tracks. It didn't do anything to confuse me because the two programs were basically designed the same. Excel 2007 takes redesign to a whole new and useless level. The real problem here is that none of the changes are any kind of improvement. They really just moved all the crap around so that it's all arranged differently, so now we've got tabs instead of menus, and icons instead of menu items. Once I got used to that, I was no more productive in my daily tasks using 2007 than I was 2003. This leads me to my conclusion about the main point in redesigning a piece of software that wasn't broken: there wasn't one. It was a pointless endeavour taken on by programmers who wanted to spend their days overhauling the UI instead of whatever else is under the Microsoft Excel hood.
Vista seems to be the same way. There are lots and lots of changes, but you can easily make a case that none of it is any better than XP. I remember writing a while back that each time Microsoft releases a new OS, people's hatred of it is based mostly on their own resistance to change from the last one, and a lack of technical prowess. I still think that's true, but now that I've taken a year to reflect on that point, I realize that the user's own bumbling attitude about the technology isn't the user's problem: it's Microsoft's. Ultimately, Vista is a failure simply because people don't like it. People keep using XP. Technical people can foam at the mouth as long as they want to about how stupid people are for not adapting to Vista, but really, expecting anyone to sit down with The Windows Vista Missing Manual and wading through all of the crap that has changed is not realistic. It's dumb. Software should serve the customer, and not the other way around. And really, the only benchmark we can use for software is market response. That's why Vista blows, and it's not just my opinion: because people continue to use XP.
But, I'm going to stand by Microsoft because, as I mentioned, they try really hard and for the most part, they succeed. And, like most people do when they run out of actual arguments, I'm going to play this card: you couldn't do any better. That's right. I went there. Software is tough, and you, with your opinions, couldn't make a better operating system than Vista. And I'm going to prove my point using something that each of us probably encounter daily: Facebook Apps.
Facebook Apps lower the barrier to entry. A single person can create a Facebook App that people are supposed to use, and all you need is your own server and some basic knowledge of how to make web service calls. It's not terribly difficult to do, from a purely technical standpoint. The real issue comes up in quality control.
First off, I'm thankful that I no longer constantly get invited to participate in Facebook Apps. A lot of them have this way of tricking you into clicking a button that invites every one of your friends to do what you just did, and I hate this. It's the viral marketing gurus sitting around talking about they can create the Next Big Thing, as if this could happen by tricking people into clicking a button. That's right, start your marketing effort by pissing people off while they're trying to take your useless "What is your Poo telling You?" quiz or whatever. Doesn't make sense.
I took one of these little quizzes recently, in an App titled "Where Should You Live?" The premise was, based on my personality and my taste in my living conditions, what city should I be living in? I found this on the profile page of an old college friend of mine, and his result had been published to his wall: "Dublin, Ireland". That suited him, because he was an avid Guinness drinker and was fond of the outdoors, so I decided to see what it would come up with for me.
First of all, the questions were too transparent. They asked about weather preferences, if I liked living near or in the mountains, by the ocean, etc. As if I couldn't take that list of information myself and just find a spot on a globe that matched my criteria. It wasn't adding any value or doing anything that I couldn't just as easily do myself. Second, the thing was rife with spelling errors. Simple ones. Ones that would have been caught if the guy who created it had only asked his mom to proofread the damn thing. But, I'm not really much of a spellcheck Nazi. If someone writes with the occasional typo and I get the point, then I won't whine about it because I have better things to do with my life.
But the results were just plain wrong. One of the questions asked about the weather I prefer, and I chose the answer: "I hate winter. Give me hot and suny [sic] all the time! I like lots of sun!" And when I clicked past that annoying "Invite all your friends to suffer this quiz" step and actually had it generate the result, it came up with the following:
"You should live in: Dublin, Ireland. You like the long, cold winters but also enjoy..."
After the first few words I stopped reading because it was laughably inaccurate. Even if you get past the fact that the questions were hollow and plagued with grammatical errors, and the fact that it just happened to pick the exact same city that it picked for my friend (at this point I'm not sure it's even possible to get any result other than "Dublin, Ireland"), it was completely wrong, as if it had entirely ignored that question about my weather preferences. As much as the atrocious Excel 2007 redesign irks me, at least no version of Excel ever did anything like that. This is what you get when you're one person trying to create a simple program that is supposed to crawl down a simple decision tree to get to a final result and you get lost in the process. If you can't handle that, how do you think you can improve Vista?
Creating software gets easier all the time. Making software that doesn't suck isn't easy. Microsoft generally manages to make things that have a minimum suck factor, especially when you consider that they were created by gobs of people from different walks of life with different opinions about everything who were all supposed to work together to create one huge working program. I think it's pretty impressive, even though it isn't perfect, and we really shouldn't fall into the trap of thinking we could do any better ourselves. We can hate that stuff as consumers, but we, as software creators, shouldn't start assuming we can do a whole lot better.
To put it another way: I hate John Meyer. I can't play guitar and maybe I don't understand the domain of unlistenable pop rock garbage. Doesn't mean I, as a musician, could write a song more musically accomplished than him. After all, if I wrote a pop rock song, no one would buy it. The market speaks.
As a software developer, I'm inclined to cut Microsoft some slack because, while the software they produce is far from perfect, it's pretty damned good, does what it's supposed to do about 90% of the time with a minimum of fuss. And by "fuss" I mean "wildly erratic and unexpected behavior that completely ruins my day". No, it isn't perfect because it's often only as good as the person who is using it. You need some background to understand how to do what you want with the OS and with the Microsoft Office Suite. Not a lot, but if you've never used a computer before it takes some getting used to.
Creating software that works as well as something like Microsoft Excel is a difficult thing to do. I spent four years working as accountant, which basically means that the landscape of my computer screen was Excel spreadsheets. After spending this much time trying to do the kind of crap that accountants do, day in and day out, I have to say that most of what I set out to accomplish in Excel was pretty easy. It was intuitive, usable, and made my life several times easier than it would have been had I just been working in the era of those old ledgers. (with the possible exception of PivotTables) Cool. I give them mad stupid phat props.
But one requirement I have for software is that it's consistent. I remember the first time that I opened up a copy of Excel 2007. The only reason I did it was because I finally got to a point with a project where I needed more rows. In case you were too busy having some kind of life to notice it, Excel 2003 has a limit on the number of rows you can have in a single spreadsheet, and it's 65536. That's not an arbitrary number; it's actually 216, which was clearly a decision made by a programmer. Excel gives us 16-bits worth of rows! Hurray!
Excel 2007 offers over a million rows, which, in some unlikely circumstances, might be needed by some people in business somewhere. It happened to me. And that's why I downloaded 2007 and opened it up.
I was immediately lost. I'm a seasoned Excel user, and I can make the 2003 version sing and dance and bend to my will like some kind of spreadsheet slave-bot, but when I got into Excel 2007, it was as though someone had dumped me into an alley in some backwater street in Boston and instructed me to find my way to Fenway Park. (on a day when all the taxi drivers don't speak any ingles, let's pretend)
Now, I won't bore you with the details of my miraculous escape. Suffice it to say, I eventually figured out how to do a simple sort, create an auto-filter, and got things working properly the way I needed. But really, why did it have to be that difficult. I remember the switch from Excel 2000 to 2003, and it was a very tiny curb. It was a dime on the railroad tracks. It didn't do anything to confuse me because the two programs were basically designed the same. Excel 2007 takes redesign to a whole new and useless level. The real problem here is that none of the changes are any kind of improvement. They really just moved all the crap around so that it's all arranged differently, so now we've got tabs instead of menus, and icons instead of menu items. Once I got used to that, I was no more productive in my daily tasks using 2007 than I was 2003. This leads me to my conclusion about the main point in redesigning a piece of software that wasn't broken: there wasn't one. It was a pointless endeavour taken on by programmers who wanted to spend their days overhauling the UI instead of whatever else is under the Microsoft Excel hood.
Vista seems to be the same way. There are lots and lots of changes, but you can easily make a case that none of it is any better than XP. I remember writing a while back that each time Microsoft releases a new OS, people's hatred of it is based mostly on their own resistance to change from the last one, and a lack of technical prowess. I still think that's true, but now that I've taken a year to reflect on that point, I realize that the user's own bumbling attitude about the technology isn't the user's problem: it's Microsoft's. Ultimately, Vista is a failure simply because people don't like it. People keep using XP. Technical people can foam at the mouth as long as they want to about how stupid people are for not adapting to Vista, but really, expecting anyone to sit down with The Windows Vista Missing Manual and wading through all of the crap that has changed is not realistic. It's dumb. Software should serve the customer, and not the other way around. And really, the only benchmark we can use for software is market response. That's why Vista blows, and it's not just my opinion: because people continue to use XP.
But, I'm going to stand by Microsoft because, as I mentioned, they try really hard and for the most part, they succeed. And, like most people do when they run out of actual arguments, I'm going to play this card: you couldn't do any better. That's right. I went there. Software is tough, and you, with your opinions, couldn't make a better operating system than Vista. And I'm going to prove my point using something that each of us probably encounter daily: Facebook Apps.
Facebook Apps lower the barrier to entry. A single person can create a Facebook App that people are supposed to use, and all you need is your own server and some basic knowledge of how to make web service calls. It's not terribly difficult to do, from a purely technical standpoint. The real issue comes up in quality control.
First off, I'm thankful that I no longer constantly get invited to participate in Facebook Apps. A lot of them have this way of tricking you into clicking a button that invites every one of your friends to do what you just did, and I hate this. It's the viral marketing gurus sitting around talking about they can create the Next Big Thing, as if this could happen by tricking people into clicking a button. That's right, start your marketing effort by pissing people off while they're trying to take your useless "What is your Poo telling You?" quiz or whatever. Doesn't make sense.
I took one of these little quizzes recently, in an App titled "Where Should You Live?" The premise was, based on my personality and my taste in my living conditions, what city should I be living in? I found this on the profile page of an old college friend of mine, and his result had been published to his wall: "Dublin, Ireland". That suited him, because he was an avid Guinness drinker and was fond of the outdoors, so I decided to see what it would come up with for me.
First of all, the questions were too transparent. They asked about weather preferences, if I liked living near or in the mountains, by the ocean, etc. As if I couldn't take that list of information myself and just find a spot on a globe that matched my criteria. It wasn't adding any value or doing anything that I couldn't just as easily do myself. Second, the thing was rife with spelling errors. Simple ones. Ones that would have been caught if the guy who created it had only asked his mom to proofread the damn thing. But, I'm not really much of a spellcheck Nazi. If someone writes with the occasional typo and I get the point, then I won't whine about it because I have better things to do with my life.
But the results were just plain wrong. One of the questions asked about the weather I prefer, and I chose the answer: "I hate winter. Give me hot and suny [sic] all the time! I like lots of sun!" And when I clicked past that annoying "Invite all your friends to suffer this quiz" step and actually had it generate the result, it came up with the following:
"You should live in: Dublin, Ireland. You like the long, cold winters but also enjoy..."
After the first few words I stopped reading because it was laughably inaccurate. Even if you get past the fact that the questions were hollow and plagued with grammatical errors, and the fact that it just happened to pick the exact same city that it picked for my friend (at this point I'm not sure it's even possible to get any result other than "Dublin, Ireland"), it was completely wrong, as if it had entirely ignored that question about my weather preferences. As much as the atrocious Excel 2007 redesign irks me, at least no version of Excel ever did anything like that. This is what you get when you're one person trying to create a simple program that is supposed to crawl down a simple decision tree to get to a final result and you get lost in the process. If you can't handle that, how do you think you can improve Vista?
Creating software gets easier all the time. Making software that doesn't suck isn't easy. Microsoft generally manages to make things that have a minimum suck factor, especially when you consider that they were created by gobs of people from different walks of life with different opinions about everything who were all supposed to work together to create one huge working program. I think it's pretty impressive, even though it isn't perfect, and we really shouldn't fall into the trap of thinking we could do any better ourselves. We can hate that stuff as consumers, but we, as software creators, shouldn't start assuming we can do a whole lot better.
To put it another way: I hate John Meyer. I can't play guitar and maybe I don't understand the domain of unlistenable pop rock garbage. Doesn't mean I, as a musician, could write a song more musically accomplished than him. After all, if I wrote a pop rock song, no one would buy it. The market speaks.