Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I keep getting the following question in interviews; and judging from the reactions I've gotten, I'm not giving the best answer. "What methodology do you use for developing user interfaces?" Which seems like a rather broad question.

Besides dividing work between markup, stylesheets, and javascript (control logic), what are the best practices? What am I missing in this question?

Any thoughts?

share|improve this question
2  
It may help you to look at: ux.stackexchange.com –  Emmad Kareem Jan 7 '12 at 11:15
    
I'll try that thanks! –  maximus Jan 8 '12 at 17:15
add comment

5 Answers

up vote 4 down vote accepted

Its a very broad and open ended question, so there's no "right" answer. With that being said, your answer is being compared to other candidates.

Just judging on what you said, I'd probably try a different approach. Dividing markup / styles / javascript is great from a coding design standpoint. But you could write perfect code in that manner and still have a terrible UI.

Rather than divulge in a long drawn-out description of how to go about UI design, I'd recommend this book. Its not the be-all-end-all book, but it will give you some good ideas.

UI is very broad and subjective. If you think you know it all, that means you're just starting. Best of luck :)

share|improve this answer
    
This definitely helps; I just wasn't sure at all where to start. Is the question about methodology, or something UI specfic that I haven't heard of? In either event, thanks Stargazer! –  maximus Jan 7 '12 at 5:28
2  
Yeah. If you are asked a question like that again, begin by asking for clarification. What sort of UI? What is the target audience? The target platform? Get specific and then try to draw a UI on the whiteboard. Be creative--that's what they want to see :) –  Stargazer712 Jan 7 '12 at 5:29
add comment

My guess is that they are referring to things like progressive enhancement, graceful degradation, paper prototyping, storyboards, etc. It might also extend into UI testing strategies.

Mentioning those would at least give you some keywords to shape your answer around.

share|improve this answer
1  
All of these are gold nuggets. Thanks :-) –  maximus Jan 7 '12 at 5:32
add comment

They are probably expecting you to answer something like "Model View Controller (MVC)" or "Model View ViewModel (MVVM)". And I suppose that if you answer just "Document - View" it would be oh-so-nineties and oh-so-not-kosher-anymore.

share|improve this answer
add comment

This may seem silly, but ask them to break down what it is that they really mean in their broad question. More times than not (in my experience), questions like those are asked as a two phase approach:

  1. They know that this is a broad question and unlikely to be answered very well and are looking for you to clarify the question (a form of requirements gathering really)
  2. Once all the pieces of the puzzle are in place, how well do you tackle each subtopic of their original broad question?

Just my two cents :)

share|improve this answer
1  
+1 for some very sound advice. Broadly defined questions are usually defined to give the candidate enough rope... The reality is that programmers are expected to understand when it is that they don't have all of the information they need at hand, and to either know where to look, or be willing to ask questions in order to gain clarity. Personally I'd hire the person who said honestly that they didn't know or that they wanted clarity, over anyone who chose to waffle on for ages without a clue. –  S.Robins Jan 7 '12 at 9:24
add comment

It would be better to approach this question with an aesthetic angle rather than being totally technically. By aesthetic, I mean the following

  • Have a look at the company's website and compare it with the layout of an another company.
  • Research a few layout designs on the web
  • Focus on how you would present the design and would collect the data for presenting the design.
  • Always give priority to the ease of use rather than heavy-duty functionality
  • Style your answer with the above points and then stress on the methodology you would use to solve them.

The above points are in addition to the strong theoretical foundations you must be expected to answer in interviews. By methodology, I perceive the interviewers are expecting you to define an application, its layout and the ways in which you create it. Try to be holistic in your approach in answering broad questions. Point some latest improvements in browser technology that could make the UI better. You could get more specific information on the UI site.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.