Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Programming IT Technology

Improving GUIs In Open Source? 31

frekio asks: "I'm a 4th year undergrad at UCSD and am taking part of an ambitious cognitive science course that moves us, as groups, to redesign an interface with cognitive processes, usability and efficiency in mind. My idea was to contribute to Open Source with this project by assisting in a GUI design/redesign. We need to work with something that has an active user community which could provide feedback about changes we made or propose, and therefore must have a decently large userbase. What are some projects out there that provide software which people use day-to-day and could use more time and effort put into the User Interface?"
This discussion has been archived. No new comments can be posted.

Improving GUIs In Open Source?

Comments Filter:
  • I agree!! I think dselect would be an excellent choice of things that could use a better design. It would be nice to have a graphical interface to dselect showing dependencies and stuff.
    >~~~~~~~~~~~~~~~~
  • The install program for Debian!

    *shudder*

    I love the idea being Debian's design, but the installation of it gives me nightmares.
  • by The Mayor ( 6048 ) on Monday April 09, 2001 @03:33AM (#307416)
    Add accessibility to GNOME. Right now, GNOME does not work well if you cannot see, for instance. All sorts of things need to be done to help out. Furthermore, there are loads of research into accessibility for GUIs to use as reference material. This wouldn't affect the average Dick or Jane, but would have a tremendous impact on the vision-impaired. Let's make Linux the preferred platform for the disabled!
  • Should we all eat onions because many prefer them and some don't know how to remove them? Perhaps instead we should provide many simple ways for the masses to get onions without asking, and several effective ways for others to achieve onion-less solutions. I suggest that, while thinking about new solutions, we make no assumption about requirements such as onions or anything else.

  • Hehe, I have no argument that mice are required for playing first person shooters. The higher resolution the mouse the better!

    I don't know that a mouse is essential for selecting things. Your specific example assumes using a Macintosh style file-manager application. I'm suggesting that we need to rethink both software UIs and hardware UIs. Perhaps file-managers only exist in the currently fashionable GUIs. Perhaps there are ways to select files that don't involve file globs or mouse-pointer-rectangles. I think the current UI model that we commonly called "desktop" is probably good for children and illiterates, but I suggest the desktop model actually impedes the activities of information workers. IT professionals could get their jobs done with or with a desktop operating system; let's have people examine what type of interfaces would be best for individual problem domains and put an end to the "one desktop gui" fits all non-sense.

    I don't specifically attack keyboards, because they seem to be used, often in combination with other devices, by most UIs introduced to date. Mice on the other hand are very fashinable right now but aren't part of any UI except the desktop model. I'd be happy to be rid of the keyboard. Maybe I should just shut-up and start using my twiddler. ;-)

    UIs could be a lot better if we all typed in Lojban instead of English [lojban.org]. ;-)

  • by winterstorm ( 13189 ) on Sunday April 08, 2001 @07:08AM (#307419)

    Before problems with software user interfaces can be solved, we must solve the problems with the hardware interfaces. The mouse needs to be eliminated; it's great for slow people who don't know how to use a computer but it slows down those of us who know what information we want. However what the replacement would be is debatable. I like pen based interfaces (not for writing, for pointing) but that doesn't work well with the current fashion in PC 'stacking' (stacking the monitor on the desk, perpendicular to the desks surface).

    Perhaps we need to ask the question, "do we really need to point in order to compute?" and if the answer is "yes" then how should we best point, and if the answer is "no" then what should be changed.

  • People are continually complaining about Open Source GUIs. Now, I hate to mention the dreaded K, but I'm running KDE2.1 on FreeBSd and it is really, really smooth. I like the design much better than Mac OS X (although it doesn't have all the nifty features), and it puts Windows to shame.

    So I'd encourage you to look at modern open-source GUIs before you assume they need a lot of help in that department.
  • IMHO, using a wheel mouse to navigate and check out large numbers of pages / lists speeds up things immensely - at least for me. Having the Back button of the browser (and other apps like the Acrobat Reader) on the wheel (when it is pushed like a button) also helps. My image viewer understands the wheel mouse and is good for sighting large numbers of images.

    I say that as someone who knows his accelerator keys very well - I still use them, but the mouse isn't for beginners only. However, apps must make sure that they can be used without a mouse.

    The comparison of mice and keyboards isn't fair anyway because you shouldn't do the same things with both. There are jobs that require the shell exclusively, and vice versa (image editing). So, no simple answer here...
  • One thing that needs to be changed is the standard gtk file selection dialog. Man, that thing is horrible. To be fair though, I've never seen a good file selection dialog, and I'm not sure how one would go about improving something like this.


    --------------------------
    "Any fool can make a rule, and any fool will mind it."
  • I haven't seen the KDE dialogs recently, but all of your suggestions sound good to me, especially the bookmarks. Also, I believe that GNOME and non-GNOME gtk apps use the same file dialog, though I may be wrong.

    If the original poster is interested in this sort of thing, I think this would be a great place to start. Kind of a small project to get your feet wet, and one that would be appreciated by many, many people. There is a gnome-gui mailing list with archives available at http://mail.gnome.org/archives/gnome-gui-list/ [gnome.org] where one could probably get more information on how to start a project like this.


    --------------------------
    "Any fool can make a rule, and any fool will mind it."
  • I was going to reply with the same suggestion.

    The file dialog is the weakest part of GNOME and one of the reasons I use KDE.

    Have you seen the KDE file dialogs? One of my favourite features is the bookmarks.

    I also think there should be a home directory button as well as history in the text box.

    However, it seems that the GNOME people want very much to be "not KDE." That was the point of GNOME in the first place, right?
  • Someone should mod that one up, its a very worthy goal.

    At the other end of the spectrum, you might find that changing the UI of Mozilla is the /easiest/ piece of work you can do (given that you have a project with limited timescales) since its look is not compiled in.
  • Let me second that. It's hard as hell for a relative Linux newbie (like me) to figure out exactly what programs the different packages contain and what their dependancies are. At least it was last time I tried to install Debian (fairly recently).
  • Hi grammar nazi,

    So you are recommending working on the library and improving their widgets etc? I didn't even think that was approachable but a great idea... What exactly is there to change there? I haven't looked very closely at many libraries like that so I'm not sure what to change... guess I better pay the gtk page a visit.

    I was also thinking of some smaller application since larger ones generally already have quite a large amount of effort invested in their GUIs and wouldn't be quite as receptive to outside help. I was also thinking possibly some media player might work well since their UI's are quite important and sometimes quite off the mark.

    hmm.... thanks for the suggestions :)
  • Yeah as someone else said, with my question I wasn't saying that Gnome and KDE have bad interfaces. The term GUI and UI are a lot more general. For example slashdot has a GUI. GUI is pretty much anything other than a command line interface. What it means is "graphical user interface", which means it has buttons or pictures etc. Any x client will pretty much have a GUI. The desktop managers and windows managers also have GUIs but they are just one type of GUI. I agree that trying to help out Gnome or KDE wouldn't be very useful since they have pretty good interfaces already and have a large amount of time and effort invested in them.
  • jefraskin,

    I completely agree with you... do you happen to have any good internet resources... or know of any books that go into these subjects in more detail?
  • Actually, the Star Office suite is not a bad interface -- it is just a case of Windowisms being applied to the Linux GUI. Some of them work, and some of them don't. Sun actually has some of the best UI designers in the business working for them.
  • by gss ( 86275 ) on Sunday April 08, 2001 @09:57AM (#307431)
    It's too bad this question isn't on the main page. There is lots of good open source projects out there that would be that much better if they had a better UI.
  • After reading the other comments, I have this to add.

    LyX is a a document-processor, you can equate it with Word, though it would be degrading for LyX. The fine part for the GUI design part is that parts of it are in MVC frame, that is there is a complete seperation between the applications and (parts) of the GUI.

    The parts not done yet are the major parts but this is being worked on. The dialogs are already in MVC form or in the last stages to be moved there.

    The plus for this is that you can change the GUI easily without touching the application itself. This means that you can do whatever you want without upsetting anyone and if you do it well and improve on the current GUI (not so hard to do IMNSHO), it will get accepted into future versions.
  • The LyX [lyx.org] project could do with some GUI design help, currently it is done by some rough guidelines of what is wanted, but some more top-down design and how things can be improved would be beneficial.

    Disclaimer: I'm one of the developers on the project so I'm bound to be biased.

  • I would recommend "Designing the User Interface" by Ben Shneiderman, Addison Wesley - ISBN 0-201-69497-2
    Hope this helps

    --
    Steven Murdoch.

  • three obvious ones: * web browsers (mozilla, konq, etc) * window managers/environments (kde, sawfish etc) * office programs (god star office has a terrable GUI!!!)
  • sutff dselect
    use tasksel for the basics
    then apt-get the rest

    easy :)
  • It seems to me that a lot of people are trying to build interfaces (and usually they just rebuild old-fashioned GUIs with a few new wrinkles) without understanding the principles of interface design.

    Just as you'd not look forward to working with a programmer who didn't know what a subroutine, a linked list, or what inheritance is, you can ask an interface designer if they know what Hick's law, GOMS analysis, and Fitts's law are. Ask, what is visibility, what are modes and what difficulties to they cause, and why logs to the base two often show up in interface analyses?

    In fact, you can ask these questions of yourself. And if you don't know the answers, you don't have the basics and need some education before you start designing interfaces.

    There's a lot more to know than these few items, either for programming or for interface design, but it is better to be viewing from the shoulders of giants than to be fooling around anywhere near their feet.
  • Hi.

    What about Gaim, Gnutella, or Gnapster? These projects have the advantage that they don't have many options/features. This means that the task would actually be possible to do for a class project. Bigger projects such as Mozilla and windows managers are complicated, have their own GUI libraries and if you aren't already a developer, good luck being able to come in and change the basic look-and-feel. Besides, I just want to see Mozilla 1.0, the last things that they need is somebody to change the interface for it.

    Another suggestion is to work on the libraries. Sure you can do whatever you want to with a single application, but if you enhance the human-computer interface of, say, the gtk library, then you've made every gtk application better.

  • A great project would be to design a usable GUI for Linux. What an achievement that would be!
  • So I'd encourage you to look at modern open-source GUIs before you assume they need a lot of help in that department.

    The original poster didn't say there was anything wrong with open-source GUIs in particular; presumably it's just that one can play around with them in a way that won't be possible with certain proprietary GUIs. And all modern (G)UIs could do with improvement; there are lots of operations that require the user to do unnecessary work, or slow them down.

  • A well designed version of dselect would be an ideal project. All the major hard work is done thanks to dpackage modules for python. You could use glade to easily build the gui, or ncurses to make a text interface.

    While dselect works fairly nicely, I frequently screw things up in a big way because dselect expects too much of the user. For instance, instead of allowing the users to review changes to be made, it just makes them all at once. Sometimes something significant slips by when looking over long dependency lists.

    A specific gripe I have is that sometimes it doesn't let me override the depenecie checkings system. At times I want to do this because I plan to install that particular component via a source build.

    So, to summarize, redesigning dselect has everything needed for an ideal project. It has a horrid user interface to a complex process. It has the tools available so that anyone can attempt to replace it (ie dpkg-pythion), and it has a really large user base.
  • KDE is nice. I like the qt widget look. It's sort of like MS but it's better. One thing I like about gtk is the little bar that you see when gimp starts up. That's pretty much all though. Most gtk apps seem to have their borders too thick. Most linux apps don't seem to recognize that everyone doesn't have the same screen resolution.

    One thing I like about GNOME is that you can customize a lot of things with simple menus. I don't like the way that everything has to be a link object in KDE. Like mime types. In KDE there is a folder with mime-type links. Personally I've never been able to make them work. On the other hand GNOME has a nice configuration tool for that. Links should be for programs or files.

  • Good point -- GNOME would be a fairly contained target. Accessibility broadens the user base, and tends to improve the overall usability of products. Of course, it's still a totally viable business decision as to whether it's cost-feasible for a company to invest effort in (unless you work for or contract to many governments worldwide -- then it's pretty much a requirement to provide accessible hardware/software).

    Some Accessibility links:

Friction is a drag.

Working...