Slashdot Mirror


What Features Would Make a "Better" GUI?

Rudyatek asks: "When it comes to desktop OSs, there has been much talk about 'the end of the desktop', 'reinventing the GUI', etc. Usability has become increasingly important as we battle the ugly UIs of Windows and X11, and watch companies like Red Hat and Ximian try to improve them. But I'm curious if anyone has any clear ideas on what a truly 'better' UI would really be like? As a hobby OS programmer I have a great interest in alternative OS ideas, and this is one that I hear more complaining about than actual ideas. Anyone have ideas?"

19 of 158 comments (clear)

  1. The end of the desktop ...NOT by Krueger+Industrial+S · · Score: 4, Insightful

    Everyone keeps talking about a "Better GUI" but nothing ever emerges. Why? Because there's really nothing wrong with the Windows GUI (or the various GUIs for Linux that are essentially knock-offs of Windows). The real problem is that nobody can stop hating Microsoft long enough to admit that they've done something well.

    1. Re:The end of the desktop ...NOT by nathanh · · Score: 3, Insightful

      1) Microsoft didn't do it. They copied it off other companies.

      2) There are new GUIs (Palm, Nokia) and they are definitely successful.

      3) I would argue that the Internet/Web-Browsing interface was a new GUI, and it was also successful.

  2. More keyboard-friendly by fuzzbrain · · Score: 4, Informative

    Some of the most interesting window managers I've seen lately are those that are controllable from the keyboard, like ratpoison and ion. I've been using Ion just about exclusively for the past month and it is really quite good. You can arrange your windows the way you want once and save the configuration so you'll never have to waste time moving xterms around so you can see them all. And because all desktops are tiled, screen real-estate wastage is minimised.

    1. Re:More keyboard-friendly by peeping_Thomist · · Score: 3, Informative
      ratpoison is awesome. I used ion for almost two years, but made the switch to ratpoison a few months ago. Once you get the keybindings on ratpoison set up the way you want, it's the most usable interface imaginable. And not a single pixel is wasted: every square inch of the screen is used.


      Nothing beats ratpoison on a Xinerama display.

      --
      Anything worth doing is worth doing badly -- G.K. Chesterton
  3. Some hackneyed ideas... by augros · · Score: 3, Interesting

    Well, there's always true translucency. Yes, it's mostly pointless, but it's so cool to look at. But if you're going to allow that, then you have to make everything hardware accelerated (just for speed). And if you're going to do that, well, you may as well base everything on a recognized standard such as PDF for cool scaling and whatnot, and then well ... you've got Aqua, and Quartz Extreme. So why not throw in a robust video layer too. And implement that funky vsync tweak that makes window movements sooooo smoothe.

    I dunno, XFree has made little progress in these directions and I just doubt it'll ever get up to par. I'd like to have native rotation, and a fast shapelib. Maybe I'm just wrong though. Everytime I tell people about the real problems I encounter with XFree I'm told they don't exist. Or they mutter something about the protocol. All I know is that I don't give a damn about network translucency (I'm no admin, just a user), I want my bloody alpha translucency. And the slowness and bugs ARE really there.

    The toolkits have really progressed over time, QT and GTK really are top quality. The only layer that I find lacking, surprisingly enough is the Window Management layer of the UI. Most window managers are either ugly or half complete (like MetaCity and Sawfish2 -- which I'm told have the FEATURES of being half-complete). The cool and configurable ones, like Enlightenment DR16 are buggy as HELL. And E17 doesn't look like it'll ever be realeased.

    As you can see, I could go on for days on my misinformations, but I'll cut it off here. At least I know I want a hardware accelerated, eye candied up, configurable UI.

  4. Desktop metaphors by qengho · · Score: 4, Interesting

    The "desktop" metaphor is getting increasingly outdated, but I haven't seen a really good overhaul yet. There are some links at this site, the most interesting of which is David Gelertner's LifeStreams.

  5. Readable fonts by lightspawn · · Score: 5, Insightful

    Maybe you can play around with text files to tweak your system's fonts, but most users have neither the technical expertise nor the inclination.

    If you release a distro with unreadable font, people don't say "hey, this distribution isn't configured very well". They say "Linux is hard to read".

    Oh, and can we please have checkboxes that make it obvious whether they're checked or not?

  6. They all suck. by GiMP · · Score: 5, Insightful

    Everything out there now sucks.

    There have been some neat ideas tossed around, including those with are not only 3d.. but '4d', allowing you to track file and system history through a 3d interface.

    Eventually we will have commonity hardware that can display 3d (opposed to hardware which currently only displays on a 2d surface).. at which point we will need a truely 3d interface, we should develop this interface now... rather than waiting for the hardware before building the software. History has proven that progress is best done with software pushing the development of hardware, not the other way around... current hardware is fast enough to write software that could be viewed from a 3d display, even if such displays aren't available yet :)

    There are a few features I'd suggest for 2d widget s like those with GTK..

    The tabs in GTK are done terribly wrong as they are modelled after Microsoft's equally bad tab widget. If there are more tabs than can be displayed, then the tabs should either create a new row (causing problems with nested tabs which shouldn't ever be used anyhow), or it should provide a menu for the selection of the hidden tabs like with SGI's Motif (which is different than plain Motif).

    Close buttons for windows should be on the upper left side of the window.. I'm not sure why Microsoft changed this (and hence creating a whirlpool effect); Windows 3.1 had a upper-left close button, MacOS has it, MWM (and clones/spinoffs), etc. It much faster, easier, and more natural to have it on the upper left. I believe Microsoft's intention was that it should be difficult and slow to close windows.. something that may help novices from making mistakes (which is why MWM and clones, including Windows 3.1 require it to be double-clicked); however, I find that a lot of people new to computers cannot find the close button due to it's location... advanced users are just annoyed or learn to use keyboard shortcuts.

    Speakers of languages based on latin are instinctfully drawn to the upper-left.. this is why having a menu in the upper-left is more effective than one in the lower-left (Microsoft Windows 95, per default). This can be different for those who read/write languages from right->left or from bottom->top. I believe Microsoft put their menu on the lower-left as it was initially designed to be 'supplimental' to the desktop icons which would be more prominently placed in the upper-left. However, desktop icons are a bad idea.

    Desktop icons are a bad idea. There should be a distinction between the execution layer and the runtime layer. A menu-bar which provides the execution layer then a 'viewport' for the runtime layer. Putting launchers in the runtime 'viewport' causes confusion between the runtime and execution layers. Think of a panel in Gnome as the 'execution layer', this is where programs are executed from.. and then the desktop where windows are allowed as the 'runtime layer'. This also means that programs should not be allowed to overlap the panel.

    I must agree; however, that the PalmOS interface is quite adequate considering some of it's defiance of some of my suggestions (desktop icons , for instance). However, their desktop icons could be easily replaced with a 'spring-loaded' folder such as in MacOS.. this would provide the abstraction of the 'execution' and 'runtime' layers by providing a panel, while still being usable on a small display. This 'spring-loaded' folder while minimized would sit along the bottom of the display for easy access while the user is utilizing any programs within the 'runtime' layer.

    A distinction between 'runtime' and 'execution' layers should require that the 'runtime' layer cannot overlap the viewport of the 'execution' layer, but the 'execution' layer's programs should be able to visually overlap programs contained within the 'runtime' layer.. as would be necessary for menus or usage on small displays as found on PDAs. :)

    1. Re:They all suck. by Gothmolly · · Score: 3, Insightful

      Please provide basis for all of your wild assumptions:
      "Speakers of languages based on latin are instinctively drawn to the upper-left". Why? Why not the Germanic languages too? We all start reading from there... if anything, the close button should be on the lower right, to signify that you've read everything.

      To paraphrase you, your whole post sucks.

      --
      I want to delete my account but Slashdot doesn't allow it.
  7. Application and File metaphors need to go by GusherJizmac · · Score: 5, Interesting
    Disclaimer: This isn't really good for programming, but for using a computer

    Look at the Palm OS gui. The Palm was the first widely used PDA because it's interface is so intuitive and easy to use. Why?

    There is no concept of a "running application", nor is there a real concept of files or a file system. You basically just switch between apps, and you never have to worry about exiting, saving, quitting, etc. Furthermore, you are very abstracted from files. Each app knows what bits of data were created with it, and which to let you open.

    Now granted, the apps on a PDA are much simpler than those on a desktop machine, but the concept is still good.

    Applications are always available and you don't worry about "runnig" or "quitting"
    Modern OSes have virtual memory, so there is really no need to worry about apps running and not being used. With slight additions of features like app "sleeping" (disallowing it from using CPU cycles on demand), File->Quit is a thing of the past. Just leave apps running when your first start them (or start common ones at boot time). The Mac OS X Dock fakes this pretty well by combining an app launcher and task bar. It's great, because I always do the same thing to use a particular app, regardless of whether or not it's running.

    Removing the "file" metaphor, and the concepts of "saving" a file
    By having applications constantly save files, and additionally version them as well, the user really has no need to ever save. I mean, you don't "save" your memo-pad entries or contacts in the palm, because you don't need to. They are simple structures, so versioning isn't needed, but for larger documents, something similar to the VMS file versioning can be used. Furthermore, since you abstract the user from managing files, their task is greatly simplified; you just click on your app, and choose which thing to work on. Since it's always saved, you never need to worry about exiting, or crashing, or anything. Additionally, apps know what files they created and can open, so the user never has to wade through files that aren't relevant to the current application (Mac OS 9 faked this by using the Type/creator codes).

    Files, folders/directories, running apps, are a construct the user shouldn't need to be exposed to. That is why the Palm is so simple to use, and browsing in Windows Explorer is such a pain (for the avg. user).

    --
    http://www.naildrivin5.com/davec
    1. Re:Application and File metaphors need to go by josepha48 · · Score: 5, Interesting
      Don't forget integration. In the palm OS the 'Applications' are integrated pretty well. You ahve an address book that when you are in email you use the same address book. They are getting more integrated in more recent versions of the Palms OS.

      The problem with Windows, MAC, UNIX and Linux, etc is that the apps do not integrate cross desktops. There are many different address books and while you can import between many of them you still have to import. It should be an address book format standard in $HOME/.addressbook or something that every app uses as a standard place. The user should not have to think about this. There should be a standard look and feel, no mater weather you are using kde gnome, blackbox, etc, they should all behave and look the same like windows apps and mac apps do, or like Palm does.

      Alternate form of input. The palm does not have a f***** mouse or keyboard (standard you have to buy one seperate and dont need one), it has a stylus and grafitti(sp).

      Also transferring data between palms is not rocket science. You beam data from palm to palm. With desktop computers you have to think about this and install software and hardware and jump through hoops. Palm is simple and so should a desktop be.

      If it were me I would start with something simple like blackbox and make it such that a person had simple access to the necessary applications. Most people just use net and doc processing and maybe excel, so I would start there. Keep it simple!

      --

      Only 'flamers' flame!

    2. Re:Application and File metaphors need to go by ClosedSource · · Score: 4, Insightful

      "Now granted, the apps on a PDA are much simpler than those on a desktop machine, but the concept is still good."

      Scale matters. Many good models based on narrow functionality break down when more general functionality is required. Remember all the talk of making software as easy to use as a toaster? Well, you can do it easily as long as the functionality only requires a slider control and a start button. You can't even make a radio as easy to use as a toaster.

  8. Merge the command line into the GUI by AdamBa · · Score: 4, Insightful
    What you want is to take the best of the command line and the GUI together. OK the "best" of the GUI ain't a whole lot. But the idea is you start with a GUI-like screen, with a primary command-line at the bottom always waiting to accept a new command. Any commands that you type are automatically launched into their own little command windows (unless just launching a GUI app, I guess) -- but the primary command line still has the history of the commands available, standard shell stuff, etc. Then those little command windows are now stored as icons around the screen. If you open one, you can see the output of that command the last time it ran, and easily run it again if you want (with some standard key). Right-clicking on one of those little command windows gives you options, beyond re-running it, like editing the output in an editor, pasting the output into a new command (useful for using the output of something like "where" as an argument to your next command), mailing the output, feeding the output back into a new command (sort of like "take this previous command's output, feed it into a pipe, and connect the pipe as input to the next command I type in my primary command window"), etc.

    So you wind up with a command line prompt, but it uses the GUI space to handle things that get a bit clunky in a regular command line prompt, like history, pipes, etc.

    Needs work, but it's clear in my mind...that's the basic idea anyway.

    - adam

  9. remove the abstraction by joe094287523459087 · · Score: 3, Interesting

    respond to my input automatically

    if i type "cstrike" start up counter-strike

    if i type "google" start up a browser and go to google

    if i type "letter to mom" or the start of a sentence open c:\data\letter_to_mom.txt in word processor

    if i type a name listed in my contacts, open the contact and an email message

    to use the cliched analogy of a car, i just want to get to my destination - i don't want to fuss with the tire pressure or change the oil first for every trip.

  10. What's your target? by BSDevil · · Score: 5, Insightful

    I've seen a fair number of people mention that they want something closer to the command-line, and more involved file-system management. That may be fine for you, but what about for my grandma who just wants to use word, outlook, and her knitting pattern designer. She dosen't want anything to do with the command line - she wants a (virtual) button to press that will "make it go" and run what she means.

    So when you say a better GUI, I challenge you to qualify what you mean. Do you want a better GUI for the programmers and hardcore command-line-junkies out there, or do you want somthing for the majority of users who don't give a shit about the command line or the filesystem, and who just want to "make it go?"

    Fos us who like the line (and like things like gcc, regexps, or **nix), then maybe a GUI with command lines everywhere is what we need. But all my grandma (or Joe Sixpack) needs is a bunch of buttons - like (as someone suggested) PalmOS. Or a Mac.

    --
    Cue The Sun...
  11. my list by itzdandy · · Score: 4, Insightful

    -speed.
    i want speed, i dont want to drag a window accross the screen and have to wait for it to arive, or have it jerk its way to where i want it. i want windows to pop up quickly. i want instant and accurate feedback on what my program is doing, is it busy? is it truely busy or is the UI lagging?

    -simplicity
    i want more control with less controllers. i dont need 7 buttons on each window to decide if i want to close, min, max, put to the back, bring forward, menu, etc. it should be(in my opinion):
    left, minimize and maximize
    right, close
    double click titlebar, shade
    right click title bar, menu
    maybee-right click minimize, put to back
    and and click in the window brings that window forward.
    any border should resize.

    -standards
    i want standard controls throughout apps. the file,edit,view, etc should all have the same layout on each application. preferences should always be in the same spot, everywhere, and help should always be on the right end.
    id also like the option of puting the menu bar on the top ala Mac, but i want that choice.

    -usable space
    i want usable desktop space. see fluxbox/blackbox. i dont want my file explorer to force me into a left side info bar. this should be optional. as in not like windows, but like mozilla.

    -solid code
    how about some solid bugfree code. something that wont crash because i did a rightclick/properties on a file while also doing a file copy.

    -personal
    i do like "skinning" to a certain extent. i like to be able to set color schemes and taskbar locations. but the buttons should be pretty much standard. Maybee be able to increase or decrease their size.

    -keyboard
    100% keyboard capable UI.
    easy to tab through open windows, easy to launch programs. standard shourtcut keys(cut/paste/copy/search) i dont run with just a keyboard, but some do mostly and i like keyboard shortcuts. using the keyboard and mouse together makes the UI way faster to navigate, assuming that your not running windows and have to wait for every little thing to happed before you even get input back.

    thats about it.

    kinda like BeOS..

  12. Bayesian program grouping by Anonymous Coward · · Score: 4, Interesting

    I want my computer/os/gui to learn from what I do. Do I launch mail at 9am every day? Then mail better be somewhere accesible at that time. Do I then load up a spreadsheet? Have it next in line. Make life easier for me.

  13. Revolutionary ideas here. by briglass · · Score: 5, Funny

    MULTIPLE MOUSE POINTERS

    That's right, I would like to see multiple mouse pointers. Society is stuck on the singular-mouse idea. We need to move beyond this 20th century dogma and start developing a multiple-mouse environment. If we can put a man on the moon, we can add a second mouse pointer to a GUI.

    BUILT IN HOMELAND SECURITY ALERT SYSTEM

    Are we at orange or yellow? I have no idea! But if my GUI incorporated the Terror Alert System into the desktop, I would always know precisely how scared I should be. Right now there is a 14-Click pathway to information about our current Alert Level. With integrated Homeland Security Alertware, the 14-Click barrier could be broken, and America would be that much more safer. If the next popular GUI doesn't feature Alertware, then the terrorists have already won.

    SUPERFLAT 3D-THIN BUBBLE BUTTONS

    In the beginning, all buttons and menus were flat. Then, Windows developed buttons and menus with a 3D appearance. Windows 95 took buttons and menus to a new level by incorporating the 3D-Thin look. While these new buttons appeared 3D, they had that appealing Thin look. Windows XP revolutionized Three Dimensional flatness by inventing the 3D-Thin bubble buttons. These button, although appealingly 3D, are so flat that they appear to be bubbles. I don't know about you, but this is already getting old. We need to add another dimension of flatness. I would like to see Superflat 3D-Thin Bubble buttons! Although Three Dimensionally thin and bubbly, these buttons would appear to be Superflat. I could get a lot more done, as a user, this way.

    --

    ----
    "Those who quote others are more likely to one day be quoted" -Tom Planter
  14. check out www.kde-look.org by fava · · Score: 5, Interesting

    On kde-look there is a very nice looking replacement proposal for kicker and the desktop metaphor.

    The author proposes a card based metaphor which would allow you to mix and match componants to create your own desktop environment. There is no code yet, just some annotated "screenshots" here and here.

    In the discussion there are several people volunteering to help code so this project may actually become reality.