quick observations on usability
Feb. 21st, 2005 01:01 pmSynaptic sure is pretty, but it still wasn't designed for Grandma to use. Having "search" in the toolbar is a good thing, and I like the way that hovering over a package's name tells you something about it, but like many open-source UIs, it gets about 95% there and leaves the last 5% to inexplicable chance. Why, for instance, does adding a new repository not immediately trigger an update? (Instead you have to click Reload. I can easily see Grandma getting frustrated, trying to find some package using the search tool and coming up empty every time, because "well, I added the repository, why am I not seeing things from it?") Even some totally minor things, like "Apply" instead of "OK". 99.9% of the world's users have gotten accustomed to "OK" as the universal "make it so" command. It is not beyond the realm of imagination, though it pains me to say it, that some poor bastard might be deeply confused by the lack of an "OK" despite the presence of a friendly green checkmark. And why does the average user care what the terminal output is? Tell us about an error if there's an error; tell us it succeeded if it succeeded. The point of a GUI is to abstract the user away from all that scary terminal stuff.
(/me usually just uses apt-get anyway, but felt like taking synaptic for a stroll.)
Back when I was doing tech writing for Compaq, I didn't have a lot of input into the look and feel of the documentation I managed, but I did pay a fair bit of attention in the meetings where the senior tech writers talked about how they wanted to improve it. I won't say they were usability experts by any stretch of the imagination, but they had one principle which worked, and which I still keep in mind: give the users what makes sense to them, not what makes sense to you. You understand what's going on under the hood. Maybe your data is structured in a way that makes it easy/fast for a machine to access; that does not mean that your users will have an easy time navigating a balanced binary search tree, y'know?
This is on my mind at the moment because last night I started considering the idea of throwing a distro-agnostic graphical frontend onto wireless-tools. (You know, in all that Copious Free Time I have.) I hate writing GUIs from a code perspective (hell, I hate doing layout in HTML), but it's about time I learned Gtk, and maybe I'll hate it less than Swing.
OK, resolution to self: I will not start writing the wireless-tools frontend until I've finished resolving the reflection errors in Nemesis. (Now all you linux users are supposed to get on my ass and make me finish Nemesis, and then you get a pretty frontend. Deal? Deal.)
(/me usually just uses apt-get anyway, but felt like taking synaptic for a stroll.)
Back when I was doing tech writing for Compaq, I didn't have a lot of input into the look and feel of the documentation I managed, but I did pay a fair bit of attention in the meetings where the senior tech writers talked about how they wanted to improve it. I won't say they were usability experts by any stretch of the imagination, but they had one principle which worked, and which I still keep in mind: give the users what makes sense to them, not what makes sense to you. You understand what's going on under the hood. Maybe your data is structured in a way that makes it easy/fast for a machine to access; that does not mean that your users will have an easy time navigating a balanced binary search tree, y'know?
This is on my mind at the moment because last night I started considering the idea of throwing a distro-agnostic graphical frontend onto wireless-tools. (You know, in all that Copious Free Time I have.) I hate writing GUIs from a code perspective (hell, I hate doing layout in HTML), but it's about time I learned Gtk, and maybe I'll hate it less than Swing.
OK, resolution to self: I will not start writing the wireless-tools frontend until I've finished resolving the reflection errors in Nemesis. (Now all you linux users are supposed to get on my ass and make me finish Nemesis, and then you get a pretty frontend. Deal? Deal.)