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
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.
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
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
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:
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.
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.