My GUI design

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
Tux

My GUI design

Post by Tux »

I was working on the HALfix GUI. Don't know if xsism wants it, but I'll like to get opinions. The GUI is confusing at first, but I'll try to explain it if you ask.
Tux

Re:My GUI design

Post by Tux »

Hmm, remote linking problems. Try opening the site in a fresh new window.
User avatar
Pype.Clicker
Member
Member
Posts: 5964
Joined: Wed Oct 18, 2006 2:31 am
Location: In a galaxy, far, far away
Contact:

Re:My GUI design

Post by Pype.Clicker »

provided that the site you were pointing to was an illegal MP3/Divx/etc. repository and that there was nothing like "GUI.PNG" available on it (3 different techniques tried, but still no success), i'll ask you to provide another one ...
Ozguxxx not logged

Re:My GUI design

Post by Ozguxxx not logged »

Try this: http://www2.domaindlx.com/aohsoftware/GUI.jpg BTW, I think gui looks pretty impressive, did YOU implement it? If so It would be cool if you would write a tutorial on gui programming. :)
User avatar
Pype.Clicker
Member
Member
Posts: 5964
Joined: Wed Oct 18, 2006 2:31 am
Location: In a galaxy, far, far away
Contact:

Re:My GUI design

Post by Pype.Clicker »

at the "design" aspect (i mean, how it looks), this is (imho) pretty much like TWM -- the demonstration window manager of X-Windows ...

in other words, i would enjoy such a look, but as i have no implemented GUI so far, any GUI is a good GUI ;)
Therx

Re:My GUI design

Post by Therx »

Looks goodish but remember that the most important buttons should be along an edge so that the user can click them easily. I can't think where but I read an article explaining where and how things should be placed. It basically said how if the user throws the mouse in any direction it will end up at the edge or in a corner. So if there's a button that you need to click regularaly it should be in a corner including the edge... Just notices the Start button in 98 isn't >:(

Pete
Tim

Re:My GUI design

Post by Tim »

Therx: you're thinking of Fitt's Law. It effectively states that the easiest objects to click on are the biggest ones or the ones nearest the cursor. Make an object smaller, or have it further away from where the cursor typically is, and you make it harder to use.

Examples:

Windows close button. Far away from the cursor, but in the corner of the screen. Objects at the edges of the screen can be considered to have infinite width or height, depending on where they are, since the mouse pointer is always on the object if it is at the edge of the screen, and the mouse pointer can't go beyond the edge of the screen. Therefore the close button can be said to be infinitely large.

Windows Start button. Near to the edge of the screen, but not quite. Not very big. The user has to conciously look at it to click on it. If it touched the bottom-left edge of the screen then it would be much more useful.

Mac menu: Along the top of the screen and very wide. Really easy to click on, as you just have to move your mouse to the top of the screen and click.

Windows menu: Along the top of a window. More difficult to click on, as you have to use your eyes to look for it.

Right-click menus: Always underneath the mouse; that is, you can right-click anywhere and you'll get a menu.

Anyone think of some more examples?
Tux

Re:My GUI design

Post by Tux »

The site is a fake that I put. I upload my files there. The site is to keep away strangers. If you click a file, it says your ip is going to the FBI. It's just a joke. My files are hidden in the main page.

Here is the GUI outline.
There IS NO START BUTTON.
Right (a.k.a. Second button) clicking on the screen will give a menu like this:

Undo
----------
Cut
Copy
Paste
Delete
----------
Select All
----------
System
(This opens up the system menu)

(There may be different many options, depends on the program)

The menu pops up as a window, but it is special. It is not treated as a window in that it has no taskbar box.

The boxes on the right are taskbar boxes. (Like QNX)
You can close the program directly by clicking x on the taskbar instead of on the window. (In windows, you have to right click the taskbar item and select close.)
The programs with an up arrow in their header
(The [^] [+] [X] at a window's top) are minimized. The ones with a down arrow are not.
Curufir

Re:My GUI design

Post by Curufir »

Seems good, but as always there's a coupla gripes :>

1) The window with the file menu is not in focus, but I hope that when it is the menu text appears in something other than black. Black text on blue background is a stressful combination.

2) Take into consideration that there are a significant number of people with either red/green colour blindness, so using those for important things in your default look is probably not a great idea.

3) Human awareness goes top-left, bottom-right, top-right, bottom-left. This is the order things will be picked up by the eye glancing at the screen. Just be aware of it. I mention this because it might be a good idea to shift the time etc over to the left side of the screen to stop it catching the eye so often.

4) DO NOT put minimise and maximise buttons next to the close button. A simple slip of the hand can result in the user closing the application and possibly losing their work when instead they intended to change the window size. My advice would be to isolate the close button on the left hand side of the window header and have the rest on the right hand side. This way there is little chance of the user inadvertently closing the window.

Looks good aside from those gripes, and..err..US date format (Yuck :)).
Tux

Re:My GUI design

Post by Tux »

I knew someone was gonna say that. The kernel handles the close button BTW. If a person clicks X, the kernel asks if they are sure. If they click Yes, it uses an Xkill clone. (Not sure about it, pending with project leader's response)

This is planned BTW. I have some functions like draw window, etc. But the MT manager ain't in place so I can't truly test if the GUI will work. Others if you worry, GUI design is my best skill, so calm down :)
Therx

Re:My GUI design

Post by Therx »

Just looked at the Halfix Progress page and I think you'll be waiting a while before you can add it to the OS
Tux

Re:My GUI design

Post by Tux »

The page is old. ;D
But you are right, the GUI will be an exe on HALfix. I am using DOS right now. First I need to learn DOS :/.
Tim

Re:My GUI design

Post by Tim »

Tux wrote:You can close the program directly by clicking x on the taskbar instead of on the window. (In windows, you have to right click the taskbar item and select close.)
I don't like that. Design with mistakes in mind. People are always clicking in the wrong place, which is why we have Undo commands and Recycle Bins. A missed click in a taskbar item could be disastrous. Clicks in the taskbar are going to happen very often, which means that mistaken clicks in the taskbar are going to happen more often than average.

IMHO asking the user for conformation is the wrong action to take -- any time. Make actions undoable. Not only does it allow the user to recover from mistakes -- which, by human nature, are inevitable in even the most experienced users -- but it makes your interface more discoverable. A user is going to be more likely to learn your interface by exploration if they know they can recover from what they've just done, and if they're not being given dire warnings every 5 minutes about what might happen.

In summary: close buttons in taskbar buttons, and confirmation dialogs, are bad :).

Recommended book: The Psychology of Everyday Things, Donald Norman.
Tux

Re:My GUI design

Post by Tux »

Look at it this way, Current editors already do have the yes/no confirmation when closing it. So, the solution may be to have the program decide then. But this is a con, because if a program freezes, the user clicks X, but it ain't doing anything. (eg Windows) The kernel is waiting for the program to execute the confirmation code, but the program is frozen so it ain't doing anything. It becomes a stalemate. On windows, you then have to CTRL-ALT-DEL, and CONTINUALLY CLICK close program.

My solutions:
Have a bit in a program's header available to protect from closing it without confirmation.

OR

Make only the X button Double Click needed.

OR

Like MAC, remove the close button to have it under a menu. (e.g. File->Exit)

BTW, the Buttons are bigger, it's just if you have a bigger resolution, the image looks small.
Tim

Re:My GUI design

Post by Tim »

Tux wrote: Look at it this way, Current editors already do have the yes/no confirmation when closing it. So, the solution may be to have the program decide then. But this is a con, because if a program freezes, the user clicks X, but it ain't doing anything. (eg Windows) The kernel is waiting for the program to execute the confirmation code, but the program is frozen so it ain't doing anything. It becomes a stalemate.
Closing windows shouldn't be the kernel's job, anyway. A click on the close button should just send a message to the application -- no kernel involved.
On windows, you then have to CTRL-ALT-DEL, and CONTINUALLY CLICK close program.
Dunno what Windows you've been using. I don't have to do that. (In fact, I don't see a Close Program button in my Ctrl+Alt+Del dialog.)
My solutions:
Have a bit in a program's header available to protect from closing it without confirmation.

OR

Make only the X button Double Click needed.
Hrm.
OR

Like MAC, remove the close button to have it under a menu. (e.g. File->Exit)
Better, IMO.

I like the Windows CE way of doing this: dialogs have [OK] and [X] in the title bars, instead of the usual OK and Cancel buttons. Applications have a close button on the toolbar.

I think the question is: do users need to close applications other than the current one often enough that you need to permanently dedicate screen space to this function (i.e. put a close button in each taskbar item)? Windows doesn't do this, on the basis that you're unlikely to need to exit an application you're not looking at (if the application is not active, why do you need to exit it?).
Post Reply