User Interface Guidelines


Recommended Posts

I want to start a long thread and i hope you'll be interested in it.

I often read blogs and other writings about what the perfect user interface is for an operating system. But usually all of these texts are written by developers. There's not much possibility for the users to shape these guidelines to fit their needs even if the users use these interfaces.

I'd like to find a way to report suggestions for the developers (any OS). It must be really hard.

But first the users could create their own bible of UI Guidelines.

And i thought Neowin is the perfect place to start it because it's full of users. It would be a child of the community.

Later i would like to make a website that contains this 'bible'.

We could talk in depth about user interfaces and the already made rules and search for alternative ideas for every little element from every aspects. I mean all elements (from windowframes to copy dialogs, from icons to keyboard shortcuts, etc). I have plenty of ideas.

IMHO the most important word is customizability.

Please share your thoughts and let's start the brainstorming and collecting the official UI guides (to argue and to impugn them).

ps: excuse me for my bad english.

Edited by Neobond
Link to comment
Share on other sites

IMHO the most important word is customizability.

I'd disagree .. I think the most important part is consistency AKA no customization support what so ever for an UI to success.

Although that would be the UI for common mass .. not for "us" :)

Link to comment
Share on other sites

It's nice but i wrote IMHO.

And consistency shouldn't mean no customization support...

It's okay if there are defaults like the Windows XP or Mac OS start desktop (what you see when you finished the installation of the operating system). But look at my webpage, that's a Windows screenshot. You can see that Windows is customizable but as i became an advanced user i realized it should be really more customizable.

Anyway.. I agree that first thing is consistency but customizability is very important. Let the newbies use and let the advanced users customize&use!

Link to comment
Share on other sites

Somebody also wrote on the Microsoft newsgroups that consistency is the most important thing. And if the GUI is customizable then the users can't get support because the Start menu is not on the bottom left corner and it's not green...

Well, i think this is stupid. If somebody knows how to change the position and look of an element of the GUI then this somebody will know where to find it.

So when i wrote customizability is most important i meant it's not important from the aspect of pros but a lot of users could use it smartly to make their workspace comfortable.

Link to comment
Share on other sites

well, it's me again :( Nobody participates.

Here come suggested rules for user interface designers made by Arnold M. Lund and other ppl:

  • Know thy user, and YOU are NOT thy user.
  • Things that look the same should act the same.
  • Everyone makes mistakes, so every mistake should be flexible.
  • The information for the decision needs to be there when the decision is needed.
  • Error messages should actually mean something to the user, and tell the user how to fix the problem.
  • Every action should have a reaction.
  • Don't overload the user's buffers.
  • Consistency, consistency, consistency.
  • Minimize the need for a mighty memory.
  • Keep it simple.
  • The more you do something, the easier it should be to do.
  • The user should always know what is happening.
  • The user should control the system. The system shouldn't control the user. The user is the boss, and the system should show it.
  • The idea is to empower the user, not speed up the system.
  • Eliminate unnecessary decisions, and illuminate the rest.
  • If I made an error, let me know about it before I get into REAL trouble.
  • The best journey is the one with the fewest steps. Shorten the distance between the user and their goal.
  • The user should be able to do what the user wants to do.
  • Things that look different should act different.
  • You should always know how to find out what to do next.
  • Don't let people accidentally shoot themselves.
  • Even experts are novices at some point. Provide help.
  • Design for regular people and the real world.
  • Keep it neat. Keep it organized.
  • Provide a way to bail out and start over.
  • The fault is not in thyself, but in thy system.
  • If it is not needed, it is not needed.
  • Color is information.
  • Everything in its place, and a place for everything.
  • The user should be in a good mood when done.
  • If I made an error, at least let me finish my thought before I have to fix it.
  • Cute is note a good adjective for systems.
  • Let people shape the system to themselves, and paint it with their own personality.
  • To know the system is to love it.

Certainly i know the individual guidelines for each system. For instance there is the Human Interface Guidelines for Apple Aqua and Windows or KDE and Gnome but they are different because they think different :)

I started this thread to create user defined universal guidelines because i think the desktops we use today aren't perfect. Developers/designers forgot to implement plenty of controls and already working features. Certainly it's all about the OS interfaces of the desktop PCs and notebooks with keyboard and mice because PalmOS or the interface of a mobile phone is very different.

There's a website i don't really like: www.xvsxp.com. It compares Mac OS X and Windows XP.. anyway there are some guidelines listed on it.

But in fact i haven't found an official website dedicated to universal user interface design & guidelines yet.

Edited by -on-
Link to comment
Share on other sites

I almost forgot to include some of the most important urls:

http://www.asktog.com and http://www.nngroup.com, etc

First Principles of Interaction Design

Bruce "Tog" Tognazzini is a principal with the Nielsen Norman Group, the "dream team" firm specializing in human-computer interaction. He worked with Arnold M. Lund too.

He wrote the book: Tog on interface

"From one of the foremost authorities on the design of user interfaces, this unique collection of ideas and opinions, while focusing on the Macintosh, neatly captures the underlying principles of all graphical user interfaces [...]"

Unfortunately i haven't had the luck to hold this book in my hand.

Edited by -on-
Link to comment
Share on other sites

Well, i agree with you too but now please describe:

What's intuitive?

What's consistent?

Because this topic is meant to be create concrete examples of what an UI should be. It's not good if we only write big words like these.

For instance:

Windows Open/Save dialogs are not intuitive and not consistent because you can't find easily what you're looking for.

You finished your work in Photoshop and you would like to save your image or open another image. You click on File/Open menuitem and Open dialog appears. Now you have to click on My Computer or My Documents then click on another folder: My Pictures. I'm sure you don't have all of your images in My Pictures - you sorted your images into subfolders so you have to click on Work then click on Finished and there's the picture you're looking for. So you had to walk through your documents to find that file instead of type the name of the file or subfolder to find what you're looking for. There's no searchbox on Open/Save dialogs.

Of course it's easier if you use Start menu/Find if you want to open a file. Ok. But what will you do if you want to find a very deep subfolder where you want to save your image to? You have to click through all of your documents to find that folder or use Start menu/Find and copy the location of the folder and paste it to the "File name:" input box of Save dialog.

:)

Link to comment
Share on other sites

You shouldn't complain on my desktop... It's not hell for new users because it's an individual desktop, it's my personal preference - others don't use it.

I wrote several times in this thread that there must be a default UI for newbies. And there are. All UIs on all OSs have standards but all of them has some wrong standards and lack of important features (there's one i described above and i'll write more if the mods don't delete this thread and other ppl will be interested and also contribute their own annoyances/suggestions/ideas).

So this thread isn't about my personal desktop i set up the way i like. I only refered to it when i described that Windows is customizable with so-called GUI hacks but it should be customizable by default for advanced users.

Certainly "new users" only want to USE the operating system. They don't want to customize it, they don't have time to suggest improvements for the UI or the OS. Maybe they set different background images for the desktop, nothing else. But if the developers don't care about the advanced users then there's no need for linux or other professional operating systems but Windows...

This thread is about defining the standards by the users. It's not nice if you use my screenshot as a reference for your opinion. Can you understand it? Your opinion really doesn't have any new information for this topic at this time.

Excuse me and thank you.

Link to comment
Share on other sites

I have spend the better part of the last 10 years doing GUI research. One of the better books I have read on this is Alan Cooper's About Face (although I have not read 2.0)

Also another book worth a read Programming as if people mattered It's a DECENT book (not great, but worth a quick read) I also love that it says "as if", not that they DO, but as if... lol.

I've a big fan of consistancy. There are many rules in the real word that should be taken into effect into your work. Think about the process that the end-user uses to get the job done... try to implement that process *IF* (and only if) that process is a good one. Making the end user learn a new process is a very diffcult job (politically & tech support) but sometimes they are simply taking too many steps to do a simple action. There is nothing wrong with making the end-user learn something new... so long as the new process is truely better.

There are no hard / specific rules to UI. What works in one application may not be suitable for another. Know your users enviroment. What other applications, process, activities to they use daily/weekly.

Link to comment
Share on other sites

Thank you. I've found the book and the man :)

Alan Cooper

photo_exec_alan.jpg

I really like your words even if it's the developer's aspect:

Making the end user learn a new process is a very diffcult job but sometimes they are simply taking too many steps to do a simple action.

There are no hard / specific rules to UI.

It must be true but i meant guidelines not rules. I was hoping a lot of users come here and share their suggestions. There are hundreds of holes in the existing GUIs.

Sometimes it's easy to give wishlists to developers (for instance there is Enlightenment WM for Linux - the devs are really kind ppl, it's obvious they are a community, not a company) but in the case of big companies like Microsoft it's really hard to make developers listen to our suggestions.

And it's worse if there are no suggestions as in this case (this thread) :)

Link to comment
Share on other sites

Look and Feel stuff is Interface Design. It's all very stylistic. It's the color that you paint your walls.

Interaction Design is about the Architecture. It's what kind of building are we building. What functions does it support. What are the shapes of the rooms and the walls and ceilings. What is the infrastructure. What kind of elevators. What kind of cooling and heating. That's Interaction Design.

Link to comment
Share on other sites

First of all user with a desktop like this : http://vnet.hu/on/share/ss/ss20040625.png

should not claim to know everything about user interfaces, sure it looks ok but it's hell for "new" users. Mono-toned icons and such minimalistic look takes longer time to get used to. as they say

"Color is information"

I forgot to mention that you can see the e on my desktop.

Well, that icon has color and it's information for my girlfriend who uses my computer sometimes to check her webmail. I left the icon there for her to find it easily. lol

Link to comment
Share on other sites

re: Users and UI

Not that all users are dumb as salt... be it is fair to realize that at this point in time, many users do not have a grasp of the computing process. And that holds us, the developers, back. I agree with Mr. Cooper that it is the developer that must bend to the users. However sometimes this is not possible.

Example. I worked at Wells Fargo in the mid 90's on the "ATM World" project. One manager said; "I want to be able to see my data my way." I liked that statement, and I agree with the manager's point. Did the manager mean via Excel, Web-Based, etc etc. However when pressed for what the meaning of "my way" the manager had no idea. <sigh> Ok I though, I can give her some options, descuss the differrences, find out what her needs are. But.... when I asked what her data was (wait for it) she didn't know. (what?!!!) So, the manager wanted me to give the data in a sepecific way but I had no idea what that was or what the data was... makes my job a bit difficult.

As a dev I agree that there are too many times when the communication between us and the user is limited, strained and confusing. And it's our responsability to help the users find their needs. It's important to remember that modern computing is truely only 25 years old. And if you want to be more presices, it's less than 10 years old. (I believe that current computing really took of with the launch of Windows 95.)

Link to comment
Share on other sites

Thanks for your very interesting replies!

I would like to make a little comparison:

Your example was very interesting and edifying but it's a really special case.

When i make a call for contributors on neowin forums to create user-defined UI guidelines then i think of basic improvements like having a search box on Open/Save dialogs or having the ability to switch off ALL menubars, toolbars, sidebars, statusbars, etc - gaybars on windows to save screenspace. If an expert is familiar with keyboard shortcuts or other methods control the application then there's no need a lot of *bars (usually they take up 30% or more of the screenspace).

Link to comment
Share on other sites

I'd LIKE to agree it's a special case. However I have recieved those types of comments/issue often. Still, that issue is not the norm.

Part of the UI problem is that we are using a very old metaphor to use our data. Having specific applications for data types is an old concept that causes these issues.

If we moved to a data centric enviroment then you would not use different apps, but a single "space" that allows you to use your data and see/modify the data's attributes. This space would allow you to search for the data by various criteria. (When it was used (all dates) names associated, other activities that were going on while you were last used this data, etc)

Remember, there has to be a progression to a new or drastically different idea/model.

So yes, a search function on the Open/Save dialog would be good at this moment in time. Such as

post-107-1096909964.jpg

Link to comment
Share on other sites

Thank your for this small review :)

In my freetime i'm trying to make some kind of presentation (like your image or flash movies) to show off my ideas about improving these guidelines. I'll present it here asap.

Until then i would ask your opinion about the upcoming Longhorn UI.

What would you like to see in that operating system?

I wrote some messages for the ms.dev.winfx.aero newsgroup in summer and they were really kind so maybe it's possible to push our suggestions/wishlists for the MS UIdevelopers.

I tried to find information about Longhorn but no luck. I know it'll be vector based, Aero UI will be on top of the Avalon engine, there'll be an advanced version for high-end hardwares, WinFS will be beta when Longhorn comes out, etc but no information about the small parts of the UI.

I have a feeling that a vectorbased desktop should be really customizable.

Link to comment
Share on other sites

http://www.joelonsoftware.com/uibook/chapt...0000000057.html

Good guide that I used when writing a small report on Interface Design at University last year.

Thank you very very much for this link. I was sure Mr Spolsky has some kind of writings about this issue. And bang! This is exactly what i was thinking of. Very good article, really edifying!

It helped me a lot to sort my thoughts about this neowin thread and i realized Windows is a quite good OS :) lol

It's really easy to use. Maybe it's less secure but there are firewalls so i don't believe using Windows is a total suicide.

Well, it doesn't matter.

The first thing i got from this article is the idea i had before.

Joel wrote in his article the customization doesn't propagate. It's not portable from one computer to another.

It's interesting that Joel Spolsky didn't write that customization is a stupid thing and it must be prohibited.

Well, then my first suggestion to the developers would be:

- allow customization for every elements of the GUI;

- and give the possibility to save all customization settings to a file or something to make it portable and easily appliable on other computers.

Link to comment
Share on other sites

I believe it was me you were asking about Longhorn's new UI (and if not, so what I'm gonna answer anyway...)

I think that UI is an extreemly important part of the OS, however I think the thing that Longhorn is going to bring us (or WAS going to bring us) that is so important is the database layer.

Hooking a database up to the OS is a very important step into what I believe it the Next Big Thing. I believe that the Desktop metaphor that we have been using for the last 20 years has been more of a burden that we know. The end user often does not seem to comprehend the desktop/file system sence of storage (and why they can't understand this but can understand a paper filing system is beyond me)

I believe that with a database layer we will, eventually, be able to more into a data centric enviroment. Imagine your OS watching all (ALL!) of your activities. What types of data you work with, when, and what with. The user would never need to "save" a document (hey, when you write something with pencil and paper you don't have to explicittly "save") as all information would be automatically saved and cross referenced. (ie: while playing a song, you visited these sites, took these notes and looked up 3 contacts. Effectivly making a reference from all items to all items. You never know what/how data relates. (or how the human mind relates them)

With this level of communication between data types, the UI can become almost anything the user wants. 3D, voice only... whatever works for THAT user. After all, the ONLY thing that matters is the data, not the application that provides contact to that data.

I like Longhorn's Areo, and I think it's a move in the right direction. I also think that there are many years until this data-centric enviorment are available. My guess. 10 years. (2 years until Longhorn, approx 1 more until the WinFS is available, a few more for most apps to take advantage of this, and a few more after that for the end-users to get used to the idea)

Link to comment
Share on other sites

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.