Wednesday, November 24, 2004

Musings

This article[^] by Raymond Chen got me thinking about the whole software user/developer relationship. Actually it wasn't Raymond's article, it was the responses. It's pretty clear to me that Raymond's readership is primarily software developers. And it's also pretty clear to me that among developers there's a culture of 'I know better than the user'. Which at one level may be true. I do know better than the average user if we're talking about the mechanics of developing software. Does that mean I know better than the user when it comes to how the software shall be used?

You're going to have to argue very very persuasively indeed to convince me that developers know better than the user all the subtle nuances of the ways a user may employ our products.

Raymond's talking about those 'annoying' directories that get created when you install windows. My Documents, My Music et al. Those of us close to the development process have probably been doing it for years and we've learned from prior art. I spent some years (1986 - 1990) working with Unix; to this day my development machine has \usr\src and all my projects below that. I also have \usr\bin for various tools, \usr\man for my documentation and so on... How very non windowsish!

And now Windows comes along and creates My Documents, My Images etc.. I don't want to use those locations for my own stuff, though my reasons for not wanting to use them are totally illogical. I just want to keep on using \usr\ because that's what I'm comfortable with. And yet, whenever my non developer friends ask me how they should organise their system (I'm a programmer so I'm obviously an 'expert') I always advise them to save their documents in My Documents, their photos in My Images and so on. Why? Because I can't advance a single convincing reason, even to myself, to NOT use those classifications. For the most part this is more than enough; and when it comes time for me to be called in my capacity as computer rescuer it makes it sooo much easier to find the stuff I need to backup before reinstalling their O/S.

This is a case where I think Microsoft got it right. I've read enough about how Microsoft approach the user experience to know that they didn't just pull the My Documents stuff out of thin air. I don't know a single developer who uses their classifications; we all have 'good' reasons to stick to the way we've been organising our stuff for the last ten/twenty/thirty years. But I know many users who do use their classifications. The mere act of creating those classifications, on a user by user basis AND defaulting the storage location to those classifications based on document type is a huge step forward for the average user.

[Post shower addendum]
We most of us developers assume a level of knowledge (and ability to care) in our users that just isn't there. It's not a lot different from a car designer assuming that we know how to tune a dual carb system. It's not all that difficult (I learned it 30 years ago and forgot it 20 years ago) but it's just not something I want to do. Likewise our users simply don't want to know how to organise their stuff into nice neat directory heirarchies. Just as I want my (single) carb car to just start tomorrow morning I believe our users want the system to take care of saving their stuff and finding it the next time they want to look at it. Exactly where it's stored is of no importance whatsoever; what's important is that it's stored and easily retrieved.
[/Post shower addendum]

No comments: