Slashdot Mirror


A Good Style Guide Under the Creative Commons?

eldavojohn writes "I've been charged with making a specific user interface style guide for a suite of software by my employer. I'm not quite sure where to start. So I turned to my favorite search engine only to be brutally disappointed with what is out there to help me. I'm a software developer but have not had any formal training in UI design or look and feel. I'm looking for something more than just "keep it simple, stupid." I'm looking more for something that is specific but not technologically dependent. This doesn't have to be a global standard, merely a document that illustrates how one would effectively describe look and feel. Does anyone know of such a guide either created by an organization, government or company for their own uses — possibly one even released under the creative common license?" In addition to just documentation, what other UI advice can Slashdot readers offer in order to ensure quality development?

131 comments

  1. And what's so wrong with ... by trolltalk.com · · Score: 1

    I'm looking for something more than just "keep it simple, stupid!
    Try 42. It doesn't get much simpler than that.
    1. Re:And what's so wrong with ... by BigJClark · · Score: 2, Insightful


      I dunno, it took over 7million years and the second greatest computer of all time to come up with that answer.

      Doesn't seem overly simple to me.

      quack quack.

      --

      Hi, I Boris. Hear fix bear, yes?
    2. Re:And what's so wrong with ... by Brian+Gordon · · Score: 0, Flamebait

      Maybe if he did his own job instead of being paid to find CC-licensed work?

  2. Apple Human Interface Guidelines by Foofoobar · · Score: 5, Informative

    Macintosh develop site has several well put together style guides for software development that you should look at. Check out the Apple Human Interface Guidelines. Apple may not be your cup of tea but they always have good ideas and have a well put together interface and this will DEFINITELY give you a good idea where and how to start.

    --
    This is my sig. There are many like it but this one is mine.
    1. Re:Apple Human Interface Guidelines by JustinOpinion · · Score: 5, Informative

      Since the original poster seems to prefer permissive licensing, he should also check out the GNOME Human Interface Guidelines 2.0. It's an extensive set of best-practices and guidelines, licensed under the GFDL. Thus he can tailor the guidelines to his needs and redistribute them without worrying about copyright issues (another poster suggested setting-up a wiki for his users, which could also work).

      The KDE Usability Guide also has some good material, although at this time it looks much less mature than the GNOME docs.

    2. Re:Apple Human Interface Guidelines by try_anything · · Score: 5, Informative
      OSX, GNOME, and KDE are all very usable environments, but style guides mostly tell you how to achieve consistency with other applications on the platform. If the OP is really asking for a style guide of this kind, he needs to tell us what platform he is developing on. Using an Apple style guide to create a Windows program will result in a less usable design, even if the Apple guidelines are superior to the Windows ones.

      For an introduction to UI design, here are some good resources:

    3. Re:Apple Human Interface Guidelines by try_anything · · Score: 1

      Addendum to explain my reasoning, in case it wasn't clear why I was dismissing the question as stated. The interest in permissive licensing is fishy. If he indends to quote significant chunks of a style guide for the wrong platform, then it's a very bad idea. Plus, there's ALREADY a style guide for his platform -- if he's working for any major desktop platform -- and it would be redundant to quote it. He can just tell his coworkers to go read the damn thing, and he can provide a project-specific appendix (which would be modeled after the standard style guide for his platform, to ensure consistency in terminology and style.)

      So, what has he actually been tasked to create? He says he doesn't want it to be "technologically dependent" which makes it sound like he has been tasked with educating beginning UI programmers on general UI design principles. That's consistent with his company putting a guy with no training in UI design (which also means not much experience, or he wouldn't have mentioned it) in charge of the effort.

    4. Re:Apple Human Interface Guidelines by bgspence · · Score: 1

      The Apple Human Interface Guidelines were based on the Human Interface Design Principles defined by Bruce Tognazzini. They have stood the test of time.

      These principles include the use of Metaphors, Modelessness, User Control, Direct Manipulation, See-and-Point, Consistency, Feedback and Dialog, WYSIWYG (What You See Is What You Get) Forgiveness, Perceived Stability and Aesthetic Integrity.

      Additional considerations include Knowledge of Your Audience, Worldwide Compatibility and Universal Accessibility. You can find these concepts explained in detail in Apple's Macintosh Human Interface Guidelines.

    5. Re:Apple Human Interface Guidelines by 99BottlesOfBeerInMyF · · Score: 1

      I'll second the recommendations for "The Design of Everyday Things" and "Tog's First Principles of Interaction Design" as I've found both to be solid and helpful for avoiding some of the biggest pitfalls. I bought a copy of the former and put it in my previous company's engineering library and it has been read by almost everyone by now. I also would like to echo try_anything's recommendation that you look at the style guide for your particular target plaform(s) unless you are coding an interface for something proprietary (like a phone or kiosk) or a Web interface.

      More generally, Books are fine for getting some basic principals down and for avoiding some of the most common mistakes. They'll get you maybe 70% of the way, which is still better than some mainstream offerings. Beyond that, hire a UI consultant to do real evaluation and to perform real usability testing. Seriously, testing is the only way to really have a good UI. There are simply too many variables with people and some of the things testing finds are things you would never, ever, ever have thought of if fresh eyes had not repeatedly had problems with it. I mean who knew that icon looked just like a symbol that appears on lots of feminine hygiene products I've never seen and thus confuses half of all users? I can't stress testing enough and it really helps to have someone who really knows how to to usability testing right with a reasonable budget.

  3. Apple by TheRaven64 · · Score: 1

    Read the Apple Human Interface Guidelines, ideally a version from before OS X when they weren't trying to merger MacOS and OPENSTEP HCI principles into a coherent framework. They're well written, contain rationales for most of their descriptions and full of examples.

    --
    I am TheRaven on Soylent News
    1. Re:Apple by bigstrat2003 · · Score: 1

      ideally a version from before OS X O.o

      Say what? I don't like OS X, but it's a vast step up from prior versions. Before X, Mac OS was a clusterfuck of bad usability. Now, it's at least passable. Why would you follow any version before OS X? Serious question.

      --
      "16MB (fuck off, MiB fascists)" - The Mighty Buzzard
    2. Re:Apple by vijayiyer · · Score: 1

      I'd take OS X over a previous version any day, but strictly in terms of user interface, previous Mac OSs were better. The finder actually was a graphical representation of the the disk - you didn't have multiple windows with the same files appearing in it, for example. It always remembered where you placed icons, your view settings, etc. OS X violates many of Apple's own interface guidelines leading to the mess that is the current Finder. Things like file sharing were trivial to set up with simple fine-grained controls over each directory (which finally reappeared in Leopard). All that said, I'd gladly take the UNIX underpinnings and shell of OS X over OS 9.

    3. Re:Apple by aminorex · · Score: 1

      Leaving aside the non-responsiveness of your suggestion, do you seriously mean to infer that Leopard usability is inferior to MacOS9? We've matured 7 years since MacOS9 was introduced, and the old dog just don't hunt no more. Perhaps you are suffering from delusive influence of the golden glow of reminiscence?

      --
      -I like my women like I like my tea: green-
    4. Re:Apple by TheRaven64 · · Score: 1

      Leopard usability as a whole, no, it's not worse. There are a lot of features in Leopard that are really very nice and that I miss when I have to use any other OS. That said, the HIGs are a complete mess. They are full of inconsistencies (although much better than Tiger, where they couldn't work out where the various different themes should be used) caused by the fact that OS X is trying to integrate classic MacOS and NeXT UI principles. The MacOS 8-9 HIGs are relatively complete, consistent, and simple enough to serve as a good example for someone writing their own.

      --
      I am TheRaven on Soylent News
  4. Not really sure what you're looking for, but... by ruyon · · Score: 5, Informative
    How about taking a look at these well-known samples?

    GNOME HIG

    http://library.gnome.org/devel/hig-book/stable/

    Apple's HIG

    http://developer.apple.com/documentation/UserExperience/Conceptual/OSXHIGuidelines/XHIGIntro/chapter_1_section_1.html

    1. Re:Not really sure what you're looking for, but... by Anonymous Coward · · Score: 2, Interesting

      Not that anyone will ever even see this since the new Slashdot comment system doesn't even show anonymous comments, but...

      The GNOME HIG is, in fact, licensed under the GFDL, which effectively meets the Creative Commons request. It's definitely a good place to start.

      But when using those, remember they're tied to the individual desktop. Things that are standard under GNOME and Apple are reversed under Windows. (For example, Windows always uses "Yes/No/Cancel" while both GNOME and Apple recommend using action verbs. Plus Windows generally places the most used option in the hardest to hit location while GNOME and Apple place it in the easiest to hit.)

      The important part here is that the software should follow the guidelines for the platform it's running on. Not following them will just annoy people using that platform.

      I'm also not sure that's what he's looking for. Those are guidelines for an entire OS and not a software suite. In a software suite, you'd want to make sure that certain workflows are always handled in a similar manner. You also want to make sure icons follow a single art style. For example, a common palette and a common set of icon elements. (Like the envelope in email clients which are often used in the Compose/Reply/Reply All/Forward buttons.) These things are somewhat covered in an OS HIG, but are sort of outside the scope.

      Sadly it appears that very few open source projects actually create such documents.

      And now I send this post to disappear, because apparently anonymous posts aren't worth mentioning, even with a "hidden posts" link.

    2. Re:Not really sure what you're looking for, but... by trolltalk.com · · Score: 0, Flamebait

      How about taking a look at these well-known samples?

      GNOME HIG

      The Gnome interface Guidelines? You've GOT to be joking! The guidelines that say to do stuff the opposite of everyone else "just 'cuz!"

      More like "what NOT to do."

    3. Re:Not really sure what you're looking for, but... by ajs · · Score: 1

      Yes, the Gnome HIG is really quite nice. Props to Sun for all their work on it!

    4. Re:Not really sure what you're looking for, but... by Chandon+Seldon · · Score: 2, Insightful

      Gnome is consistent and very usable - so their guidelines seem to be working. I'm not sure what your complaint is.

      --
      -- The act of censorship is always worse than whatever is being censored. Always.
    5. Re:Not really sure what you're looking for, but... by trolltalk.com · · Score: 2, Informative

      Gnome is consistent and very usable

      Only with itself ... the order of buttons on dialog boxes is f*cked up. For example, in the GIMP : Create a New Image, the order is [Help] [Reset] [Cancel] [Okay]. Last I looked, this was an LTR (left-to-right) locale. The default action in EVERY other environment is on the left in LTR locales.

      Their rationale for doing it different was 90% ego bloat, 90% stupid (with an 80% overlap).

    6. Re:Not really sure what you're looking for, but... by laughing+rabbit · · Score: 1

      I saw your anonymous comment.

      WTF are you talking about?

      I don't agree with your statements. Gnome is not an OS, it is more of a GUI shell for the OS that has interoperable programs that pull look and feel from the shell. Like a lot of software does on a lot of differing platforms. The thoughts outlined in the HIG can be translated by any intelligent person to fit their needs. The poster just needed an idea of how to proceed, and the HIG does an excellent job of providing a jump point.

      --
      No incumbents, not no where, not no how.
      Vote them out every term.
    7. Re:Not really sure what you're looking for, but... by trolltalk.com · · Score: 2, Interesting

      In GNOME, to accept the most common, you always hit the same location.

      No you don't - the rightmost button is the 2nd, or 3rd, or 4th, or whatever - it varies with the number of buttons.

      Putting the default as FIRST would mean always hitting the same location.

      The right-hand side is the wrong one in LTR locales.

      It isn't "the easiest to hit" unless the window/dialog/whatever is always a fixed size. Otherwise, its position is floating, and it is the last in a series of "N" buttons, instead of the first, requiring you to scan all the previous buttons.

      In contrast, the left-most button, as the first, is the first to be seen in LTR locales, the first to be read, and if its what you're looking for (as the default action) you need go no further.

      Before GUIs, the default action in most apps was almost always the leftmost. All Windows did was copy that. It makes sense.

    8. Re:Not really sure what you're looking for, but... by Chandon+Seldon · · Score: 5, Informative

      For example, in the GIMP : Create a New Image, the order is [Help] [Reset] [Cancel] [Okay]. Last I looked, this was an LTR (left-to-right) locale. The default action in EVERY other environment is on the left in LTR locales.

      Except Windows, where the default action is in the middle (i.e. the hardest to find possible choice):
      Windows Dialog

      Or Mac OS Classic, where it works just like in Gnome:
      Mac Classic Dialog

      Or In Mac OS X, where it works just like in Gnome:
      OS X Dialog

      I can't find a screenshot, but KDE seems to work like Windows.

      I still don't see what the problem is here. There are two common ways of doing it. Mac and Gnome do it one way, Windows and KDE do it the other. *shrug*

      --
      -- The act of censorship is always worse than whatever is being censored. Always.
    9. Re:Not really sure what you're looking for, but... by Ox0065 · · Score: 2, Insightful

      My only comment would be that:

      The introduction of the Gnome HIG brought about substantial stripping of functionality out of gnome.
      It's heavily tailored toward lowest common denominator computing. It does make flexible & robust GUIs.
      They just don't do anything you want.

      ... (^-^)

      --
      thx e
    10. Re:Not really sure what you're looking for, but... by Stormwatch · · Score: 1

      Mr. Torvalds, is that you?!

    11. Re:Not really sure what you're looking for, but... by angel'o'sphere · · Score: 1


      In contrast, the left-most button, as the first, is the first to be seen in LTR locales, the first to be read, and if its what you're looking for (as the default action) you need go no further.


      No the lft side is not the first you are looking for, except YOU are one of the 5% exceptions.

      Everybody looks to the right first, why do you think, go now and test it, take a random magazine and open a random page, why is the advertizing on the right side and not on the left?

      The same about your comment about same location, don't get it, sorry. It does not matter if it is left or right, right is also allways same location.

      And even more: the default button is activated by default with the enter or alternatively return key, no one who uses a computer at work uses the mouse for hitting the default button.

      angel'o'sphere

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    12. Re:Not really sure what you're looking for, but... by jgrahn · · Score: 1

      I still don't see what the problem is here. There are two common ways of doing it. Mac and Gnome do it one way, Windows and KDE do it the other. *shrug*

      I had a fit over this 18 months back (if I recall correctly, when the Gimp changed from Yes-No to No-Yes) and did some research (Message-ID: <slrned8i4a.2t1.grahn+nntp@frailea.sa.invalid>)

      If you look at simple Yes-no and Ok-Cancel choices, it seems to me that Mac was the odd exception before Gnome (or GTK?) switched . Ok-Cancel isn't just Windows and KDE: it's also AmigaOS, Motif and just about every pre-Gnome X11 GUI I could find.

    13. Re:Not really sure what you're looking for, but... by Chandon+Seldon · · Score: 1

      If you look at simple Yes-no and Ok-Cancel choices, it seems to me that Mac was the odd exception before Gnome (or GTK?) switched.
      --
      -- The act of censorship is always worse than whatever is being censored. Always.
    14. Re:Not really sure what you're looking for, but... by logixoul · · Score: 1

      Everybody looks to the right first, why do you think, go now and test it, take a random magazine and open a random page, why is the advertizing on the right side and not on the left? LOL... wild guess: because it would be too fucking intrusive and would drive readers away
    15. Re:Not really sure what you're looking for, but... by trolltalk.com · · Score: 1

      First off, you're wrong - I grabbed the first magazine off my desk, and on opening it, I'm greeted by a full-page ad ON THE LEFT PAGE.

      Also, we're dealing with computer screens here. People read left-to-right in the "C" locale.

      Furthermore, right is *not* "allways [sic] the same location". It just happens to be the last in a sequence. To say that its in the same location is just wrong (the x,y coordinate obviously varies). You still have to scan left-to-right to find it, which takes longer, and, in some cases, you even have to move the dialog to uncover the off-screen choice, whereas if the default were the first choice, you wouldn't.

      Making the default option the last one is really a stupid move. Would you make the default option the last in a scrollable dropdown list? A menu? A voice mail navigation system (that last one is guaranteed to piss off the user).

      Its worse than retarded - its the UI version of the special olympics.

    16. Re:Not really sure what you're looking for, but... by tepples · · Score: 1

      Not that anyone will ever even see this since the new Slashdot comment system doesn't even show anonymous comments For me, D2 shows the 50 comments with the highest scores, and "more" loads 50 at a time. This can be changed to retrieve the oldest comments first.

      The GNOME HIG is, in fact, licensed under the GFDL, which effectively meets the Creative Commons request. It's definitely a good place to start. It meets the Free request. But the GNU licenses and the Creative Commons licenses are incompatible due to several technicalities. One of the incompatibilities is that after the publication of a work under any of the core Creative Commons licenses, any author can forbid downstream distributors from crediting said author. The GFDL does not allow such removal.

      The important part here is that the software should follow the guidelines for the platform it's running on. Not following them will just annoy people using that platform. What should be done on platforms that don't have a published style guide, such as Nintendo DS homebrew?

      And now I send this post to disappear, because apparently anonymous posts aren't worth mentioning, even with a "hidden posts" link. Did you try clicking "76 More" or whatever at the left?
  5. Practical first step by ingo23 · · Score: 1

    I'm not quite sure where to start. Start by hiring a consultant
    1. Re:Practical first step by Intron · · Score: 2, Funny

      Then form a review committee and start issuing minutes.

      --
      Intron: the portion of DNA which expresses nothing useful.
  6. From India by Anonymous Coward · · Score: 0

    Better yet, hire a consulting company from India. They'll help you out.

    1. Re:From India by Anonymous Coward · · Score: 0

      You're mixing up your cultures....

  7. Hire an artist. by retech · · Score: 1

    Different brains are wired for different things. A good programmer is rarely a good designer and vis versa. This was dictated at conception by how we are hard wired. There are somethings in life that will always be outside of each of our abilities. It's best to recognize this and hire someone who excels where you lack.

    1. Re:Hire an artist. by moderatorrater · · Score: 0

      This is exactly right. I know of very few engineers who are also talented artists. When it comes to UI, you need both; the artist should come up with the general look and feel, and the programmer should add the functionality within that framework. Usability goes up at least 200% when the program is made to be good looking.

      However, that's not to say that programmers are any less important. 200% of shit is still shit, and every UI requires some functionality behind it. Artists generally won't know how to wring maximum functionality from the application. The point is that you can't work without these two factors working together, so make sure you don't focus so much on one area that the other suffers.

    2. Re:Hire an artist. by neurosis101 · · Score: 5, Insightful

      I almost never post on /. but seeing this I can NOT pass up.

      Creating a good interface is about FAR more than just pretty pictures. An artist might make it look good, but looking good and being functional are not related in any way, shape or form. I've seen art houses produce UIs that were illogical and violated many basic UI principles but look nice. The worst part is your client will fall in love with the looks without thinking about the damage that is being done.

      If you are going to bring in outside sources, there are art houses that have specific UI design experience. You should make sure you engage one of these. Or come up with a design, then have the art house make it look nice.

      Real UI design is about user cases, apprentice-master relationships, and other things 99.9% of artists don't know anything about.

    3. Re:Hire an artist. by Hatta · · Score: 1

      Different brains are wired for different things.

      And because of this, one size does not fit all when it comes to UI. Always, always, always separate your actual functionality from presentation, so that people can implement and use the UI that fits them best.

      Personally, I find apps like Rasmol, Gnuplot, and R to have the finest UIs available. Which is to say they only use graphics when absolutely necessary and everything else is done through a command line. I just find the language metaphor a more compelling and powerful way to interact with my computer, rather than treating it like a physical object to be manipulated with the hands. But would you find any HCI expert anywhere who would recommend such a design?

      --
      Give me Classic Slashdot or give me death!
    4. Re:Hire an artist. by What+Is+Dot · · Score: 1

      Just to be clear, there is a different between being a talented artist and a talented designer. I am a student who has took classes in interface design and I have noticed a recurring theme. We always want to separate content from design, if not physically then mentally. I find it helpful to sit down and make a list of all of the important features that a person would need access to at this 'state' in the interface, and when the user needs more detail, he proceeds down to the next 'state' in the interface. Grouping information by relevance should help reduce the odds of ending up with a window consisting of only one check box, or a window containing 100+ options for a user to have to swim through all at once. The design comes only after we know what content we need to display. HOW the content is organized on a page, and how it is accessed can reduce the user's time dramatically. In the end, the design should never dictate what content should be displayed. It's the complete opposite.

    5. Re:Hire an artist. by iceco2 · · Score: 1

      Assuming you are working for a reasonably large company, I believe
      you should consider developing/hiring in-house talent.
      I have had some experience with out-sourcing UI design and I discover
      this usually works well on the small scale, When I have a specific screen which
      performs specific tasks and I want someone to select widgets for me, place them on the
      screen and put some nice colors and art around them an external UI-design company could do a good job. But there are many UI issues that require a much in depth understanding of the business logic, Who the user is, what tasks are more common/important and in my experience when outsourcing UI design, The contractor can not normally learn all these issues, You in fact need to split up the functionality into several screens and do a lot of design with UI implications before you send it out to the contractor.
      The solution is to realize UI is important and develop/hire a UI engineer for your company to be consulted on all UI issues. It is much easier to go back and forth with an in-house consultant then with an external contractor. Whoever is designing the software can have several face to face meetings with the UI expert and schedule more on a short notice. With your in house expert you can easily consult on top level issues such as should I put everything on one screen or separate it to many different ones. If The various pieces of software in your company have something in common your UI expert will gradually learn who your users are and/or what the business is and be able to provide unique insight on UI design.

      in short, external contractor a good idea. In house talent even better.

            Me.

  8. Some suggestions by RobBebop · · Score: 4, Informative

    Know the author Ed Tufte.

    Know what HCI stands for.

    Know your audience and let them evaluate Throwaway Prototypes.

    If you are looking for a book to teach you UI design, you are misguided. If you are looking for a Creative Commons and/or Open approach to UI design, register a domain called "Principles of UI Design" and launch a Wiki on it, then license it with the license you desire (but I would recommend CC0).

    If all goes well, this thread will serve as a good starting point for getting ideas/content to populate your new Wiki with.

    --
    Support the 30 Hour Work Week!!!
    1. Re:Some suggestions by Knuckles · · Score: 1

      If you are looking for a book to teach you UI design

      To teach, maybe. But there are several good and useful books, such as Designing from Both Sides of the Screen, Observing the User Experience (well that's more about your user testing), and others that are at the office and which I can't remember right now.

      --
      "When I first heard Daydream Nation it quite frankly scared the living shit out of me." -- Matthew Stearns
    2. Re:Some suggestions by evilklown · · Score: 0

      If you're not opposed to reading a bit, check out The Design of Everyday Things by Don Norman. It's not specifically a guide to writing better user interfaces, but it definitely helps with making user interfaces more practical.

    3. Re:Some suggestions by Rhalin · · Score: 1

      Know the author Ed Tufte. Know what HCI stands for. Know your audience and let them evaluate Throwaway Prototypes.
      Great starting points here. The audience one is a massive factor.

      For instance, are your programs for designers, artists, programmers, office workers, etc? Different groups tend to use applications in different ways. They've also been exposed to different styles of UI design. An important factor is often not to "surprise" your audience with some neat new UI trick *cough* Office 2007 Ribbon *cough* because it tends to frustrate them if it is different then what they're used to in similar applications. However, there are times when this is acceptable - I'll admit, once you get used to it, the Ribbon is can be rather handy.

      Your audience is also important in how they use the application in their workflow. If you don't know how they work with the app, you'll be shooting in the dark as to what it should look like and how useful it will be to them. I've been given several projects where I get specs and a general idea of what the app is used for, and I end up going straight to the people that -actually- use it and asking them what they need it to do. The end result is much better (for the users) then what they would have had if I had just gone straight from the specs. Throwaway prototypes are -very- useful for this, and continued development.

      Your example runs into a bit of an added problem because its for a suite of tools, and not just a single app. That means you'll need to evalute each tool invididually, and it's audience, and try to come up with set of design standards that fits the majority - but don't throw out all the exceptions. Sometimes an app needs something thats a little different then something else in the suite, it happens.

      There are some great papers written about how to do this using anthropological ethnographic field methods, but chances are you won't have the kind of time to delve into reading something that lengthy. The best bet is doing some googling for HCI and see what you come up with.

      As others have mentioned, hire a consultant if all else fails. There are people that specialize in this. They know what to look for, who to talk to, and how to evaluate the needs of the users.
    4. Re:Some suggestions by Simon80 · · Score: 3, Insightful

      I think the ribbon has been unfairly criticised since it became public. It eliminates the redundancy of having both menus and toolbars with the same commands in them, and makes better use of the space on the screen.

      To be clear, I'm generally a critic of Microsoft, since they can be trusted to act in their own interest no matter how much they try to make it seem otherwise, and I've never used Office 2007 before. Despite that, I disagree with the ribbon bashing bandwagon people seem to want to jump on - there's plenty of legitimate things to criticise about Microsoft, no need to latch onto something that is actually a good idea. Also, this isn't directed at the post I'm replying to specifically, it's more of a generic rant about ribbon bashing.

    5. Re:Some suggestions by mysticgoat · · Score: 1

      I think the ribbon has been unfairly criticised since it became public. It eliminates the redundancy of having both menus and toolbars with the same commands in them, and makes better use of the space on the screen.

      This is the first sensible rationale for ribbons that I've yet seen. Yes, really. The. Very. First. Not that I've been looking for such rationales.

      But I don't think it is a particularly strong rationale. There are good arguments for redundancy of controls. Especially in apps like Firefox, oOO, and even Office 2003, where the user has the ability to customize the toolbars to whatever makes the most sense for him, but the menus continue as a known constant, which is damn useful when giving instructions to someone else, or when following tutorials into unknown territory.

    6. Re:Some suggestions by TwoFarWest · · Score: 1

      The Usability Professionals Association website lists resources http://www.usabilityprofessionals.org/usability_resources/

      I attended their conference last year. This ia a good quaility place to start learning.

    7. Re:Some suggestions by Simon80 · · Score: 1

      Two things:

      • Without the redundancies, there is less need to be able to customize toolbars to suit one's needs - everything is 2-3 clicks away, minus one click if the needed widget is in the currently selected tab.
      • People who customize their toolbars are less likely to need to be told where a certain feature is, since they had to think about that to move it around. One exception would be large deployments with modified defaults, but in that case, the presence of support personnel who are able to deal with that is expected.
  9. /. Home Page Direct Link To an MP3? by Anonymous Coward · · Score: 0

    I guess thats one way of band promotion - get a front page story on /. with a direct link to your mp3. How're those servers doing again?

  10. Your Platform/Toolkit's HIG by Sentry21 · · Score: 2, Funny

    Pretty much every platform (in this case, I'd count GNOME and KDE as 'platforms') will have a set of Human Interface Guidelines that will give advice on how to craft a usable interface that meshes well with native applications and provides a solid user experience. There's no one hard-and-fast style guide, though there are lots of examples of what NOT to do if you Google (see the User Interface Wall of Shame for one).

  11. Wrong question... by pla · · Score: 2, Insightful

    I've been charged with making a specific user interface style guide for a suite of software by my employer. I'm not quite sure where to start

    You don't know where to start because you don't work as a tech writer!

    Tell your tightwad boss to pick someone more suited to the task - Even the weenies in Marketing can probably do the task better than an engineer (unless you just happen to have a background in technical writing, but it sounds like that doesn't fit into your job description/requirements).


    Geeks can do anything - That doesn't always make us the best person for every job even tangentially related to "computers". If you want me to design a website, I can make it do anything HTML supports, but prepare for a color scheme that makes most people's eyes bleed...

    1. Re:Wrong question... by RobBebop · · Score: 3, Interesting

      Tell your tightwad boss to pick someone more suited to the task - Even the weenies in Marketing can probably do the task better than an engineer (unless you just happen to have a background in technical writing, but it sounds like that doesn't fit into your job description/requirements).

      When geeks design a Style Guide, it looks like this. Simple, elegant, uncluttered.

      When the weenies in Marketing design a Style Guide, the audience ends up trying to punch a psychedelic virtual monkey. Please don't suggest anything that would put marketing personnel in a position to produce anything that will guide me, thankyouverymuch.

      --
      Support the 30 Hour Work Week!!!
    2. Re:Wrong question... by LaskoVortex · · Score: 1

      If you want me to design a website, I can make it do anything HTML supports, but prepare for a color scheme that makes most people's eyes bleed...

      MEMO FROM THE MANAGEMENT: You're out of excuses, now design that website!

      --
      Just callin' it like I see it.
    3. Re:Wrong question... by cdrudge · · Score: 1

      Even the weenies in Marketing can probably do the task better than an engineer
      I'd argue that a pure marketing employee is almost the opposite extreme from why you wouldn't ask an engineer. I work as a web developer implementing my companies own design as well as those designed by outside marketing agencies. By far the most difficult designs are from the marketing company. While we try to beat it into their heads that print is not the the same as web nor is video the same as the web, many times they still treat them as the same.
    4. Re:Wrong question... by tknd · · Score: 1

      Tell your tightwad boss to pick someone more suited to the task

      And obviously you're not a manager or you're not a good one. If managers lacked trust, confidence, and were not willing to challenge their employees, then their employees would only be as good as the first day they stepped in the door. Unfortunately or fortunately, most employees will stay for a good amount of time, therefore the better you can develop and train your employees, the more satisfied they will be with their job. If you simply sit at let them age (especially in the tech field) they are not improving and probably doing the same thing everyday. For some people, maybe that monotone job life is ideal, but considering the field (tech), I think in a majority of cases it will be the opposite (they want new challenging things).

      In my personal experience, I have been challenged in a number of ways that were not explicitly stated in my job description which is your basic Software Engineer. Once I was tasked with defining a new process for managing internal documents. The current process was obviously flawed, and they wanted a better way of doing things. I did my analysis, found all of the issues, and came up with a few solutions. After meeting and presenting the results to my manager, I then asked "who is going to update the documentation, introduce the idea to everyone else, and etc?" And she looked at me and said "You are." Oh no! Shock! Horror! I can't sit behind my computer screen all day writing code! But since then, I have learned an awful lot about the company and more importantly, how to deal with people. To me that is more valuable than anything I could have learned in the technical field because guess what, the world is full of people and people call the shots. If you can't get momentum in other people, you are virtually hopeless in pushing changes in any organization.

      Sure, my manager could have sat back in her chair, and picked the most qualified person to do the job and she may have saved money then. But by investing in helping develop and train me even though I would have been more costly, now I have the skills to do the same job as anyone else just as qualified would. That's a win-win: for me I gain new skills, for her she gains an improved employee at the "Software Engineer" rate. The only cost in the deal was time.

    5. Re:Wrong question... by dishpig · · Score: 1

      Exactly right. There is an entire field of expertise around UI design and technical writing (and no, they are not in the Marketing department) - what makes you or your boss think you can pick it up in a few hours and do a reasonable job of it?

      On second thought, perhaps they're all busy doing application development...

    6. Re:Wrong question... by anticypher · · Score: 1

      I came here to say that. Except for the part about marketing, which is possibly the worst advice you could give. Marketing should only have minimal input, with neither approval or veto power over the project, or you will end up with neon blink tags and worse.

      This is a job for someone who has prior experience in creating Human Interface Guidelines, who can create a set of guidelines for your company free from any plagiarism or theft of Creative Commons licensed material. There is a substantial amount of work to be done to create this, it isn't just another task to be tacked onto to your 80 hour weeks in the run-up to shipdate.

      You have to tread carefully with CC licensed stuff. Just because it's on the internet doesn't mean its completely free for you to do with what you will. Does the original author want attributions? If so, then everywhere in your Interface Guidelines you must put attributions, something that may clutter up or cheapen your work.

      The great thing about CC is that if you find someone who has published their work under CC and it mostly fits your project, you now have a good lead on hiring them to make a derivative of their work specifically for you. You've already seen the quality of their work, and you know they are modern and cool enough to use CC for their own purposes.

      You need to go back to your boss and explain that a HIG book is not the responsibility of the geeks in IT or product development, it should come straight out of the marketing budget. You also have to balance the absolute requirement that marketing can't have any input other than basic guidance, because any radical changes to the HIG means scrapping the work to date and starting over. Tell your boss that the company needs to hire a professional for this important part of your project, and no IT person is qualified to do it.

      the AC

      --
      Hemos is like...sci-fi fans;he thinks technology is cool, but he hasn't bothered to understand the science it's based on
    7. Re:Wrong question... by Talsan · · Score: 1

      Please don't suggest anything that would put marketing personnel in a position to produce anything that will guide me

      Agreed. Marketing people are employed to build hype and help sell products. Most of them don't know squat about design.

      Engineers can do a good job on design, but only when you slow down and force yourself to look at it from a user's perspective. We all use a lot of software, and you can probably come up with ideas very quickly about what annoys everyone you know. But you also have to think about the design aspects that your eyes just sort of pass over because they just work.

      If you put marketing people in charge of design, well... Just look at the f*cking paper clip and puppy that Microsoft use. Does anyone seriously believe that an ENGINEER would ever consider that cute or useful?

    8. Re:Wrong question... by sbeckstead · · Score: 0

      Actually I don't think a Tech Writer is a good arbiter of an interface guide any more than a game store owner is a good game designer. A tech writer spends much of his time sorting out the tangle created by the programmer interpreting a spec written by the marketing department filtered through his boss coupled with the real world requirements of the hardware/software platform. And trust me that can be a mess. No I think that the Human Interface Guides of the various platforms are a very good place to start. Then find similar tools and use them. If none exist then you have the unique job of creating a paradigm. I do Ui's in VB and C++ and Python etc for a living but I don't mess with the art, that I leave to an artist. In Business software of course there isn't any art but you can add a bit of color to the mix. Remember the principle of least surprise. In other words what would the user be least surprised at that control doing.

  12. Testing, testing, testing by Anonymous Coward · · Score: 2, Insightful

    Some of the best input you can get is by giving the software to someone completely unfamiliar to the project, and ask them to accomplish 6 objectives that require them to navigate the application's interface. Ideally, you'll want them to be able to successfully complete those objectives with a minimal amount of time and hassle searching for the proper way to accomplish it. Have them identify trouble spots they ran into (icons confusing, unclear menu structure, etc). After reading over the input of uninitiated testers, you can fine tune your interface to be more intuitive.

    I suffer from the problem when coding that I put menus and icons in places where *I* know where to find them, and that make sense to me. The problem is, I know the code from the ground up, so I know exactly what I'm doing - a huge bias compared to a new user who is trying the application for the first time.

    Essentially, if your computer illiterate mother can figure your menu structure out, you are golden. A lofty goal that you'll probably have to cut some compromises into, but essentially the point is to keep it simple and make sure you account for your target audience.

    1. Re:Testing, testing, testing by azrider · · Score: 1

      Some of the best input you can get is by giving the software to someone completely unfamiliar to the project, and ask them to accomplish 6 objectives that require them to navigate the application's interface.
      The concept is called "Useability Testing". Do not stop with asking them to "accomplish 6 objectives". Match the objectives to the product requirements. Match the tester to the appication (if it is a Computed Aided Dispatch system, your primary testers should be dispatchers (I know, a novel concept ;-) ).

      Provide a telephone for them to call the "Help Desk" when they have problems. Record the screen and keyboard. Document all of their problems. (LATHER)
      Review the recordings, noting all problems encountered. Update any user documentation as needed. Note any areas where the requirements do not match the existing test product. Make any required modifications to the product. (RINSE)
      Grab a new guinea pig. (REPEAT)

      Yes, this can be expensive, but not as expensive as rolling out a product that does not do what is needed. If it is not what the target audience needs to perform their job (the reason you are doing this in the first place), you will fight an uphill battle what will only be "won" by management mandate. This will guarantee project failure. You will always need buy-in from the users for a project to succeed. Besides, once you have set this up once you can implement it whenever you want.
      Remember, "Do it right or do it over"

      --
      And ye shall know the truth, and the truth shall make you free.
      John 8:32(King James Version)
  13. "Quality" is not an adjective! by Fear+the+Clam · · Score: 1

    In addition to just documentation, what other UI advice can Slashdot readers offer in order to ensure quality development?

    Do you mean "quality development" as how to develop of some sort of measure of quality, or do you simply mean development that fails to suck?

  14. Have I got a job for you by iliketrash · · Score: 3, Funny

    "I'm a software developer but have not had any formal training in UI design or look and feel."

    That would make you the perfect Microsoft employee.

    1. Re:Have I got a job for you by rdavidson3 · · Score: 0

      To be fair, Vista has a gorgeous interface. Very nice on the eyes, but leaves a lot to the imagination functionally.

  15. Just Get An Interaction Design Textbook by Tech+Librarian · · Score: 2, Informative

    I would suggest going out an getting a book on Interaction Design, such as that by Sharp, Rogers, and Preece. If you look over the diagrams and the chapters you should get the gist of it. This book is used in introductory graduate Human-Computer Interaction courses.

  16. A Great Brochure by TrebleJunkie · · Score: 2, Insightful

    A Great Brochure from Humanfactors.org is here:

    http://www.humanfactors.com/downloads/guistandards.pdf

    Page very close attention to page 14. It describes your situation as "Pitfall #4." And it's right.

    --

    Ed R.Zahurak

    You know, oblivion keeps looking better every day.

  17. Curly Brace OK/Cancel by hansamurai · · Score: 2, Interesting

    Choose a curly brace style and stick with it! Oh, this is UI styling we're talking about...

    Try this HCI web comic, I don't think it is updated anymore but there's lots of great archives:

    http://www.ok-cancel.com/

  18. Don't re-invent the wheel by MSTCrow5429 · · Score: 2, Insightful

    Unless the software suite is the only thing the user is going to see, and not the underlying OS or any other software, you should just follow the guidelines for the OS or desktop environment. Otherwise, you get a schizophrenic result that clashes with everything else, leading to user confusion and frustration. If you're designing from scratch, I suggest reading Raskin's "The Humane Interface," and using that as a baseline. Don't read the Apple user guidelines. Unless you're used to a Mac, they don't make sense.

    --
    Slashdot: Playing Favorites Since 1997
    1. Re:Don't re-invent the wheel by iangoldby · · Score: 1

      I can only amplify what the parent poster has said.

      Follow the design style guide of the hosting desktop environment.

      If you are developing for Windows, use Microsoft's own guidelines.

      If you are developing for Mac OS X, use Apple's (link already given by someone else).

      If you are developing for Gnome, use the Gnome guidelines.

      You get the general idea. Also, don't invent your own controls/widgets unless you Really Have To.

      If you are writing a cross-platform application, it's a bit more difficult. Find an application framework that adopts the user interface guidelines of the hosting environment, so that you don't have to do the work yourself. (This is left as an exercise for the reader...)

  19. Starting points for search by ODBOL · · Score: 1
    A lot depends on the detailed nature of the applications in question. Here are some starting points for hunting down information.

    1. Other posters already mentioned MacIntosh and Tufte.
    2. Phil Greenspun's articles: http://philip.greenspun.com/writing/
    3. Any Browser Campaign: http://www.anybrowser.org/campaign/ (even if your application isn't on the Web, the principles are similar, particularly for accessibility).
    4. Study the Model/Controller/View pattern from the software pattern community. Sorry I don't have a specific pointer. Keep in mind that the 3-part pattern is probably a mistake for most purposes: Controller and View usually have to be combined, because the boundary changes between levels of abstraction. This pattern doesn't have to do with how the interface looks to the user, rather it has to do with structuring software so that you have a prayer of controlling the user interface part of the design. Many projects accomplish this pattern (without necessarily knowing about the pattern idea) by organizing work into a function library and a user interface exercising that library.
    5. A key principle (not sure where it's documented) is orthogonality. At some level of design (definitely at the library level), it's very important to identify the fundamental operations that make sense conceptually (in the previous item, these are the natural operations of the Model). "Orthogonality" just means that each fundamentel operation should be essentially independent of the others. Next, make sure that you never lose access to these fundamental operations. Now, you can design combinations of operations to satisfy the most common user needs, without leaving frustrating gaps where a user with a slightly unusual need cannot perform the right operations, because they are only available in unwanted combinations.
    6. Whenever you provide a level of operation that you think makes things simple for the user, try to leave some way to get a transparent view of the technical level below it, in case your notion of "simple" isn't always quite the right one. E.g., Apple screwed this principle up very badly in Garage Band, which hides the individual sound files totally from any user who relies on the Mac's views of the file system. Only through a Unix terminal interface does one discover that the "project" is a directory, with lots of files in it. An early version had a bug, in which the "Save As" button did not actually save a file. There was no way to discover this until it was too late (and I lost one of my best audition recordings to this bug, and resolved never to touch Garage Band again).
    7. Which reminds me of one of the best ways to learn good interface structure: observe lots of bad examples. They are plentiful. The downside is you can spend infinite time on this survey.


    Have fun!

    --
    Mike O'Donnell http://people.cs.uchicago.edu/~odonnell/
  20. Re:Simple rules by eln · · Score: 2, Funny

    And make sure that whatever objet d'art you create doesn't look like too much of a turd. I really don't understand the need for this rule.

    Signed,
    Chester W. Lampworth
    President and CEO
    Amalgamated Manure, Inc.
  21. For me, it's easy by quincunx55555 · · Score: 1

    Just pretend you are the user you are writing for. If you have no idea what that type of person is like, find someone that does (sales, marketing, actual customer, etc).

    Ask your self (or the other person), "What do you want to do" (over and over again, in different contexts). There are so many times we get wrapped up in the technology to create a solution that we start to build the UI based on it. The UI should be based on the desires/needs of the user. Why else would the software be developed? Taking this stance, when done with honesty, will usually lead to a simple and practical design.

    This can get complicated as you may assume the role of a new user, and then someone that's an expert. Or someone that bought the software because they wanted it vs someone that is going to hate it just because their boss told them they need to use it. They will have different needs, that tend to contradict (simplicity vs configurability for example).

    Sometimes it's quickest to start with pen and paper. Easy to create, easy to throw away, save what you need by scanning it in, then use that as the starting point for coding the UI.

    If that's still too much of a challenge, involve other departments (QA, Tech Support, Documentation) and get their input. As far as "design guide", there are obvious conventions being used... follow them. Don't use checkboxes like radio buttons, don't use drop-downs to open a dialog box, etc.

    If you get stuck in an area, start opening up interfaces from other software that has something similar and see how they do it. Then ask yourself if how they did it is "correct", or best, for your customer(s).

    Good Luck!

  22. Start with Facebook... by rueger · · Score: 2, Insightful

    ... and ignore everything that they do.

    Then work with real users and find out what they want the app to do, how they want it to do it, and assess what their knowledge and skills levels are. In all likelihood you are entirely the wrong person to judge what's appropriate for end users.

  23. A Pattern Library for Interaction Design by rRaAnNiI · · Score: 2, Informative

    I strongly recommend this link: http://www.welie.com/

    This is a collection of design patterns for creating UI.

    I was extremely impressed by this work already 8 years ago when it was presented in PLoP2K http://jerry.cs.uiuc.edu/~plop/plop2k/proceedings/proceedings.html but since then it became much much bigger.

  24. An 8th principle by ODBOL · · Score: 1

    8. Single data entry. Sometimes this happens without thinking, but if you blow it badly, it creates havoc. Each piece of information required from the user should be entered precisely once in precisely one context (per interaction---the context can be different depending on what else the user has done, but it shouldn't vary according to accidents of the program execution). Every sufficiently complex system starts to drift away from this principle, so that a single change requires a user to hunt down several different entries of that change, which nobody can do consistently correctly. Then, it is outrageously hard to find the particular wrong entry that's causing a particular problem.

    Of course, this doesn't rule out independent re-entry for the purpose of consistency checking, such as the re-entry of a password. But that sort of re-entry needs to be followed immediately by a consistency check and correction.

    --
    Mike O'Donnell http://people.cs.uchicago.edu/~odonnell/
  25. Usability Guide by kcurtis · · Score: 3, Informative

    This is not directly a style guide, but a Federal (US) usability guide. http://usability.gov/pdfs/guidelines_book.pdf

    Hopefully this helps.

  26. Pointer to Model-View-Controller by ODBOL · · Score: 1

    I had the components in the wrong order:

    http://en.wikipedia.org/wiki/Model-view-controller

    I'm pretty sure that someone wrote an article on the need to combine view and controller. I may be able to look in up on Monday.

    --
    Mike O'Donnell http://people.cs.uchicago.edu/~odonnell/
  27. Sun web spec by phfeenikz · · Score: 2, Informative

    My employer recently adopted Sun's standards. They posted them here: http://developers.sun.com/docs/web-app-guidelines/uispec4_0/

  28. I'm not a UI Designer but I play one on TV by sconeu · · Score: 2, Informative

    I'm a software developer but have not had any formal training in UI design or look and feel. I'm looking for something more than just "keep it simple, stupid."

    Then your proper response is, "Are you sure you want me to do this? I have no training in this area."

    And put it in writing as a CYA.

    --
    General Relativity: Space-time tells matter where to go; Matter tells space-time what shape to be.
  29. Done. by wchatam · · Score: 2, Funny

    Everything you need is right here.

  30. HCI by gilesjuk · · Score: 1

    You need to read up about Human Computer Interaction.

    Also, the guidelines for a web application or mobile application will be different to that of GUI application.

    You should read up about accessibility, should your application be used in government organisations then it may often need to be able to be used by people with eyesight or mobility defects.

    Important points, never rely on colour to differentiate things. Not everyone has reliable colour vision.

    Involve end users where possible.

    Read Jacob Nielsen's opinions, don't take them as gospel but he does have some good points.

    http://www.useit.com/

    Stick to the guidelines of the OS you are developing the application for. Use common well established key shortcuts.

  31. Web Design from Scratch by swanton · · Score: 2, Informative

    This is the best website on design that I've found: http://webdesignfromscratch.com/

    For searches like this, don't use Google or other search engines like it. Search people's bookmarks. http://del.icio.us/search/?fr=del_icio_us&p=design&type=all

    1. Re:Web Design from Scratch by logixoul · · Score: 1

      Are you kidding? This site misrenders /so/ bad I'd be mad to listen to the guy who made it.

  32. scenarios by utnapistim · · Score: 1

    I've had no formal training in GUI design either, but I've found that making a few useful scenarios works pretty good (although it takes a bit of time).

    To do so, try to imagine a few "typical" users for your application, and go down to enough details about them, until you have a clear image of their personality. It's pretty hard to do first (sounds easy, until you actually start writing stuff down, then you block).

    The idea while doing this is to come to different aspects in usability, not in features. That would allow you to (hopefully) come to a good understanding of which tasks are most important and how to prioritize them.

    I believe Joel Spolsky described this method at some point but I'm too lazy at the moment to search for the link.

    --
    Tie two birds together: although they have four wings, they cannot fly. (The blind man)
  33. Fluid by frequnkn · · Score: 1

    The Fluid Project is just getting off the ground, and it is focused on higher ed, but their wiki might be a good place to hang out, if you want to talk to serious HCI geeks. I've talked to some folks at conferences about it, and they have some hardcore research components to their work - you know, users, and researchers, and people writing down what happens :-)

    From http://fluidproject.org/ ---

    "Fluid is a worldwide collaborative project to help improve the usability and accessibility of community open source projects with a focus on academic software for universities. We are developing and will freely distribute a library of sharable customizable user interfaces designed to improve the user experience of web applications"

  34. general reading under interface development by yaihoolood · · Score: 1

    If you're interested in the theory and understanding good interfaces: The Design of Everyday Things by Donald Norman The Inmates Are Running The Asylumby Alan Cooper With those books in mind, *then* use the HIGs :) ~Lee

  35. Motif Style Guide by Cyrano+de+Maniac · · Score: 1

    Not quite a classic like the Apple material, but the Motif style guide is likely to be helpful: http://www.opengroup.org/pubs/catalog/t254.htm

    --
    Cyrano de Maniac
  36. Inmates are running the Asylum by CNTOAGN · · Score: 1
    Someone already mentioned the About Face books (The Essentials of Interaction Design), but to really get a good start on what you need to do is read kind of the precursor to those books, by Alan Cooper: The Inmates are Running the Asylum http://www.amazon.com/Inmates-Are-Running-Asylum/dp/0672316498

    It gives a good case for why YOU shouldn't be writing User interface guidelines and why a design specialist - who is a stakeholder and needs to own the project - should be.

  37. Wisdom from the Design of Everyday Things by Nerdposeur · · Score: 1

    The Design of Everyday Things is a great book, considered a classic. It covers basic things like doors and telephones more than GUIs, but it helps you think in the right direction.

    One principle that stuck in my mind is that you should make things as obvious as you can - if you've got four heating elements on a stove, arranged in a square, then arrange the knobs that control them in a square and it's obvious how it maps. If you put the knobs in a straight line, you have to label them and the user has to stop to read the diagram.

    A second principle is that you should make the penalty for screwing up as low as possible.

    Imagine the worst possible user interface: it's easy to click the wrong button, and clicking the wrong button does something disastrous. Now strive for the opposite: it's obvious which button is right, and clicking the wrong one doesn't do anything that can't be easily undone.

    Easier said than done, but just imagining the good design makes me feel less stressed.

  38. Accessability Guidelines for Developers by rbenech · · Score: 1

    IBM has a great checklist for Accessability of different UI implementations (web, app, lotus notes).

    http://www-03.ibm.com/able/guidelines/software/accesssoftware.html

    Understanding Accessibility

    If you are new to accessibility, review "Understanding accessibility" before completing the checklist or contacting the Human Ability and Accessibility Center for help.
    IBM software accessibility checklist

    Use this checklist for:

            * general software products and applications that have a user interface
            * software tools, this applies to both the user interface as well as the output of the tool
            * Java 1.1.x applications that use standard AWT components and are designed to run only on Windows platforms
            * software used by system administrators to control and monitor servers or other remote equipment
            * Eclipse applications written with Standard Widget Toolkit (SWT) controls. Note: SWT controls do not use the Java Access Bridge.
            * software with a command line interface

    Last updated May 28, 2003. Techniques pages, accessed via the link in each checkpoint, may contain more recent updates. Be sure to review the techniques pages for the latest accessibility guidance.

    --
    Perspective is to Science what Interpretation is to Religion. Obama + Paul FTW
  39. Tango Icon Community by pixelfood · · Score: 1

    I found the Tango Icon community when I needed to develop icons for my application. I joined the mailing list, and they always have good suggestions about style. A lot of the design principles they talk about transcend icons. Even though I don't have any formal training in UI design either, I have picked up a lot of tips on how to give the UI a systematic, cohesive style.

  40. UI Design for Programmers by eddeye · · Score: 1

    I highly recommend Spolsky's User Interface Design for Programmers as a place to start. It's short and to the point, with about a dozen guiding principles to make your UI practical. It's a light and fast read, yet substantial enough to get you off and running.

    --
    Democracy is two wolves and a sheep voting on lunch.
  41. Good Interfaces by solprovider · · Score: 1

    "Know the author Ed Tufte."
    I like Tufte for his arguments against using PowerPoint. His own works are mostly about using images to display information well. While some important HCI topics are covered, finding the few critical points would be much work for someone with an immediate need to create a guide for interfaces.

    "Know what HCI stands for."
    Much good information can be found with much less work by reading the free materials from the organization that certifies HCI professionals:
          http://www.humanfactors.com/
    The only other certification requires a Masters degree in the subject, at which point another certification is pointless.

    "Know your audience and let them evaluate Throwaway Prototypes."
    Your audience is human beings. Dividing any further is an excuse for allowing poor interface design.

    "If all goes well, this thread will serve as a good starting point for getting ideas/content to populate your new Wiki with."

    I have two rules for good UI on my website (which needs better organization and will be fixed later this year):
    1. Make every function as obvious as possible.
    2. Require the least action for every function.

    Many interfaces hide functions with menus, tabs, and dialog boxes. The functions are hidden, and activation requires more than one click. Some programs even show functions that cannot be used. (Photoshop has so many options that hiding some is almost necessary, yet still shows actions that cannot be used at the moment.)

    The third rule should be to minimize the probability of mistakes. Many environments have dialog boxes with "OK" and "Cancel" buttons very close. Buttons should be explicit. Damaging actions should be separated. All options should be allowed.

    Firefox is better than most programs and still violates these rules. If you attempt to close a window with multiple tabs open, the buttons are "Close all tabs and this window" and "Cancel - Do not close any tabs" (italics added for missing text). No option is presented for the most likely desired option to "Close the current tab".

    These three rules cover every situation. More guidelines are useful for consistency, such as
    - The expected action is always first and has a green background.
    - Other actions may follow with yellow backgrounds.
    - Cancel and other destructive actions are always in the bottom-left at least 20 pixels from other controls and have a red background.

    --
    I spend my life entertaining my brain.
  42. Another resource: by azrider · · Score: 1
    Why Software Sucks...and What You Can Do About It
    Author: Platt, David S.
    ISBN: 0-321-46675-6

    Get it and read it.

    --
    And ye shall know the truth, and the truth shall make you free.
    John 8:32(King James Version)
  43. AC's PD style guide by Anonymous Coward · · Score: 0

    1) All buttons need to have an accurate and useful tooltip
    1.5) ALL AREAS AND MENUS must respond correctly when F1 is pressed, jumping to the application help file's main screen is not correctly, jump to the relevent area
    1.75) the help file must be up to date, always, NO EXCEPTIONS
    2) nothing done more than once per day shuld be more than 2.5 clicks away from where the user will normally be when it needs to be done.

    3) pauses for sub menus to open automatically count as half a click
    4) pauses for a subment to open from withing an existing submenu(such that moving the mouse will close the parent menu) that opened the same way counts as 500 clicks
    5) use environment and industry standard keyboard shortcuts wherever possible
    6) flay any employee who implements a function which can destroy or fail to save data on any single F-key or any standard keyboard shortcut (i.e. ctrl-c to CLEAR, ctrl-z to CLOSE, F1 to return to home screen)

  44. Re:Best style guide? by Anonymous Coward · · Score: 0

    What are you drinking, water?

  45. Negative? by 19061969 · · Score: 1

    I don't want to sound negative but (and assuming this is a commercial gig) you may need to get someone who knows how to design UIs in to do the job. After all, would you hire a HCI specialist to produce C code? It's good that you want to learn about UI design (and best of luck), but it's a surprisingly large area with lots of work being done (even so called specialists aren't aware of the research that goes on).

    Reading books and style-guides is a start but then so is employing programmers with a basic certificate in programming. If you had some difficult coding to do, would you employ a UI designer who had read a dummies guide to C to do the job?

    --
    bang goes my karma... again...
  46. A mechanical style guide won't help much. by AaronLawrence · · Score: 1

    If what you're doing is something fairly standard, and user interface isn't a big selling point, then
    - use standard controls and designs from your operating system
    - copy the best parts of other similar applications
    - think hard about how the user uses it and make it as smooth as possible for those cases.
    - be tidy.
    - use a few nice graphics sparingly.
    Most business apps fall into this category and just following the basics will make a reasonable app, but nothing world-beating.

    If you are doing something for which the user interface is really important (e.g. ipod - done before, but the user interface made it better than the rest), then you also have to get a lot smarter
    - am I going to break some conventions to make it better than the standard approach?
    - should I do skinning? This will attract some users and repel others, but is often added because the developer thinks it will be fun. Not the right approach.
    - do lots of research and testing into how the users use your app and similar apps.
    - experiment

    --
    For every expert, there is an equal and opposite expert. - Arthur C. Clarke
  47. Make it skinnable... by mysticgoat · · Score: 1

    Look into whether you can side step the whole design thing by

    1. Making the interface skin-able by the users
    2. Creating a permanent wiki where users could download and upload skins, discuss the merits of each, and rank them according to whatever criteria are important to them.

    Your initial job would be to build a rudimentary interface and a toolkit that would allow each user of the software to skin it the way they think would work best. Long term maintenance would include adding extensions to the toolkit that would be driven by user requests.

    You would want to recruit a few users to help with debugging the initial toolkit and setting up the default interface.

    Handle this right, and the traditional users' resistance to change could be morphed into an enthusiastic buy-in on the project before it is even out the door. An annual award, like a couple of extra days off, to the user who is voted Most Valuable Contributor by his peers could be an inexpensive way to get things started and keep things going.

    If you take this idea to your boss, I'd be interested in hearing his response.

  48. Design for switchable interfaces. by MikeFM · · Score: 1

    I'm not sure on following Apple's guidelines. Some of their stuff is great but some of it really sucks too. They have a hit and miss record with usability.

    What I might suggest is to design so that the UI is loosely coupled so it can easily be switched out as needed. Better than trying to make one universal perfect interface is to create one simple interface with the ability to create alternates easily. Then if you need a console based or text-based interface (say for a blind employee) it's easy to do without confusing your existing users. If you need to make a more advanced interface for admins it's easy to do. There is no one interface to rule them all.

    --
    At what price learning? At what cost wisdom? The price is a man's peace of mind, and the cost is his life.
    1. Re:Design for switchable interfaces. by Foofoobar · · Score: 1

      console and text based software in mass use is not common and does not require a style guide per say; it requires more of development guidelines and standards (ie use tabs instead of spaces). Don't confuse a style guide with development guidelines. One is for graphic interfaces and the other is for coding standards (including CLI).

      --
      This is my sig. There are many like it but this one is mine.
    2. Re:Design for switchable interfaces. by MikeFM · · Score: 1

      It's less a recommendation for style guidelines than it is a reminder to not rely entirely on style guidelines. As always the nicest UI in the world won't help you if the underlying software sucks. To many programs are badly designed and tightly bound to their UI.

      --
      At what price learning? At what cost wisdom? The price is a man's peace of mind, and the cost is his life.
    3. Re:Design for switchable interfaces. by Foofoobar · · Score: 1

      One simple acronym... MVC

      --
      This is my sig. There are many like it but this one is mine.
    4. Re:Design for switchable interfaces. by MikeFM · · Score: 1

      Sadly, most code, that isn't mine, that I've had to work with just mushed everything all together. It's one of my pet peeves about open source code as a lot of smaller projects are really badly written. Of course most closed source code I've worked on was just as bad. I swear that schools must crank out CS majors without teaching them to actually code things properly.

      The worst is people who think of themselves as web programmers. There is often no separation of logic at all. Of course if you're going to cram PHP, HTML, CSS, Javascript, and SQL all into a single file anyway then why would you think about actually designing your code. I love when you see someone who whines their code is broken and you see a tangle like that. Usually they don't even know how to properly use functions or objects.

      --
      At what price learning? At what cost wisdom? The price is a man's peace of mind, and the cost is his life.
  49. Why does it have to be in the Creative Commons? by Garwulf · · Score: 1

    I'm sorry, but I don't understand something here...

    Why would the research for this style guide have to be in the Creative Commons?

    First of all, unless you're going to be copying and pasting the actual text of the research style guide into your own document, the copyright law regarding the research style guide is irrelevant. You can't copyright an idea, so if you see a good idea in a copyrighted book and you want to use it, there's nothing stopping you (at least on the copyright end - patent law is a much different animal, but that has to do with what the people following your guide have to do, not what you have to do).

    Seriously, for this sort of thing, just figure out what's the most intuitive and write it into your document. So long as it's in your own words, you'll be fine.

    --
    Robert B. Marks
    Author, Demonsbane in Diablo Archive
  50. I don't fear the moderation ! by nsebban · · Score: 1

    I'm possibly gonna be moderated "Funny", but the Vista guidelines are well done IMO.

    --
    ____
    nico
    Nico-Live
  51. Do you understand what you're being asked to do? by Riktov · · Score: 3, Insightful

    I have a feeling that 99% of the replies here are misundertanding something crucial. And so is your employer, and so are you. (OK, so it's more likely I'm the one who doesn't understand. But hear me out.)

    First off, what is a style guide?

    Here's how I would define it.

    A style guide is a document which prescribes standards for subjective matters of presentation, which are to be followed for material created within a specific framework. For example, the material might be written articles for publication in a newspaper. Or the material might be programs created to run on an OS, or with a GUI or application framework. Or C language source code written to be read and modified by a programming team.

    A style guide's purpose is to enforce consistency among material created by multiple parties (or one party over multiple sessions). This consistency is for the benefit of the end user, not necessarily the creators. And the style guide is for use by the creators, not the end user

    A style guide governs presentation, not content. Grammar and article length, not viewpoints or what gets discussed and what doesn't. How a pushbutton looks and behaves, not how it gets drawn on the screen. Code indentation and naming, not what the program does.

    A style guide does not prescribe standards that are enforced elsewhere. It doesn't tell writers to properly end their sentences with punctuation, because that's a rule that applies to all writing. It doesn't say that scrollbars in a GUI should not be placed at 45-degree angles, because the GUI API provides no means to do so anyway. It doesn't say that curly braces must be balanced, because the compiler will catch that anyway.

    A style guide is the sole authority on the issues it covers. If an issue within the domain of the style guide is not governed by it, then there is no rule on it.

    A style guide prescribes standards as the preferred choice among various possible options, none of which is objectively correct or incorrect. The standards take the form of "for such-and-such, do it this... way, not that... way. There are some who do it that... way, but we do it this... way because such-and-such."

    A style guide can not be legitimately created by someone who doesn't define the standards in it, and have the authority to decide what to prescribe.

    So, if your employer is asking you to make a UI style guide for their software, there is a basic issue that you haven't explicity made clear:

    Does this software provide a framework for creating material that should conform to some standard? You say you are creating a user-interface style guide, so is it a user-interface creation tool (or something that allows external components with their own user interfaces)? If that's not what your software does, and the user-interface you're referring to is something that your software uses, rather than provides, then your company is in no position to create a style guide (that is, define standards) for it. Whoever created the GUI (Windows? Mac? QT?..) has already done that, and chances are they've published it, and your software engineers have been following it. Any attempted style guide would be merely descriptive, not prescriptive. It would say "for such-and-such, our software does it this way...", possibly even while the actual standards say to do it that... way.

    Now if your software is in fact a UI-creation tool and it's already been created, then allthe content that needs to go into your style guide is already in the heads of, or has already been written by, whoever created the software. You know who to talk to.

    And if the software is UI-creation tool but you're still at the design stage, then what you're being asked to do is actually create the standards, not just write a document. Your employer is asking you, a software engineer with no UI expertise, to define the rules which all of your customers, as software developers, will be mandated to follow, and which will in

  52. The action button is in the corner by tepples · · Score: 1

    In GNOME, to accept the most common, you always hit the same location. No you don't - the rightmost button is the 2nd, or 3rd, or 4th, or whatever - it varies with the number of buttons. The rightmost button is first from the end in LTR locales. In a touch screen environment such as a tablet PC, PDA, or handheld video game system, it's also closest to the dominant hand of over 90 percent of users.

    It isn't "the easiest to hit" unless the window/dialog/whatever is always a fixed size. In Mac OS Classic and Mac OS X, the action button is always at a fixed distance from the lower right corner of the window. Eyes are drawn to edges and especially corners.

    the left-most button, as the first, is the first to be seen in LTR locales Apple's studies indicate the opposite, that users do not always scan buttons LTR even in LTR locales. The eye goes diagonally down after reading the end of the dialog box text and ends up at the lower right corner. Besides, on Mac OS Classic, the button with focus has always had a thicker border, drawing the eye to it.