This Is What Happens When You Let Developers Create UI

There is not a DAMN THING WRONG with this simple UI for wget.

get a fucking clue.

Sometimes you will spot good programmers who are also good graphic designers. Sometimes. :slight_smile:

NICE gui! let the developers do their jobā€¦

The best thing about that GUI!?

THE PRO MODE BUTTONā€¦

Looking at that GUI I am horrified to think about just what is lurking behind that buttonā€¦

I love this GUI. I get every option in one screen. No need to run around trying to find something. Or worse, not even knowing the feature exists. More GUIs should be programmed like this.

In my private work, I do program such GUIs and my clients love it.

Only the developers should make GUIs, not clueless managers and designers who donā€™t know the first thing about software.

There is absolutely nothing wrong with this GUI.

I guess Iā€™m the only one here thinking, AWESOME! ā€” arenā€™t I?

By the way, I want to know ā€” whatā€™s behind the Pro Mode button? :smiley:

Developers are good at what they do, and a brilliant developer is worth their weight in gold. And if someone knows a graphic designer who tries to code, then they are the exception, because most designers are afraid of anything resembling code (probably better for all of us).

Graphic design is not the same as designing interfaces. Not by a long shot. And I would say anyone who refers to the buttons and stuff as a UI is probably a developer.

The problem here is not one of colours (which is branding, not UI, or GUI, or usability, or any of that, so stop referencing colours) or icon stylesā€¦ it is one of people thinking that the way the interface looks is a superficial element of software. To a typical user, the interface IS the software. That bears saying againā€¦ the interface IS the software, to the user. To the user, coding/programming is whether it works or not, and in their minds, that is a boolean variable.

As a developer, the smarter and more specialized you are at development, the more UNlike the user you are, and therefore you NEED someone who only cares about the presentation of the information on the front-end to handle that. A perfect example would be the button next to the URL textfield labelled - . What the hell is that button? And did anyone notice that itā€™s possible to choose no info and all info and some info at the same time? What happens if that is done? Does the universe explode, or do you just get 42 as your output?

The two biggest fixes that should be made in UI (I am specifically a designer who does UIs and works directly with developers as a specialty) are these:

  1. The interface almost NEVER exactly matches the data model. Yours is not the exception. Basically, the closer it does this, the further you are from an easy-to-use interface.

  2. Thinking that you need to see everything that happens. Maybe during testing, but in real life. Most things donā€™t actually require the user at all, and most other things only require the user at certain times. A good rule is, if I am not directly manipulating data, then it doesnā€™t need to be in the UI.

Basically if you have said, or agree with, any of the following quotes, step away from the user interface, because you do not have the ability to tell a good UI from a bad one:

Some people are GREAT algorithm writers. Some are great at getting data efficiently. Some at writing components. Some at UI.

I speak as a programmer who used to design UIā€™s a bitā€¦

The only real alternative is to just make it tabbed, or arrange it so that the controls are grouped in some manner.

GUI programming is not any different than other types of programming.

If the user learns to use the application, it might be easy.

Pretty colors dont make an application more useful.

At least the UI is honest and directly layed out.

Personally Iā€™m a strong coder, average at designing UI in terms of layout and function, but awful at choosing colours and drawing icons and images.

My organization does not have the means to hire someone just for the UI-work

Most developers have some sort of intuition and can come to a decent result by means of prototyping.

The UI displayed here is perfectly usable for itā€™s intended audience, but a clueless graphic designer can render such an application utterly and completely useless.

This gui interface makes sense as it shows all the options at once.

I hate UIs that hide stuff. Show it all to me.

As a developer, I would actually like to see more interfaces like this.

If you dimwits actually learn how to interact with the commandline then you donā€™t need something like is displayed.

Itā€™s mathematically complete.

For someone who knows wget, this is not a horrible interface.


This argument in a nutshell:

http://www.ok-cancel.com/strips/okcancel20031010.gif

and

http://i359.photobucket.com/albums/oo32/Uuseer/func.jpg

This UI looks perfectly fine to me. Why? because of the scenario that lead up to it. A designer needs to toggle things during the course of development. In this case, it conveys 1) the user is intelligent about the application, b) the user has a number of specific requirements that s/he needs to satisfy/check in the implementation, and 3) I would guess that the collection is elegant ( all the stuff in one place, logically organized, relatively). Why is there this overwhelming push to make ā€˜rocket science easy for idiots?ā€™ Everything cannot be boiled down to simplicity, so easy a cave man can do it. Now, not all users are rocket scientists (but they should beā€¦lol). Having said that, a reasonable approach would be to provide the necessary information on one relatively simple box, and then trundle down a tree to the more detailed/esoteric capabilities, implementable a number of ways (tabbed index, tree dialog boxes, etc.)
On size does not fit all, and a neophite should not always be the lowest common denominator in considering UI design.

The scary thing is the button marked Pro modeā€¦

THANK YOU, Joel. I see way too much we need smarter users excuse-making going on here.

Are some developers also good at user-interaction design? You bet. Are some graphic designers also competent UI designers? Yes. But in both cases, itā€™s a rare combination of unrelated skills, not a rule.

Just because you build the underlying functionality doesnā€™t mean youā€™re qualified to design the UI. Maybe you are, maybe youā€™re not. But itā€™s no more likely than a plumber also being a skilled architect: two different jobs that focus in two different directions.

Read Alan Cooperā€™s The Inmates are Running the Asylum for the principles of user interaction design (an important precursor step to user interface design) and his About Face 2.0 for putting them into practice.

You are right - never let your coders work on the user interface without supervision and guidance. The above named books explain why.

Check out THIS interface:
http://lifehacker.com/5100037/bulk-rename-utility-blasts-through-your-file-naming-tasks?skyline=trues=i

Gav

Iā€™m sorry but thatā€™s a pretty lame stereotype (imagine how it would sound if you replaced developer with some minority group). Why canā€™t a good developer also be a good graphic designer? Are all developers automatically inept at graphic design? Is graphic design really that hard? I donā€™t think it is. At least, not for software interfaces. It can be time consuming and may take a bit of trial and error to see what works (who better to do that than someone who has control over the UI itself?) but that would be true even if a professional graphic designer was doing it.

Iā€™ve seen interfaces designed by graphic designers. You donā€™t want that either. What you want is a developer who can design to consult with others (including graphic designers and users) to create a well-thought out and well-designed interface. In my opinion, being a good UI designer is part of being a good developer. As is the ability to write documentation or any other aspect of software development. These are not hard things to do.

I think this GUI is perfectly right for the audience it is intended for: users of wget == geeks. It is not posing to be a getright or similiar tool alternative so just stop whinging :wink:

Wow. Just one bad UI and you fold up every single developer in it. How mature.

A good developer will give the GUI the same treatment as they give their code. Well commented, good refactoring, no smells. If the wget GUI looks like this, Iā€™d hate to see the source.

I think a site needs to be created where you can submit a User Interface for a ā€œWorst GUI desing of 200xā€. Youā€™re example is pretty horrific but also pretty funny. Iā€™d like to see some other examples people have run across along the way. Iā€™ve seen some great ones, especially by Microsoft Access ā€œDevelopersā€.

I donā€™t wanna know the code that controls ā€œThe Dialogā€,

Some of the comments in here scare me. No wonder there are so many awful UIs out there.

Jeff, you remember the ā€œfile copy routineā€ mock interview that you linked to a while back? The one everybody thought was so clever? Well, picture Windows Explorer asking a user all those questions every time they ctrl+dragged a file.

As for it being an extension of a command-line tool, I ask a simple question: Does the command-line tool require every single one of those options to be specified? If so, itā€™s not a very good command-line tool at all. If not, hide the options which the command-line tool doesnā€™t require.

Sometimes itā€™s more than just bad UI design. Sometimes programmers are simply not able or not willing to do the hard work of making compromises, so instead they just shift the burden onto the user. Itā€™s one thing (and many would argue, a bad thing) to provide choices; itā€™s quite another when those choices ARE the program!

Come on, you canā€™t go and blame this on the author being a ā€œdeveloper.ā€ Do you really think the code behind the UI is any clearer than the UI itself?

And donā€™t pretend that a crappy designer can show up and make a great UI (or even a good one) out of this. Crap is crap, no matter what your job function is.

disclaimer: I am not a developer or a designer