Does Usability Come From The Users?

I’ve been watching the development of Windows 7 pretty closely, mostly because Microsoft has been relatively forthcoming on their development of it via their Engineering Windows 7 blog. It was particularly interesting in the few months before the beta dropped, because they talked about certain aspects of Windows in the abstract — how critical the taskbar is to the OS, how many windows a typical user has open, etc. It was sort of a smattering of theory which you could only assume was being used by Microsoft to mold the next iteration of the OS — but you weren’t really sure.

Now that the beta has arrived, and talk of the RC is rampant, it is all too clear that they were definitely molding the next iteration — almost to a fault.

And so the question I’ve come to ask myself recently is: what is the best way to create a new feature? In Steven Sinofsky’s very strangely worded post recently, he puts it like this:

A quick story from years ago working on Office, many years ago before the development of telemetry and the internet deciding what features to put in a release of Office could really be best described as a battle. The battle took place in conference rooms where people would basically debate until one or more parties gave up from fatigue (mental or otherwise)—essentially adrenaline-based product development. […] Fast forward to the development of Windows 7 and we’re focused on using data to help inform decisions we make. This data takes many forms and helps in many ways. I know a lot of folks have questions about the data – is it representative, how does it help fix things people should be using but don’t, what about doing new things, and so on. Data is an important element of making decisions, but not a substitute for clear product goals, meaningful customer engagement, and working across the ecosystem to bring Windows 7 to customers.

I think the first part is very telling about why Microsoft has a reputation of creating illogical and painful UIs. Putting a bunch of software engineers — who aren’t exactly UI experts to begin with — in a box to fight over features & design is stupid.

But the second part begs the question, is using telemetry data to shape your features and UI any better?

When I first started reading about Windows 7, I thought it was a pretty brilliant solution. After all, if you want to build something that is easy to use, why not gather data on how things are being used currently?

And the stuff they’ve come up with is pretty slick: application thumbnails, Aero peek, jump lists, more meaningful taskbar feedback — these are all really nice additions. And I think people’s initial reactions to them show that.

But now that people have used the beta, they’re realizing that, sure, they’re great ideas — but they’re a little half baked. The obvious example that everyone points out is how application shortcuts and running applications share the same taskbar space. This is a straightforward idea for anyone familiar with the OS X dock, but it doesn’t work under Windows. If the shortcut becomes the running application’s indicator, then how do you open a new instance of the application?

The worry here is that most of this stuff is set in stone now, and changing it at this point would severely delay the release of Windows 7. Again, Steven’s post has a very strange section where he whines about this:

…on any given issue you can be assured that all sides will be represented by passionate and informed views of how to resolve it, often in direct opposition to each other plus every view in the middle. That means for the vast majority of issues there is no right or wrong in an absolute sense, only a good decision within the context of a given situation.

Sound familiar? Steven is essentially saying that for all the features they’ve created for Windows 7, the feedback they’re getting is one big Internet-wide adrenaline-based product development cycle like in the days of yore.

And, for the most part, they don’t want to hear it. They want the “best decision” that tries to make the most sense in the most situations.

I often bemoan Apple’s software because it is overly simplistic. You are given three options, and if you don’t like it, well… tough. But, even I have to admit that for the vast majority of cases, those three options are the most common, and they expose the most useful functionality for the typical user. It’s only weirdos like me that want to do out of the ordinary stuff that have an issue.

Apple doesn’t use telemetry — they have a strong voice and UI expert in Steve Jobs, and all of their designs are heavily user tested. I’m pretty sure Microsoft does user testing as well, but I think the timing of their user testing is skewed, since horrid design continues to seep out in the company’s software at times.

But despite that horrid design, Microsoft has always provided choice — and that is sometimes why their UI is so bad. If you don’t simplify — if you give the user every option available — it can get confusing quickly. But now they are trying to simplify. And they’re spending more time on getting a UI to match. But they’re making some uninformed decisions, giving user feedback a secondary seat.

I am withholding final judgment until the RC is released. But if Microsoft continues on this track of “we know best”, and don’t give the flexibility I’ve come to appreciate from MS, then I’m going to be upset. I’ll be forced to pick the lesser of two evils. And, honestly, with the way Windows 7 is going right now, the lesser of the two evils might very well be… OS X.

But maybe I’m overreacting.

I want to finish up by saying that this has piqued my interest, because I’ve been knee deep in my own feature decisions with my wallpaper programming project. Specifically, how to implement Smart Playlists. This is not an easy feature to expose to a user. Concepts like boolean logic, grouping, and qualifiers are difficult to present in a simple, discoverable manner. I have used iTunes as a starting point, but even there I see a couple spots for improvement. I don’t claim to have all the answers, and I will be curious to see what feedback I get when I release the feature in the next build. While it will always be a more advanced component, I’m hoping my approach will be straightforward for the novice, but powerful for the expert.

It’s sometimes hard to believe how much effort goes into deciding the feature set and design of a program!

Tagged , , ,

Leave a Reply

Your email address will not be published. Required fields are marked *