This Is What Happens When You Let Developers Create UI

Deep down inside every software developer, there's a budding graphic designer waiting to get out. And if you let that happen, you're in trouble. Or at least your users will be, anyway:


This is a companion discussion topic for the original blog entry at: http://www.codinghorror.com/blog/2006/11/this-is-what-happens-when-you-let-developers-create-ui.html

Wow.

The homepage for wgetgui says: ā€œThe easy to use Graphical User Interface (GUI)ā€

I think perhaps they are unaware of the meaning of the word ā€œeasyā€.

=)

If youā€™ve got UI problems, I feel bad for you son.
Iā€™ve got 99 problems, but design ainā€™t one.

Unbelievable!

Jeff, you have a habit of using the word ā€œdeveloperā€ wayyyy to loosely. Just because it compiles and has an event, does not necessarily qualify the person.

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

At what point does a person become a developer? I donā€™t know. Maybe when it is almost as good as a shrink wrap product? Who knows anymore?

Another example - the GUI for putty. While having a Windows ssh2 client is very handy, the UI sucks big time.

You assume that these UIā€™s were actually ā€œdesigned.ā€

If the developer of something like that spent as little time designing his software as he did his GUI, the product would have never made it out the door.

The problem is that UIā€™s are mocked up for testing purposes and then deprioritized until there is no time left for them. Designing an easy to use UI takes exactly the same process as designing the rest of the system - talk to the users, do some research, build, test, and repeat. A developer or a graphic artist/designer will do just as well there.

Now, if you want it to be PRETTY as well as functionalā€¦ yeah, get yourself to an artist.

I speak as a programmer who used to design UIā€™s a bit - I as a developer was the first person on the project who suggested we might as the people who would be most likely to use the software how they expected things to work :stuck_out_tongue:

I found this out while developing my first commercial application. I always wondered ā€œman, how do professional software developers include so many options for customization so quickly?ā€ And then I found out, in a rather horrid way. My first win forms application (that was meant to pull binary files from a database) had 18 textboxes in it and six buttons. Needless to say, the lesson was learned after I showed it to my boss and he told me to go ā€œthink about what youā€™ve done.ā€

Also, that Jay-Z line has had me laughing for the past five minutes.

I think UIs are extremely difficult to ā€œcodeā€. When was the last time you created a web page or a UI and then got someone elseā€™s feedback? ā€œShouldnā€™t that line be a little biggerā€, ā€œWhat about a different shade of blueā€. It came become extremely frustrating trying to code the UI and maintain it as people keep changing their minds.

And even if the best UI design for an application was to have 2000 elements on 1 page, you know that is going to cause performance issues and you have compromise from time to time.

We all have ID10T users out there, if you can build it so they can use it without screwing something up then go back and work on that UI a bit more.

So based on that screenshot, youā€™re saying that it is a good thing to let developers design GUIs, right? Because that is total hotness!

What I find most amusing is that there is a ā€˜Pro Modeā€™ button on that dialog!

Iā€™m amazed at all the comments defending this from ā€˜wget usersā€™. Iā€™m a wget user and this interface sucks. Itā€™s no better than wget --help, just a list of options in GUI form.

The functionality should be split up in tabs or somethingā€¦ the main url bar and some other things like ā€˜continue downloadā€™ in the main tab, spidering in another tab, cookies/http headers in another tabā€¦ etc.

This will allow both a novice user and an expert to use the tool, and help you to find the options you need fairly quickly.

Nobody wants to look at that POS every time they download a file.

Seriously: Thatā€™s sad. Iā€™m developing for a number of companies and even though Iā€™ve never had any UI classes common sense is enough to get you through it on top. When in doubt, look at some software that many claim to have a ā€œgoodā€ GUI (iTunes for myself) and determine what makes it so ā€œgoodā€. It boils down to simplicity, cleanliness, and power features embedded in easy to get to places that arenā€™t on the surface.

ā€˜leave the graphic design to the experts.ā€™

itā€™s probably more interaction design than graphic design thatā€™s at stake hereā€¦ Iā€™d hazard to suggest that a lot of graphic designers would probably make quite a hash of it too.

An interaction designer should be able to understand what the user is trying to achieve and then design an interface to best enable those objectives. Then a graphic designer can make it look beautiful :slight_smile:

at least it is better, than 15 dialog boxes hided somewhere.

I really think the title should be changed to ā€œIf youā€™ve got UI problems, I feel bad for you son.ā€

Thatā€™s remind me the bad joke of the Properties dialog of the Novel Client. Take a look on it:

http://www.novell.com/coolsolutions/img/15773-2.gif

Actually thats the best wget gui Iā€™ve ever seen. After much experience with wget from the command line, its nice to see such a full featured and simple to use GUI. I think you have a classic case of VB (now ā€˜.netā€™) form over function syndrome.

Cheers.

Graphic designers should never be allowed near inputs that have to be read or otherwise identified. They have a hideous habit of use bunches of pretty colours. This makes it impossible for some of us to identify the details. This also makes captchas a massive pain (yours, I actually like).

I like it. Iā€™ve kind-of avoided wget because I couldnā€™t be bothered learning all the command line options (and I use a Unix command line in my job most days a week). Iā€™m going to download this.

OK, I guess some people wonā€™t cope with a GUI like this. But then some people canā€™t program, or learn by reading a manual. Me, I like it.