I presented a prototype piece of software to the "customer" of a product I've been working on. The program's requirements were extremely vague because the customer had doubts as to what can be accomplished through software (he normally deals with hardware and parts).
The customer was very impressed with the functionality of the program and really the biggest desire was to have a more user friendly GUI -- whatever that is supposed to mean. This lead me to think exactly what makes for a user-friendly GUI.
I feel like its a hard question to answer as someone who writes a program due to the fact I know all the inner workings of the GUI. I know getting some friends/coworkers/etc to play around with it for a little bit and getting feedback is a great way to test the intuitiveness of a GUI, but that doesn't mean its a user-friendly, it just means the user can eventually 'figure it out'.
I don't want this question to be specific to my project, I just wanted to let you know where I'm coming from. What do you think makes for a user-friendly GUI?