Log in

No account? Create an account
open-source usability - Accretions — LiveJournal

Fata Morgana
2004-04-02 11:46
open-source usability
David pointed me to this essay, linked off Slashdot, about open-source usability. It's an interesting read. I disagree with his assertion that GUI design - or artistic design in general - is an "innate ability." What appears to many as innate ability is, I think, more about attitude and passion. I also disagree with his statement that GUI design is an "order of magnitude more work": in the average commercial software development project, about half of the time and half of the code go into the interface. What would take an order of magnitude more work is to change hackers' opinions about human-computer interaction.

Last week I was having a discussion with a CMU student about "HCI evangelism." He said he used to argue that human-computer interaction was part of computer science, but now believes it is and should be considered as a separate discipline. I think that it is different from traditional computer science, but I think it's too important to computer science to push it off in a separate department, so the "pure" computer scientists don't have to deal with it (and can continue thinking of it as inferior to "real" computer science). It should be present in all parts of computer science application-building. It's not enough to slap an interface on top of an application; good interfaces are built from the bottom up, giving the right handles to the next level, and that can only happen if developers at all levels know something about usability.

I also think those who say that HCI is "too young" to contribute anything yet are short-selling the discipline. Sure, human-computer interaction has only recognized itself as a discipline for 15-20 years (though over half of that time as "man-machine interaction"), but computer science has only recognized itself as a field for about 50 years! Concepts tested by both time and HCI professionals - such as prototyping, user testing, the human information processor, and the model-view-controller architecture - could help hackers and other code monkeys practice user-centered design. Of course, getting them to appreciate it in the first place is another problem entirely. Just make user-interface design a required course in computer science curricula! ...

In our discussion of all this, David slammed me for wanting to make interfaces so simple that they take away the power that computers have to manipulate information, perform repetitive tasks, etc. How can one have the power of the command-line in the graphical interface, so everyone can start using computers as the powerful tools that they are? This task is many orders of magnitude harder than just usability. It'd be great, but I sure don't know how to go about it. Some programs have taken shots at this, such as Photoshop's batch "Actions," spreadsheet programs, Office's macros, and some of XP's right-click menu options, but those still don't have the power of shell scripts. Still, just because I'm stupid about it doesn't mean that others are too.
Comment | 13 Comments | | Link

2004-04-03 00:14 (UTC)
perspectives from a ui manager
I was a UI manager at one point - plus all front-end design plus and directly with other engineers on how to getting some of my programming-based ideas. UI is difficult b/c it's a combination of knowing what's capable in programming (or knowing how to ask for it via a language translation), to understand design language, to infer and understand what users want, to business/marketing/sales in their languages to determine what they needs. And then be skilled enough to take all these translations and marry them into a UI that pleases everyone. Sometimes this isn't possible. When you verbalize or visualize the best compromise of what is possible you'll sometimes get response back like "None of this is rocket science" (i actually did get that from an asshole VP who just has an MBA from stanford and thinks he knows anything about UI when he knows not a whit of code or even common user interfaces)

I also learned to give up some of my own personal preferences like I really hate the overuse of field-specific i buttons that give info in popup windows but gave in to that b/c when building financial software, this is what the users found useful even if I personally hated it.

I learned to give up on technolgy I hate for business decisions. I didn't want username/passwords to be handled via Javascript. I came in with documentation on lawsuits that were lost b/c of this process and also documentation on the problems with accessibility on going this route. I still lost my case and had to work with Javascript-based software that severely limited the userbase (amazingly, also not the brightest business decision)

I learned to forego aesthetics at times - but only after I'd fight with marketing who always seem to think they know everything when having everything bold and in your face really sucks and provide alternate solutions. I worked with QA to get actual customer responses as an effective tool to counteract fucking marketing's bullshit.

This is just in a commerical context; open source developers aren't usually privy to the extent of information I have available to me as a UI manager. Thankfully, I don't have an ego that demands everyone follow my worldview.

I don't agree that this is innate b/c I don't like that it implies that UI design is person-specific. I also didn't like when I tried to find more info about Stanford's HCI program that they sent me back an email and told me that they wouldn't even consider me for their program b/c I have no cs degree. Instead, I have 2 BFAs and 1 MA plus 8+ years of web design experience and 2 years of college web design teaching experience? And I've done some basic programming and worked in UI?! Where exactly am I not qualified? I haven't bothered to look at the work produced by that program b/c if it's cs specific, I'm sure it's not as good as it could be if they're not going to seriously consider aesthetics or psychology in UI as part of their program requirements.

As far as the magnitude of work, I was the only UI manager at that team. I worked with 4-5 programmers. I had a lot more face time with people and interdepartmental translations to do, but I don't consider it an "order of magnitude" greater in workload or work requirements.

I don't see HCI as a discipline beneath cs but as an interdisciplinary program that should combine user psychology, aesthetics, cs, and basic business/marketing decisions as well as historical technology changes and their impact upon eventual design b/c good UI can encompass all of this for the best possible (not 100% perfect) outcome. I do agree not all cs students are good at this or even want to be so I think it should be optional that they could participate in this - and have them provide feedback if they're into it but not if they're not. I wouldn't want to exclude a Ping who's amazing with this?!

Macromedia has been making an attempt to satisfy both users in their sofware by building for both and giving the user the option to either use their software at a basic or advanced level. While this sounds nice, I think they almost should be separate software with different costs or a little more user friendly than asking the user if they're stupid or not basically.

Reply | Thread | Link

2004-04-03 00:21 (UTC)
Re: perspectives from a ui manager
to be fair, the company i worked for didn't really know what a person like me was supposed to do. when i was hired, i noticed there was zero interdepartmental communication and no one was addressing client issues. now that's a problem. so i just leveraged my job position to improve interdepartmental communication and increase getting needs met rather than ppl bitching back and forth about departments. so i defined my role. i noticed language problems in translating b/w departments limited communication. like sales would want something but had no clue how to translate that to engineering or worse never communicated it b/c of intimidation. so i was the friendly face b/w departments and also tracked customer responses as well in order to seriously improve all-around the product not just in software design but also in creating/writing engineering support documents in a web-based format like explaining sessions to sales as support for them so if a customer (and they do) calls about it, they can just look it up quickly and read the response back to the customer on the phone w/o really needing to remember all this technical stuff b/c they had no interest so that improved customer tech support in additon to the product. and improving interdepartmenal communication helped to get multiple needs met in the same interface which seriously improved the product a hell of a lot.

where do open source developers get to do any of that? they get bug/feature reporting which helps but i mean it's not like a more accessible community like your work environment...?
Reply | Parent | Thread | Link

my journal
September 2013