Importance of UI

The place to bring up any design issues, or post your own creations

Moderator: Moderator Team

Post Reply

Read first, then answer: Do you agree with me?

Yes
43
90%
No
5
10%
 
Total votes: 48

Crappish
Posts: 92
Joined: Wed Mar 30, 2005 2:26 pm
Location: Tampere, Finland

Importance of UI

Post by Crappish »

If anyone even thinks of posting something about Linux and it's UI vs. Windows; Please, don't post, as this thread hardly concerns that, neverending, fight.





Before we start, let me define ReactOS: "It is free operating system which aims to be "another Windows" and to correct the flaws that Microsoft Windows has."


If the project aims to correct the errors of Windows then the project also, in my opinion, must try to "copy" (not carbon-copy however) as much of the good innovations of Windows as possible. If this is not achieved I hardly see ReactOS as any kind of competition to Windows.


Let's take this a bit further. The thing I'm addressing here is the UI, and the importance it bears. UI is a fundamental part of any software and should not be bypassed with a shrug ("I have a user interface"). It is the matter of Design. You really can't just slap buttons and input boxes to forms the way you think it should be done. I have done that when I was on win32 programming and since then I have learned much and now can review my applications as UI design horrorflicks. It is, again, the matter of Design. When you design software it is not you programming as you go, is it not? (At least should not be if done properly.) Same applies to UI design.
When there are several programmers working for single goal some rules needs to be applied. Like the formatting of source code. This way new coders can be more comfortable when joining the process. (And growth is everything, without it you have nothing.)
All this applies to UI design too, however, the major difference being that the regular user would never have to address source code hence it can be slightly loosely formatted but UI can't. There is lot's of little things in UI desing which, by themselves, might sound obscure and unimportant but when combined, they form the base of UI and usability which is the part that the regular user will be addressing at.

Now, one major rules of UI desing is consistency and standards. This can't never be achieved, or even get close, in the way Windows applies it unless... Now here comes the radical part: There is one major "department" enforcing this.
This department (UI department) should have people familiar to proper UI design on it and have absolute and total control over anything considering UI. To the ones doing all of the hard work, programmers, this might sound like awful and simply stupid but please, give it a thought. I'm not talking of absolute and total control over anything, of course there needs to be conversation about the UI but the department should just have the last word as they would have the people who really have the knowledge about how the things should be done. Just like coders have the last word on feature requests as they know wheter or not it's doable.

The UI department would enable the whole OS to have the consistency, which is part of usability, which leads to ease of use for new users, which leads to growth, which is everything. The UI department would also enable application developers to have someone to address about proper UI.
The department would also need programmers on it, working on features that UI needs.

Now, because the project is open source there can never be true ultimate "force" behind UI (as everyone can do their own versions) but at least there could be one Official Release of which UI would be controlled by the department.

This, of course, would need everyones uniform agreement and such is almost impossible to achieve, hence I'm not even expecting this to happen, byt hey, someones gotta bring the cat to the table.


Last thougths: The UI is, like it or not, fundamental part of software design and such should not be taken lightly, specially as there is such usability displaycases as Windows on the market.

I was going to put an poll "Should there be separate UI Department" but I got the feeling that people would be answering the question without reading my rant, so I did put it the way it is now.
Can't provoke anyone? Why bother posting?
Floyd
Posts: 300
Joined: Sat Nov 27, 2004 7:45 am
Location: The frozen part of the USA

Post by Floyd »

well, getting agreement on the best UI is impossible. i would suggest the core team of devs (if there is such a thing) put forth ui rules/guidelines like other os developers do.
pax mei amici amorque et Iesus sacret omnia
Stead
Posts: 163
Joined: Mon Nov 29, 2004 3:00 pm

Post by Stead »

One of the things that often annoys me with UI's is the lack of keyboard support, like tab from one control to the next, whenever i write a program i always make sure the tab order goes in order to the position on the screen, i've used lots of programs ware the programmer has simply forgotten or just doesn't feel its important, and its highly annoying i find, especially when entering data!

praps someone should make a reactos common control dll? specially for the os components of reactos, or for nice html lists as in crappish's design for the package manager?
mf
Developer
Posts: 368
Joined: Mon Dec 27, 2004 2:37 pm
Location: Eindhoven, NL
Contact:

Post by mf »

I definitely agree. This should also not be waved off with the excuse "we can work on the UI later", as it's just not going to happen. You have to build stuff properly from the ground up, or else developers and beta testers are going to get so used to a clumsy interface that when you do it "right" later they'll all end up complaining that it's different than the way it was. Like giving DOS WordPerfect users a copy of OpenOffice (which in ALL aspects has a more logical and easy to use interface).

Anyways, a good place to start is OpenUsability, to answer the question of "Where to get a UI team". The problem of course is, how zealous should one be when getting to work. Microsoft for instance wants to simplify too much, and I reckon this might be a friction point for a UI team. There'll have to be some clear democracy so that the team can stand as a united front. But we'll see how that turns out.
Crappish
Posts: 92
Joined: Wed Mar 30, 2005 2:26 pm
Location: Tampere, Finland

Post by Crappish »

Well, I have to disagree on that "simplify too much" stuff. If you evaluate i.e. Windows XP with heuristic evaluation (Nielsen) it's definately not too simplifyed. In fact I think the UI designers at Microsoft have pay'd close attention to Nielsen's studies when designing the UI.
I think you have misunderstood the meaning of usability. First of all, usability is not the same as UI design, it is but one part of UI design. Secondly simplifying is not the same as usability, it is a part of usability but there is more of it.

However, one way I do agree with that "too much" opinion; Microsoft hasn't perhaps paid attention enough to powerusers. If you look at new user's point of view, Windows is pretty darn good but perhaps lacks something for powerusers. This just proves my growth thesis.

Still I would start the UI design, ground up, from new user's point of view. (This is where Linux lags) Because it is a lot easier add "Skip this wizard" features to the UI than to realize the lack of wizards and start to build them for every other feature.
Can't provoke anyone? Why bother posting?
AcetoliNe
Posts: 115
Joined: Wed Jan 05, 2005 10:53 pm
Location: a thousand miles from Hinterland
Contact:

Post by AcetoliNe »

I agree with mf. Implementing UI immediately would simplify things to a great extent. Besides, it's something that a wider group of people could participate in, unlike code.
One of the things that often annoys me with UI's is the lack of keyboard support, like tab from one control to the next, whenever i write a program i always make sure the tab order goes in order to the position on the screen, i've used lots of programs ware the programmer has simply forgotten or just doesn't feel its important, and its highly annoying i find, especially when entering data!
Quite right. This annoys me also.

Getting everyone's agreement on the UI isn't impossible, it's just really difficult. It can be done.
praps someone should make a reactos common control dll?
It's already being worked on (and completed, i believe)
caveman LIKES chocolate.
we shall reinvent the wheel until it turns properly.
mf
Developer
Posts: 368
Joined: Mon Dec 27, 2004 2:37 pm
Location: Eindhoven, NL
Contact:

Post by mf »

crappish wrote:I think you have misunderstood the meaning of usability. First of all, usability is not the same as UI design, it is but one part of UI design. Secondly simplifying is not the same as usability, it is a part of usability but there is more of it.
I actually didn't even mention the terms usability or UI design, or associated any of my points with them. I just mentioned a possible point of disagreement. I think the main difference between you and me is, you like to theorize and talk and categorize, whereas I just like to pick out ideas that work, regardless of their scientific term, or theory behind it. So please try not to bash me too much with "understanding of what terms mean". Besides, UIs aren't rocket science. Don't try to make it look like they are :).

Speaking of which, I just digged out some old concepts, and guess what I found. My answer to the Windows XP Start Menu, dated November 21, 2002 (I myself refused to run XP at the time, which is why the image has "Windows 2000 Professional" on it).

[ external image ]

I should also have concept art of an Explorer replacement with a Lotus Magellan (yes, that's from 1989 ;)) interface. Let me see if I can still find it.
MadRat
Posts: 243
Joined: Fri Feb 04, 2005 8:29 am
Contact:

Post by MadRat »

For some reason I never grew warm to a 2 panel Start Menu. I like the single stack.

I digress from my high horse now and agree that UI controls are the baseline of the Windows OS. There have been consistencies from 1.0 through 3.0 that should not be abandoned. I never warmed up to any of the non-Windows GUI's other than IceWM because they were so different. The only idea I've seen that improves on MS's solutions is the BeOS tabs, which makes it easy to identify one Window from another.

The new keyboard shortcut standard for Windows seems to revolve around MS's unique set of Office shortcuts. It would be nice to see the Office shortcuts used in the Windows Manager and pretty much every ROS program that replaces the Windows originals, like Notepad and CMD. It was always annoying having to click the title bar just to cut & paste in the command window. Xp somewhat made it friendly by allowing one to click to the window directly using the mouse. But it would have been nice to see the keyboard shortcuts enabled.
*************************************
Go Huskers!
Crappish
Posts: 92
Joined: Wed Mar 30, 2005 2:26 pm
Location: Tampere, Finland

Post by Crappish »

mf wrote:I actually didn't even mention the terms usability or UI design, or associated any of my points with them. I just mentioned a possible point of disagreement. I think the main difference between you and me is, you like to theorize and talk and categorize, whereas I just like to pick out ideas that work, regardless of their scientific term, or theory behind it. So please try not to bash me too much with "understanding of what terms mean". Besides, UIs aren't rocket science. Don't try to make it look like they are :)
I am not trying to do no such things. I'm merely stating the things that I have learned while studying UI design. Of course, anyone can do UI, but that is not the case here, it is the matter of designing good UI. And that does involve a lot of different aspects. These have been tested and studied for 15-20 years so by simply stating "it is not rocket science" doesn't make them go away. If any common man can design good UI why do you think there is significant amount of money poured in to UI design every year by companies of every sector. From cars to computers. Besides, understanding the theory behind things makes you work better. Instead of try&error method, you know things that are tested and proven to be good for your UI.
And I didn't try to bash you, just got the impression of your post that you had the terms wrong.

A short post, gotta fly. 8)
Can't provoke anyone? Why bother posting?
mf
Developer
Posts: 368
Joined: Mon Dec 27, 2004 2:37 pm
Location: Eindhoven, NL
Contact:

Post by mf »

Well, it could just be my humble opinion that they're not rocket science. To any other man ASM might be the easiest thing on the planet. Still there's 500-page thick books about it :). Personally, I think most has been said and done with regard to UI, and it's just a matter of choosing a "best of both" approach when looking at previous designs. With my start menu that's the fact that XP's start panel allows more options and easily accessed items, while 9x's Keeps It Simple, Stupid ;). The result from combining those is that you can actually have even more options while keeping it simple, since "Programs" has a panel popping up, but Search, Settings, and Documents can have the same. Just think of a quick search function on the right, or a "Recently opened" field in the same fashion as "Recently used" in Programs, but for Documents, with "My documents" and "Favorites" menus in the place of "Proram Groups" and "Help and Support". I really like messing around with UI. :)
MadRat
Posts: 243
Joined: Fri Feb 04, 2005 8:29 am
Contact:

Post by MadRat »

I just noticed that its not a two stack view above my last post. That is nifty to have Programs at the bottom since it is used the most. The RUN... and HELP&SUPPORT buttons just do not fit. How about when people click on the start menu they get...

Left-click "Selections"...

------------------------------
<Start Folder entries>
------------------------------
RECENT DOCUMENTS
ROS OFFICE *
------------------------------
RUN...
PROGRAMS
------------------------------
LOCK SCREEN
SHUTDOWN...
------------------------------

(* Open Office 2.x)

Right-click "Options"...

------------------------------
HELP & SUPPORT
SEARCH / FIND
------------------------------
SETTINGS
------------------------------
VIEW SHARES
ALL USERS...
------------------------------
MY DOCUMENTS
MY HOME
------------------------------

Search / Find = Easy toggle menu bewteen old & new ways to search
All Users = C:\Docume~1\AllUse~1\
View Shares = List all public shares
My Home = %USERPROFILE%


Settings "Options"...

------------------------------
CONTROL PANEL...
------------------------------
PRINTERS...
HARDWARE...
NETWORK CONNECTIONS
------------------------------
ACCESSIBILITY
TASKBAR & START MENU
DESKTOP...
------------------------------
*************************************
Go Huskers!
Mammlouk
Posts: 40
Joined: Mon Nov 29, 2004 3:25 pm

Post by Mammlouk »

I think this is a great topic for possibly having a UI "Team". I think the best thing to do would probably be to go into the IRC and chat with the dev's about it. This way you can see what they think and get extra input from the people who currently do lots of the work. I'm not discounting your work mf as I do realize you have been putting great effort into icons for ROS. From talking with devs in IRC you can (hopefully) get there blessing at which point you can all band together and recruit some more pressence for the UI team. Just make sure you are all willing to hear each other out and compromise. I would love to be of some help, but my lack of knowledge in anything of use, and lack of time due to preparing for a child hinder that. :)

I hope that you can get the ball rolling on this UI effort.

God Luck,
Jeremy
mf
Developer
Posts: 368
Joined: Mon Dec 27, 2004 2:37 pm
Location: Eindhoven, NL
Contact:

Post by mf »

mammlouk, actually crappish suggested it on IRC before he came to the forum :). Most of them agreed with his points already, so I think we just need to get the ball rolling on forming the actual team and make up a plan on how to work without disturbing technical development, etc.

MadRat, how about we change "Shut Down" to "Session", and make it pop up another of them panels. Where you can lock screen, shut down, log off, etc. "Recent documents" and "My Documents" already fits inside "Documents", "View Shares" and "My Home", etc, could fit inside a submenu in "Documents as well, "Run" and "Help & Support" is inside "Programs", and your suggestion for what to fill the Settings panel with looks good too. Having two start menus might be a bit overkill, though it could be done more intuitively by having two half-height and half-width "menu items" at the bottom which change the menu from one to the other.

Edit: found it.

[ external image ]

Don't mind the empty space at the bottom, that's the Magellan Toolbar that I haven't drawn yet. To some people this might look like an implementation of the Norton Commander GUI, to others it might look like a strange version of Explorer. First of all, this is a direct copy of the Magellan GUI (except that Magellan is in DOS textmode originally), so I haven't made any improvements yet. The menus don't make much sense like this either, since Magellan's menus didn't to begin with. The left view might look like an ordinary Explorer folder view, however it 1) contains regular files as well, and 2) it only contains the tree of the current folder. If you want to go to the parent folder, you press leftarrow on your keyboard, singleclick the little grey arrow pointing down left from "f:", or doubleclick the text of "f:". As you can see folders without subfolders are indicated without a little grey arrow in front of them, and folders can be "entered" in the same way as you back out to the parent directory (either rightarrow on your keyboard, or singleclick the arrow, or doubleclick the text). The contents of the selected folder immediately show in the right pane, and (here comes the one thing I love about Magellan) when you select a file, the right pane will preview the contents of the file. The loading process will be separate from the rest of the application, so that a loading preview pane should NEVER lock up the application, or cause you any slowdown or wait while navigating through files. Of course, preview plugins would also need to be run separately from a security viewpoint, since buffer overflows or other such problems should never be a reason for something to go wrong. If the plugin "crashes", it will either display things wrong, or be "caught" and replaced by the default plaintext preview. The preview pane will also have a configurable "delay", a time to wait before loading the preview, to minimize hard drive seeking. The blue stripe at the top indicates which of the two panes is focused, similar to some Windows-based Norton Commander clones, and similar to for instance CuteFTP/FlashFXP, and doubleclicking it will expand the width of the selected pane to accomodate any content that doesn't fit (like long filenames which are abbreviated by "..." at the end). The preview pane can be maximized to full size with F8 ("Zoom!"), to allow space for long filenames or quick reading through a document. Typing anything in tree view will enable the quick search function, which highlights the typed text and jumps selection to the first search result. Err.. For now I can't really think of anything else to explain about this wonderful UI invented by Lotus back in 1989, feel free to comment on anything.

Edit2: for reference, this is what the original Magellan looks like:
[ external image ]
MadRat
Posts: 243
Joined: Fri Feb 04, 2005 8:29 am
Contact:

Post by MadRat »

I'm more of the classical START MENU look, with one stack. I can see where you'd like to consolidate some things there, mf, but each submenu would seem cluttered IMHO. The idea isn't to compress the menues, but to put the most used entries in the shortest distance to the user. I think its easier to move the pointer up a row or two then it is to readjust the eyes and refocus on a new menu.

The reason for separate LOCK SCREEN and SHUTDOWN buttons is because they are different end goals. The lock screen option would be to simply do just that. The shutdown option is more or less to log off, warm reboot, or cold restart. Perhaps a SWITCH USER option could even be justified for the lock screen option. I think putting them all into one set of options actually makes it less friendly.

Like I said before. RUN... and HELP&SUPPORT just do not fit with the PROGRAMS group. Help&Support are like man pages, they deserve to standout from everything else because they are the core reference documents for the end user. (A proper submenu for Help&Support would perhaps be for individual programs.) Run is for launching commands from a commandline session, which is quite different from what the end user expects when launching programs. Its more or less a perspective issue here.

The ideas for View Shares, Recent Documents, and My Documents are - again - a perspective issue. The View Shares item more or less is something I've sorely missed from the basic Windows shell and have to manually add it into machines. From a security perspective, people should know what is shared to the world and what is shared privately in a quick and easy to access location.

My recently used documents are not related to my documents. I could see where the explorer window that opens to display My Documents could have a tab for Recent. Otherwise they are best left separate IMHO.

Using right clicks in Windows has always been to "select". Left clicks have usually been used for listing "options". I wanted to keep the existing behaviors in mind when creating the suggestion. It was from this mindset that I came up with the solution.

Do you have a graphical explanation of your toggle idea? That sounded interesting.
*************************************
Go Huskers!
mf
Developer
Posts: 368
Joined: Mon Dec 27, 2004 2:37 pm
Location: Eindhoven, NL
Contact:

Post by mf »

MadRat wrote:I'm more of the classical START MENU look, with one stack. I can see where you'd like to consolidate some things there, mf, but each submenu would seem cluttered IMHO. The idea isn't to compress the menues, but to put the most used entries in the shortest distance to the user. I think its easier to move the pointer up a row or two then it is to readjust the eyes and refocus on a new menu.
This is kinda where the whole UI design guideline of "grouping" relevant things together comes in. If you look at the current ReactOS start menu, it is as you mention, "most used entries in shortest distance to the user", but it ends up just being too big, causing the user to lose overview.
MadRat wrote:Do you have a graphical explanation of your toggle idea? That sounded interesting.
I was thinking along the lines of something like this:
[ external image ]
Post Reply

Who is online

Users browsing this forum: No registered users and 13 guests