This Is What Happens When You Let Developers Create UI

Programmers are intelligent.

Programmers designed the UI.

Therefore, what we have here is an example of Intelligent Design.

“If you let your developers create your UI, hilarity ensues”

That’s way overreaching. There’s a lot of UI literature theory out there that is meant specifically for developers. It is and will always be part of developing anything, be it a full blown GUI or just command line syntax. Developers can make a crappy UI just like they can make a crappy program, but a few examples doesn’t prove they /all/ do a crappy job of it. Bad design is bad design.

The example really doesn’t fit bad design either, as people have already mentioned. In some respects, he didn’t design the interface, the people who wrote wget did; he’s just trying to represent that interface graphically. Can it be improved? That’s like asking if one more bug can be found and/or fixed in the application.

Murray: Thanks for your expert commentary on Mr. Atwood’s blog.

You might have missed it, but I’d say an example of his work is this web site. Hate it or love it Atwood’s on top, and he’s gonna shine, homie, until his heart stops.

In case some don’t realize - that wasn’t developed by the wget maintainers, rather another individual.


I went through last week redesigning the CSS for my blog from a packaged theme to something custom. And I went through the much expected horrified user/reader feedback on my initial design decisions.

One of my “gets paid for being a graphic designer” friends gave me the advice that he usually improves a design by “taking away” rather than “adding”. Which is completely contrary to my “but this would be a cool feature to add” programmer mindset.

Thanks. I didn’t know this program existed. It looks really useful. I’m going to download it now.

Hey, that looks really useful. Do you think we can persuade him to do one for curl too?

I agree with Matt V; the GUI is quite good for someone who knows wget.

One thing I believe a lot of people miss here is to think about for whom the GUI is for, namely persons who know wget but do not remember all command line options. Normally when using a command line tool you end up having to look in the manual (which is only text for those who do not know). You then browse through it for words that you think would be mentioned in context with your problem (say, “output”, because you want to override the default output file). This takes time and can sometimes be like searching on google for something odd (or too usual to).

The application actually works as an interactive manual where, while the user is “reading” the manual also can try the functions. I looked at the webpage for the command and it said that all options also have tooltips which further adds to the manual idea.

The intent with this GUI is clearly to visualise the manual and make it easier to understand and I think, in that context, that the GUI is excellent.

However, if the GUI was designed for non-programmers/command line lovers et al, the GUI sucks big time.

I’m a developer and yes, sometimes my GUIs look like the one above. Shame on me :wink:

Yes, the command line interface is no good model for a GUI. The typical man page for such tools has 120 options, sorted alphabetically. Perhaps 20 or 30 are relevant for more than three users in the history of mankind. If you are really lucky they have some usage examples at the end, but don’t count on it.

wget is far from the worst of the lot. It has examples. They even tried to group the arguments into different categories, and it may look like they have tried to sort them for relevance - it’s not alphabetical, anyway, so I suppose that’s what they have tried. And the info file is actually nice.

Given the command line options for wget, that UI could be much, much worse:
wget --help | grep “–” | wc -l

I only count about 20-30 of the 102 possible options - room for improvement!

Users ask for this crap–and much, much worse-- all the time. I’ve had users ask for the state abbreviations in an address to be 30 point BOLD ORANGE font, BLINKING, just so they could see it without looking for it. I refused. The SVP of the division demanded we make the change. We did. Guess what? Errors users made due to state-specific issues went to virtually nil. Made me think, hmm, maybe we developers and graphic artists don’t know what the hell the users need after all.

And yes, I made all sorts of offers to automate whatever it was the users needed to do based on state, as well as numerous other suggestions to make the state abbr. more visible without making it 30 point orange and blinking, all were refused. :slight_smile:

Hmm while there are some pretty hairy things in that dialog, I have to say that a big dialog with loads of controls on it is prolly the best type of design for a wget gui. The only real alternative is to just make it tabbed, or arrange it so that the controls are grouped in some manner.

hold on kids, we hit the digg front page

aaron g:

wget doesn’t require any command line options at all, but does have default values for many of them. This shows those default values. Why hide them?

What is with this phobia over being offered choices? Just ignore the ones you don’t need to use.

Aaron G:

You may want to consider that the criteria you would judge a command line tool on are not the same as people that live and breathe #.

wget requires no command line options - only a URL.It also doesn’t do anything you couldn’t do with firefox and a few million years to spare - it exists because the most usable choice is not always the best choice.

This GUI is fine for a wget check list and “compiler”. It’s not going to enable grandma to terrorize the web, but she would be better off with one of the lightweight firefox plugins anyway. As is, it would probably enable many wget users to get their options right more quickly than just using the command line version.

I don’t see any problem with it. Looks very usable.

“”…At what point does a person become a developer?.."

Hey i became a developer when i produced “Hello World!”

iWhat is with this phobia over being offered choices? Just ignore the ones you don’t need to use./i

Putting too many options in one place is overwhelming. It’s perfectly reasonable to segment them out, so I don’t need to spend 10 minutes poring over a needlessly cluttered dialog finding the two controls I need.