Slashdot Mirror


Jakob Nielsen Talks About Usability in FOSS

dokey writes "In an interview with Builder AU, usability expert Jakob Nielsen gives his opinion of usability in Free and open source software. The article echoed what Jon "Maddog" Hall said earlier this year in a keynote at Linux.conf.au -- "Programmers Are From Mars, Users/Managers/Companies are from Venus". Is it time to pay more attention to end-users?(who aren't geeks)"

37 of 327 comments (clear)

  1. Let us all learn from him by Anonymous Coward · · Score: 5, Funny

    I suggest Slashdot copy his website's color scheme for their next section.

  2. it is what IT is by Anonymous Coward · · Score: 5, Insightful

    Don't expect usability from a programmer.

    Separate program logic from design and let a designer do the interface. Much happier for everyone involved

  3. No. by mfh · · Score: 4, Funny

    > Is it time to pay more attention to end-users?(who aren't geeks)

    Uhm... No, not really.

    --
    The dangers of knowledge trigger emotional distress in human beings.
    1. Re:No. by GigsVT · · Score: 5, Insightful

      That's not funny, it's correct.

      There's nothing wrong with an OS/application that only geeks can use. Just don't try to market it to non-geeks, and there's no problem whatsoever.

      I personally don't want my OS and applications dumbed down to the level of other OSs. The lack of control and options in metacity, for example, is shocking. It's almost getting to the point where you have to swallow default configs if you want the "user-friendly" distros to even work right at all.. For example, I can't turn off Nautilus unless I don't care that my background doesn't get properly set to my root window, something that should not depend on nautilus at all. (and doesn't, I can go manually reset each time I restart X, without starting nautilus).

      I won't even get into the hassles if, god forbid, you want to run a second X session on :2.

      If anything, the lame attempts of programmers to second guess what the end-users want, locking them into defaults, and not testing non-default configs, is a horrible trend in general.

      --
      I've had enough abrasive sigs. Kittens are cute and fuzzy.
    2. Re:No. by dasmegabyte · · Score: 5, Informative

      I have a plaque on my desk with a series of 9 principles of Object Oriented design that I stole from Bruce Eckel's outstanding Thinking in Patterns with Java. I made the plaque not because I'm a huge fan of OO (which I am), but because many of them are equally useful when designing human interfaces.

      Don't be astonishing. In other words, don't do something in a completely new way and don't spring new concepts onto users without educating them first. I've used many designs that were fantastic after a bit of training (Blender comes to mind) but WITHOUT that training you can't do a damned thing. That's astonishing. That's bad design. That's the reason why Apple mice have only one button and the HI guidelines BEG you not to require contextual menus. And for god's sake, don't use a menu called "Script-Fu" and expect people to know what the fuck it does!

      Make common things easy, and rare things possible. In other words, allow people to do what they have to do most often in a clear cut way with minimal interaction. If you have additional options, hide them. They don't have to go far away, but don't sour your main interface for an option 99% of users will never need.

      Consistancy The A1 most important thing. If you perform actions with the control key on one screen, and with the alt key on another, you've got a crappy interface. If your program uses drop downs for some things and autofill text boxes for others, you've got a crappy interface. Choose one method for managing each type of relationship, one hotkey for each type of function, lay things out in similar fashions, etc. Using visual inheritance helps.

      Law of Demeter (don't talk to strangers) A window should only have power over the information inside it, information passed to it and information it sends back. A Tools window that has a save button is useless.

      Subtraction A design is only finished when you can't take anything else away and have it be useful. Get rid of all those bullshit options and useless features, they're just making the app bloated and confusing.

      Simplicity before Generality A general purpose app that is not simple is not worth using. I point and laugh when I see interfaces like Novell's terrible management utility. Drilling through a tree where every node does something different with no explanation of what they something does is only good if you charge several grand for certifications on that interface. For everybody else, it sucks.

      Reflexivity Don't change more than one variable per control, and don't use more than one control per variable. If you've got a drop down that says "Change Name to Rob and Street to Youngstown," you need two controls.

      Independence / orthogonality "Express independent ideas independently," something we can argue about as it sort of breaks the simplicity/generality idea. But the concept is this: if you're editing user information on a screen/tab/etc, there shouldn't be anything about filenames on it. If you do have independent ideas that have to share space (say, addresses with names), separate them with different colours, spaceing, group boxes, whatever, so that users know they are different ideas grouped together.

      Once and Only Once I could argue this too...the idea that there should only be a single way of entering or editing data is a sound one, but there are many times where it is more convenient for duplicating data or editing multiple records to use two different interfaces. But the basic idea is sound...and if you do allow more than one entry point, it should only be to make things simpler for users -- and maybe the two interfaces should share code (in .NET, I use a lot of User Controls to create "panels" of functionality, thus preserving this principle of design while reproducing the functionality).

      --
      Hey freaks: now you're ju
  4. Maddog @LCA by laptop006 · · Score: 4, Informative

    Was a great speaker (and signed a friends Tshirt), had the view of someone between a total geek and Bdale, with enough business experience not to make a fool out of himself, but still enough of a hacker to not be out of place.

    Any aussie's who havent been to an LCA before I highly recomend it, the next one is on in April 2005 in Canberra.

    --
    /* FUCK - The F-word is here so that you can grep for it */
  5. Is it TIME for End-Users? by grunt107 · · Score: 5, Insightful

    This is the core focus for applications. The End-User must always be factored in, regardless of who that is.

    For example, I may develop a quick little utility that let's me interface w/all the X10 in the house. I make it text-based commands, since I need no fancy interface.

    Now, change that to Ma and Pa Kettle. Try to sell them the text interface and they call it crap. Add a whiz-bang interface showing all the connections in the house as the appliances/rooms they reflect and M&P buy it.

    More IT apps fail from lack of interaction with the end-users.

    1. Re:Is it TIME for End-Users? by FictionPimp · · Score: 4, Insightful

      And also remember, just because you have a gui to access the program doesn' mean you can't still have the command line access to the program.

      A lot of people seem to think that the more usable the UI the more control must be restricted. I belive there is no reason why anyone should ever need to access a config text file to change a setting. But I also think there is no reason why they shouldn't be able too.

  6. Usability benefits geeks too by Anonymous Coward · · Score: 5, Insightful

    "Is it time to pay more attention to end-users?(who aren't geeks)"

    Not only is this mentality wrong, it's also holding OSS usability back. Geeks are end-users too. If good UI design is targeted at computer novices, as is widely assumed, then why do so many technically talented people love OS X? Answer: Because usability gains for "our grandmothers" are also usability gains for we geeks.

    1. Re:Usability benefits geeks too by Epistax · · Score: 4, Interesting

      I prefer a geek switch, or rather, a series of geek switches that turn the software from being a usable piece of software into a controllable piece of software. You must understand some people will NEVER want to switch into geek mode. I know my parents would never sacrifice usability for features. By the same token some geeks may know the author of the software well and be able to guess how to control the software and may never use an easier mode. Many games have this feature (RTS) so I'd really like to see it in programs.

      The one mistake many programmers make it requiring people to accept things they do not want. Perhaps I want control X but not control Y. Many programs would force you to take both or neither. This must always be circumvent-able without resorting to geekhood.

  7. re by computerme · · Score: 4, Insightful

    And this is way I use OSX. Usability beyond compare, commercial and open source apps, java, and windows integration.

    The power of Unix, the ease of use of the Mac.

    OSX makes me money today with increased productivity and access to best of breed apps.

    Linux may get there one day...In the mean time i need to get work done TODAY.

  8. It's not just FOSS by SpiffyMarc · · Score: 5, Interesting

    The attitude of "It works, don't care if you don't like how it works or if you think it's ugly, I like it, if you don't like it than don't use it" is not just in FOSS, it's the attitude of many, if not most, programmers. Despite what it may look like, this isn't flamebait, I'm one of these guys myself. At the company I work for, this attitude is prevalent to a degree in most of the developers. It takes someone outside their heads (and usually, pressure from someone who makes the decisions) to put a friendly face on the application, and, dare I think it, reduce or refactor functionality to present a better interface to the user.

    It's not that developers aren't to blame, but rather, it's how you'd expect developers to be. What FOSS needs is a free, open-source equivalent of the QA/Validation/UI Design department.

  9. This cracks me up by Infonaut · · Score: 4, Insightful
    is it time to pay more attention to end-users?(who aren't geeks)?

    Welllll.. considering that without end-users IT wouldn't have a job, it does seem fairly important to pay as much attention as possible to end-users.

    If you have to ask that question as an IT person, you are already a few steps behind.

    --
    Read the EFF's Fair Use FAQ
  10. Too true! by JohnGrahamCumming · · Score: 5, Interesting

    > The reason is, the motivation for open source is
    > not because the person gets paid but the person
    > gets prestige. The developers are designing for
    > each other and they are so feature rich--geeks
    > love features--and you get more prestige by adding
    > features. For the average person fewer features is
    > better and easier to understand.

    This has been a constant battle on POPFile. People are forever asking me for this option, or that option, which are useful to a user community consisting of themselves and the two other people in the world who want the same thing. I've been argued with strenously for not adding various features and in general to innovating in the UI really slowly, but the lesson is clear: the average user should be guided by the software to the right behaviour. POPFile does have 100s of special options and they are available in a cfg file that a geek can get at.

    The other problem with open source and GUIs are all the people who want things in very specific places. e.g. I got constant "Put button X at the top, no, put button X at the bottom, no put it at the top and bottom" type conversations. Finally, we've boiled the UI down to the things that most people like and anyone else can hack the HTML templates and make the UI just as they want it.

    Overall, we've settled on:

    1. Lots of flexibility exposed at the geek level
    2. The every day functionality exposed in the UI.

    There's still a lot to do to make POPFile's UI really friendly, but the biggest lesson has been to resist the power users when it comes to adding UI widgets.

    John.

  11. Depends... by GillBates0 · · Score: 4, Insightful
    Is it time to pay more attention to end-users?(who aren't geeks)

    Most OSS is written by geeks as a personal hobby - just because they like writing code.

    IMHO and experience, designing and implementing a GUI is one of the more boring, cumbersome and uninteresting parts of programming, something like writing office or business applications (atleast for me).

    I don't see why a hobbyist would do something he didn't like.

    --
    An Indian-American Hindu committed to non-violent thought/speech/action alarmed by the global explosion of radical Islam
    1. Re:Depends... by zangdesign · · Score: 5, Insightful

      There is no reason for a hobbyist to do go to the trouble of making a gui for end-users.

      However, many people do FOSS development as a means of creating software to supplant commercial software, or as a means of creating new ideas in software. Those are the ones that should be paying attention to non-geek end-user needs. Furthermore, those that wish to be taken seriously as developers for end-user solutions need to do so as well.

      A lot of it comes down to understanding who you're writing software for. If it's for yourself, who cares? If it's to attract other users, then you have to consider your target audience and if the audience includes the basic non-geek user, then you need to plan for their needs.

      --
      To celebrate the occasion of my 1000th post, I will post no more forever on Slashdot. Goodbye.
  12. Who? by MyShinyMetalAss · · Score: 5, Funny

    Who are these 'end users' you speak of?

    --
    This is not an automated signature. I type this in to the bottom of every message.
  13. "Poor OSS UIs" by harmonica · · Score: 4, Interesting

    I think the state of OSS GUIs is better than he claims. A lot of work with regard to usability has gone into the major (!) projects like Gnome or KDE. That still does leave us with quite a few crappy OSS GUIs, but it doesn't really make sense to try to come up with some average value in this case.

    A study on this could be interesting.

    1. Re:"Poor OSS UIs" by killjoe · · Score: 4, Insightful

      The whole concept of Usability is a bit of a canard. For the 99% of the people on this planet in order for something to be usable it must act and look exactly like a MS product. If it does not then they can't use it. Of course making your product look and act like an MS product is sure to get you sued but that's another discussion altogether.

      People who measure usablity measure wrong things. They don't measure how easy a program is to use they measure how easy a program is to learn. There is a subtle but profound difference between the two. It may be easier to learn something if there is a tabbed interface with a dozen tabs on it and the user can waste 5 minutes looking for the option he wants but it is by no means easier to use.

      This is central dillema. Programs like vi, emacs, sed, awk, find etc are very hard to learn but once you have learned them they are easy to use. They make you more productive. When it comes to usablity nobody seems to care about the people who have taken the time learn something, they all want to concentrate on grandmas who can't tell the difference between turning off the monitor and turning off the computer.

      --
      evil is as evil does
  14. Cloners by Donny+Smith · · Score: 5, Interesting

    From TFA:

    ========
    The second problem is that open source when they turn to the general tools they tend to be in the line of "let's implement what we already know" so they will take Microsoft Office and they will clone it. Since we've been criticising Microsoft for years for cloning Apple it is only fair to criticise open source for cloning Microsoft. The point being that you don't move ahead but you have to do something new.
    ========

    Very nicely said - he's not the first or the last to say this, but I am puzzled how many in the OSS community and on /. still dispute that view.

    Of course, that is not only obvious but potentially dangerous from the legal perspective.
    If/when OSS software gets close to endangering some big commercial software, I think this cloning thing will be the first the ISV will present to the court.

    BTW, the Pope said something against cloning yesterday - was he complaining about OSS?

  15. Could he be anymore wrong? by SilentStrike · · Score: 5, Insightful
    From the article...
    The developers are designing for each other and they are so feature rich--geeks love features--and you get more prestige by adding features.
    Could he be anymore wrong on this? I am totally the opposite. Give me minimal over bloated anyday. What am I running now? fluxbox, irssi, pine, gaim, firefox. I guess gaim and firefox are rather large programs, but firefox itself is a leaner mozilla... and gaim at least isn't distractingly bloated, where the interface gets in the way of wanting to just send some IMs.
  16. Why do you need to ask this? by pixelgeek · · Score: 4, Insightful

    Sorry but the fact that this question still needs to be asked is a damning criticism of FOSS development.

    Despite aiming to extend the reach of FOSS distros into the desktop developers still write software that most users can't use.

    This gets brought to the community's attention quite frequently and despite this the core point remains unexamined and unanswered:

    Geeks who write FOSS software aren't the ultimate market for those tools (or at least they aren't if you want to help spread FOSS) and until tools and software is written for a broader market then Linux will remain a server OS.

    And while we're at it can we all drop phrases like "Joe User" and its ilk? Perjorative terms describing what is your actual target market don't help you create better software for them.

  17. Step 1 is easy. by Murmer · · Score: 5, Insightful

    Step 1) For the love of God, stop making skinned applications. Use the UI-consistent widgets, they're dirt cheap, I promise. Skinned apps make me want to scrape my eyes out.

    --
    Mike Hoye
    1. Re:Step 1 is easy. by TheRaven64 · · Score: 4, Insightful
      More importantly, stop regarding skinning (or any other form of user-customisation of the UI) as a substitute for good UI design in the first place.

      The second simple step is to realise that simple functionality should be easily accessible. It doesn't matter how complicated the application as a whole is - if simple things need complicated user interaction to perform then the UI is badly designed.

      The third simple step is consistency. If something else does something similar to your application, do it the same way. Don't re-invent functionality. If your application needs to be able to send email (for example), don't write yet another email client, simply invoke whatever one the user is already using.

      Good user interface design is really not that hard, but it does need some thought and care to do right.

      --
      I am TheRaven on Soylent News
  18. Is it time to pay more attention to end-users? by Otter · · Score: 5, Funny

    ....asks Hemos as he blinds us with another blast of beige-on-white text...

  19. Usability is a big deal! by bigberk · · Score: 5, Insightful

    Apache impressed people with its English-style configuration directives that have influenced other developers to switch to such logical formats. Another example: the Postfix MTA is becoming more popular and many users say they enjoy using it because of the straightforward configuration, compared to the m4 mess of sendmail. "It has to be complicated to be powerful" is no longer an excuse.

  20. Cloning Microsoft by linguae · · Score: 5, Insightful
    The second problem is that open source when they turn to the general tools they tend to be in the line of "let's implement what we already know" so they will take Microsoft Office and they will clone it. Since we've been criticising Microsoft for years for cloning Apple it is only fair to criticise open source for cloning Microsoft. The point being that you don't move ahead but you have to do something new.

    Good point taken. I hope I'm no troll or flamebait here, but have you seen KDE or GNOME lately, as well as their applications? They almost look like replications of the Windows interface. Isn't leaving Windows and learning something new part of the "benefits" of switching to Open Source? I think that the Open Source developers should build a brand new interface from the ground up, that is different from the other interfaces out there, but also useable enough so that way non-geeks would be able to use it with minimal trouble.

    What I mean is this. Say you're a hypothetical non-geek Windows user who is using KDE or GNOME. You notice that the interfaces look very, very similar; the minimize/maximize/close buttons are in the same spot, the bar where your applications go works quite similar, and everything has a bit of familiarity. But say you want to go further. Then you'll hit some rough spots, because KDE/GNOME doesn't work exactly like Windows does, even though it looks very similar to it.

    But what if I gave that same user a completely different user interface, one that the user has no experience in. Yes, the user would have to learn how to use the new interface, but if the interface is well designed enough for usability, the user will master most, if not, all of the aspects of the user interface in very little time. Plus, because the interface doesn't look like anything that he or she seen before, the user wouldn't expect "well, it worked here in this environment, so it should work the same way here."

  21. 8-Ball Nielsen by rokali · · Score: 5, Insightful

    This guy keeps saying the same things over and over again. Why anybody would pay him $10,000 (his starting price) to review their site is beyond me. Instead, someone should make an 8-ball with his 30 stock tips in it: "Don't have a link to the homepage on the homepage." "Don't have dark text on a dark background." "Have a search field in plain sight on the homepage." "Make your pages liquid." and so forth

  22. God yes... by Dracolytch · · Score: 4, Insightful

    Yes, yes, yes. A thousand times yes.

    As a software engineer myself, I find the lack of attention to the user interface with end users (even other geeks) terrible.

    Let's face it: I don't have the time or energy to learn the ins and outs of all the possible software out there. 90% of the time, I want the base functionality, and don't want to have to learn how to set 10 things, just because I want to do 1.

    I'm sorry, but most of you programmers that think that an effective user interface isn't important are either ignorant, lazy, or both.

    Take a User Interfaces class. Not only will your end-products improve, but you will also get some insight as to how other users may be thinking, and what they're looking for.

    The most important thing you need to do before you begin the act of creating anything is to Understand Your Audience. I guaruntee, your audience will not follow the same thought processes you do.

    ~D

    --
    This sig has been enciphered with a one-time pad. It could say almost anything.
  23. We need to make UIs easy to code by iabervon · · Score: 4, Insightful

    UI designers aren't any more likely than programmers to hate their work and never want to do anything similar in their spare time. The reason that OSS projects don't usually have UI designers as regular contributors is the amount of knowledge necessary to change a program's UI that isn't in the standard graphic design curriculum. In the commercial world, UI designers generally work by having the authority to tell programmers what to do; in the OSS world, they have no way to get this authority, because they don't have the skills for the entry-level gathering of respect.

    In order to have good UIs, we need to involve people who can design them. In order to involve them, we have to empower them to make patches on their own. And that means arranging for UI coding to be completely obvious, and separate from the inner workings of the program.

  24. And people complain about a lousy job market! by Rikardon · · Score: 4, Insightful

    I appreciate your attitude; it makes it easy for me to steal your job. =)

    Seriously, I just can't understand this kind of thinking, although I encounter it all the time. If you're writing utilities for yourself or for a group of people very much like yourself, it's no problem. But if you're writing commercial software, you're not writing for yourself. Your whole livelihood revolves around solving other people's problems. Expecting your customers to adapt their way of thinking to your way of coding is just piss-poor customer service. You want their money; that means you make it easy for them, no matter how challenging that may make the coding task for you.

    Oddly enough, I came to these convictions not through coding, but through years of work as a DJ. No kidding. When I started out, I had all these pretensions about educating the great unwashed in what good music was. And you know what? I got the conceit beaten out of me very quickly, as I cleared dancefloor after dancefloor for the first two months.

    I soon realized that my job was to play what the crowd wanted to hear. And if their tastes had been informed by 30 years of top 40 radio, tough luck for me. My job was to figure out, at any given gig, what kind of crowd I was dealing with and play accordingly. And it's worked wonders.

    Interestingly, I came to learn that if I do that well enough, the crowd learns to trust me. They're so happy with what I'm playing (after 13 years, I virtually never have a bad night) that if I slip in something new, they'll usually give me the benefit of the doubt enough to dance to it anyway. That's right: I have more success introducing new music now, than I ever did when I was looking down on the people who were cutting the cheques.

    The same applies to software. I seem to be a rare case: someone with real interaction design chops, who has also written a C compiler. But it seems like a natural marriage, because what proper usability research does for me is confirm that I'm solving the right problem in the right way.

    I think Eric Sink has an article or two about this where he distinguishes between what he calls developers and programmers, but I'm too lazy to Google for it.

    1. Re:And people complain about a lousy job market! by Mornelithe · · Score: 4, Informative

      I don't think you understood what the original poster said.

      He didn't say, "Usability is for losers. People should learn overly complex interfaces." What he said is that you should separate 'what it does' from 'how it looks.'

      Take k3b, for example. People usually say it's the best burner for Linux. I just click on a button to open a project, and then drag the files I want to burn onto a window. Or I can drag songs directly out of my media player, juk. Then I click a burn button and it makes the cd.

      But, does k3b implement its own cd burning functionality? No, it uses cdrecord and cdrdao and whatever other command line utilities are out there. People who know what they're doing write the cdr writing stuff, and then the k3b people use those to make a nice interface for it.

      Take gift as another example. It runs a file sharing client as a daemon, and then you use various gui programs to interact with the daemon. Don't like KDE? Use the Gnome interface. Or vice versa. Don't like any of the interfaces? Make up some totally new filesharing user interface. But underneath it all is the same piece of code providing the actual functionality, written by people who know how to implement it well.

      When functionality and interface are separate, you can choose your interface. People can develop new, better interfaces while preserving the existing functionality, and without having to rewrite it, and you don't force people who aren't good at interface design to make all of the decisions for it.

      That's what the original poster was saying. Not "usability doesn't matter."

      --

      I've come for the woman, and your head.

  25. Re:Dunno about you by Welsh+Dwarf · · Score: 4, Insightful

    Would you mind justifying your post, all I can see here is that you think this/that or the other.

    From what I read, the GP post was in the creative industry, and I can't see how you justify a lot of your examples:

    'For anyone in the creative industry. No.'

    The GP seems to prove you wrong there. (If I(m mistaken, please flame away)

    'For anyone that needs Office. No. (and please don't say OpenOffice is the same)'

    OpenOffice, no but a lot of non profits and governmant agencies where I live seem to think StarOffice on Linux is just fine for their needs.

    'For Grandma. No.'

    Mabey, never tried, but my non-geek gf (a literature student) gets on with Mandrake 9.2 just fine, and no I'm not there 9-5 everyday fixing things.

    'For elementary school kids. No.'

    Because it hasn't got word? I can't see what's missing here, or mabey I'm just completely out of touch with the kids around here...

    'For plug and play wireless networking. No.'

    Can't comment, never used wifi at home or at work, never needed to.

    'For people that don't want to rebuild kernels with new revs of linux. No.'

    Have you used Linux in the last 4 years (and no, typing ls in Debian doesn't count). None of the End user orientated distros require this any more.

    'For people that want features like expose and searchlite months or years before the competition. No.'

    Don't know what it is so I can't comment.

    'For people that don't want to use Wine to run commercial apps. No.'

    Depends on what commercial apps you want to use, and I can't say that I'd pack pure wine in the same categorize as CXOffice or (purchased) cedega here.

    Please tell me what I've missed.

    --
    Ask 8 slackers a question, get 10 awnsers (a citation, but I can't remember from who)
  26. A good example is in Gnome by B5_geek · · Score: 4, Interesting

    It just occured to me why I dislike the "spatial" nature of the new Gnome.

    #1) It is just like DOS. You can only be 'active' in one directory at a time. Deep dir's were hell, but shallow ones were kinda quick and easy to copy/move files around and open them.

    #2) The entire "browser" style has lasted only because Suzie Soccermom has never learned that by using a "Tree-view + detailed list" is easier, (damn Windows default settings).

    #3) IIRC Xtree, Norton Commander and Dosshell were all designed to quickly & easily allow of folder/file manipulation at the deep level. This is a huge improvment over the existing DOS CLI.

    Is this really just a case of: "What is old is new again"?

    Like a previous poster stated. Spatial systems would work very good for large numbers of files, if the OS did all the sorting for you. (Didn't MS try this with "My Documents, My Pictures, My P0rn..." and we all hated them dearly for it?)

    Here's a novel idea, let's make the choices EASILY switchable. Include 999999999 different choices and let the end-user decide.

    Damnit that's the mess that we have with any linux distro installer.

    Ok, how about the Model-T Ford method: "You can have any colour you want as long as it's black."

    Apple beat us to that one too.

    ok I give up. Maybe I just go "roll my own". And no I am not talking about linny.

    =) I love Mondays

    --
    "The price good men pay for indifference to public affairs is to be ruled by evil men." ~Plato (427-347 BC)
  27. Don't generalize "usability" -- it's multipart by Morgaine · · Score: 4, Insightful

    Don't expect usability from a programmer.

    You're making the same mistake as various high profile advocates who seem to think that usability is just one single thing. It's not. Usability has many different aspects, and the importance assigned to each of those aspects varies across different target groups. Usability is not just something required by granny. Programmers and managers and accountants and 4-year old Joey and granny all require high usability, and it's a complete mistake to think that non-programmers are the only users to whom the concept of usability applies, and that therefore programmers can't produce the goods.

    As a software developer, I expect high usability from my dev tools, and that includes powerful integration between all elements of the toolkit (instead of simplicity), and easy visibility of all component parts (instead of hiding detail on purpose). Neither of these are wanted by granny, but it's a total mistake to then conclude that important general issues of usability like consistency and layout clarity are of no interest to me. They are, and the tool programmer is the person best placed to understand that, and to deliver it.

    To simply say "Don't expect usability from a programmer" may sound cool, but it's incorrect. It's incorrect because usability is a multipart issue, comprising a large body of domain-independent elements that underpin access to one or more domain-specific object sets and relationships.

    Tool programmers are exceedingly well placed to develop high usability in the domain-independent parts (such as symmetry and clarity) since these require an analytic mind, as well as in the domain-specific parts that apply to the programming domain. The only area where they will often lack competence is in application domains outside of their personal sphere of knowledge. Well, nothing new there --- that's why additional input from domain experts is always required when writing a non-trivial app.

    Does this mean that a programmer can deliver excellent usability in an educational app for Joey, unaided? That's unlikely, unless his or her domain expertise includes toddler education. However, the programmer has oodles of the usability expertise needed to deliver elements of usability like clarity and symmetry and effective feedback, because they apply to all target audiences, including programmers.

    None of this excuses incompetent design from inexperienced coders of course, but that's a different subject altogether. Only a competent software engineer (both amateurs and professionals) will ever deliver a quality product, barring accidents.

    --
    "The question of whether machines can think is no more interesting than [] whether submarines can swim" - Dijkstra
  28. Re:Dunno about you by gnu-generation-one · · Score: 4, Interesting

    "But linux is already there for me (mandrake 10)"

    In a default install of Mandrake 10, KMail now displays the images in spam (I prefer just the source-code so I can delete it quicker), it puts a big red header at the top of each HTML message filling the preview pane with something unrelated to the message, it's got a crap default font, it has icons next to each menu item making it more difficult to read, it might have slightly-transparent menus making it difficult to read, the default icons are so bland you can't see what's what (they're all bluish-white circles), I'm not sure it's possible to insist on always-non-HTML outgoing mail, XChat is now ugly, MandrakeUpdate doesn't work, rpmdrake does work, but displays error messages even when it succeeds, and it displays dialog-boxes when you start it "I'm about to run rpmdrake, okay?" - "yes, dammit, that's why I typed rpmdrake, duh!". 3-hour install time, advertising during the installer and an end-user license agreement. Didn't configure X properly, and X crashed with "no screens found" first time I ran it. Mouse-wheel doesn't work, extra buttons on the mouse don't seem to be setup to do anything, WindowMaker has a crap default configuration with useless mandrake menus and an ugly config. Text-mode terminals have a distracting white star in the corner of each screen, no matter what you're doing. Default X terminal seems to be Konsole, the slowest program ever, takes about 20 seconds to load on my machine for a console. Xterm doesn't seem to have been installed by default, neither was kppp (the internet dialler, would be nice), neither was kedit. No I didn't use "individual package selections", I've wasted too many hours in there before. New KDE theme is as horrible as the fonts, and good luck finding how to change it from if you're not in KDE at the time (it's 'kcontrol', I should note to myself, and 'gnome-control-center'). There doesn't seem to be any way of turning off the "send this picture" menu in mozilla which is so annoying to hit by accident, nor the "close other tabs" menu, cause of many a day's lost work. Oh, and KMail must have sprouted a new menu or something, because I always seem to have trouble finding anything in what used to be a nice clear layout.

    Did I mention that I use KMail so many hours per day that making it even slightly harder to use is a big kick in the teeth from the people working on default configuration at Mandrake? Or that I use rxvt frequently enough that disabling the WindowMaker icon to open a terminal after you've used it once is frustrating enough to make you want to install gentoo, even if it takes you a month of downloading?

    And that's just the stuff which has changed since the "quite nice but crashes with a USB key" Mandrake 9 (apart from the EULA which was always offensive). Seriously, I use Mandrake all the time, it's the best OS I've found so far, but after installing Mandrake 10, I've spent nearly every waking hour looking at pictures of Apple iMacs, and counting the cash required to buy one.

    Does this comment even get 10 minutes before disappearing beneath the waves of moderation?