I'm passionate about usability, even to the point that my co-workers accuse me of whining.  I can't really help it.  I have to applaud products and features that streamline a task, are intuitive, and fit well into the workflow.  And when a feature unnecessarily complicates the task, I have to call it out.  Poor usability goes against what computing is supposed to be about.  Way back in the early days of computing, BillG sold a dream to the world's people.  That this newfangled invention called a 'computer' was supposed to make everybody's lives easier.  It was supposed to boost productivity, make routine tasks effortless, and make complicated tasks easier (or possible).  We've come a long way since then, and I'm happy to report that computers have, for the most part, done that.  But as you already know if you work with a computer regularly, there is a lot more work that could be done.

There's a funny thing about most computer users that we software folks don't usually get.  Most people don't get excited about technology for technology sake.  My dad doesn't want to know that his data is on the C: drive, but his backups go to the D: drive.  My aunt doesn't need to understand what it means to defrag a hard disk, or think about how big a buffer she need when burning a CD, and my mom doesn't want to have to care whether she has the right media codecs installed.  As far as the average computer user is concerned, a computers should just work.  Any time they have to think about how it works, it's not working properly. 

Making computers just work is one of the design goals behind Vista.  I won't say we've succeeded, but there are some pretty good examples, such as wireless networking.  Want to connect?  Click on the network icon and it'll show you a list of networks in range.  Click the network you want to connect (and enter a security key if you haven't connected to this secured network before), and Vista does the rest.  A few seconds later, you're surfing the 'net.

Closer to home (for me), we've completely changed the way that you interact with audio devices in Windows.  In XP, you could open the control panel and set your sounds to your "Creative 123 audio chipset" or direct an application to record from your "SoundMax XYZ 987 codec".  But most folks don't understand what a 'codec' is, or think about their 'audio chipset'.  Most folks don't want to understand.  When I look at my 'computer' on the floor next to my desk, I don't see an audio chipset.  I see a small 3.5mm hole labeled 'Speaker' or 'Line out', and so that's how Vista presents them.  Instead of picking from a list of internal audio devices, you just say you want your music to go to the front panel headphone jack, and Windows does the rest.

In the future, you'll probably read more about usability here, good and bad.  Building good human interaction into a program is a Hard problem, and lots of smart people are working on it.  It's a problem space that I'm personally very interested in because, though I'm a programmer of some software, I'm a user of far more.  And if it's difficult for me, I can only guess how it's going to be for my mom and dad.