views:

4829

answers:

7

There are a ton of lists out there of interview questions to test the candidate's programming aptitude. But my company is very UI-focused, and everyone is expected to be able to both code and design a decent UI. So once I've seen that the candidate can implement recursive Fibonacci and tell me its orders of growth in time and space, I want to make sure that they can design an interface that won't make the user run screaming from our app.

What questions do you ask to test a candidate's interface design/data visualization skills?


I'm especially interested in open-ended design questions that let you see the candidate's thought process as they go about designing an interface. A Monopoly Question for UI design, if you will. For example, this is the question I use:

In Harry Potter, The Marauder's Map is a magical map of Hogwarts Castle that also shows the real-time positions of everyone in the castle. How would you design a UI that would let you see not only everyone's current positions, but their positions over the last 24 hours?

This results in a lot of interesting discussion as the candidate thinks about the pros and cons of various representations. Do you use paths? Timelines? How do you represent someone sitting in the same place for an hour? How many histories can/should you see at once?

I watch for people getting hung up on little details, using UI components incorrectly, or just lack of design sense. With the good candidates, I see them drawing parallels to similar, well-known interfaces, thinking deeply about the tradeoffs of their design choices, and asking good requirements questions (e.g. "How many people live in Hogwarts?").

+1  A: 

Ask them to mock up a design that helps a user accomplish some goal.

Hank Gay
A: 

You could ask them to:

Sketch a a user interface or data visualisation for a particular task
Choose a widget for part of a UI
Knock together a UI in a GUI editor

macleojw
+2  A: 

If it is really important, I would ask them to submit a portfolio of the work they have done. If you are really looking for a UI person, they will have something to show what they can do.

Kevin
+2  A: 

Give them a few designs ranging in quality and ask them to comment on them. Highlight the good, the bad, what they'd change, how they rate them, and for every one of those questions why.

annakata
+3  A: 

Ask them to explain Fitts' Law. It's a fairly fundamental concept. If they haven't heard of it, explain it to them and ask why they think it is important.

Ask them what the advantage a menubar has over a toolbar, and visa versa.

Ask them to explain when they think you should use a confirmation dialog and when you shouldn't.

Assuming they have famiarity with both Mac and non-Mac systems, ask them to explain ways in which the Mac's menubar across the top of the screen is superior to other solutions, and ways in which it is not.

Those questions show me that they've actually thought about user interface design, rather than just applied some rules they read out of a style guide.

Bryan Oakley
menubar vs toolbar is probably the least-important aspect of a good user interface; how about tailoring the screens and flow to minimize the effort required by the user instead? ;-)
Steven A. Lowe
I disagree. Far too many developers throw everything on the toolbar, or choose to leave important things off a menubar. Menubars serve the purpose of discoverability which is a concept I would expect a good developer to know.
Bryan Oakley
While I agree one should tailor the screens to minimize the effort of the user, this question is "what is a good interview question", not "what do you think of when designing a good interface". In an interview one wants to discover what fundamental knowledge the candidate has or lacks.
Bryan Oakley
+3  A: 

CAVEAT: data visualization and user interface design are often related but separate concepts. Personally, as an interactive visualization guy, I think you need skills in both areas but, if you aren't communicating the important points of your data set (i.e., effective visualization techniques), it doesn't matter what user interface components you use.

That said, while the portfolio is useful, I would approach this as something like a storyboarding exercise. Stand the interview candidate at the whiteboard and start posing questions that I'd like them to answer in words and pictures. These aren't necessarily questions you know the answer to ahead of time. It's the thinking and conversation process that is most interesting to me.

Example (from my real life): imagine that we have a several dimensional field of scalar values. How do I help the user find the interesting features in the data?

Q: What defines interesting? A: You don't know. What are some things that you could illustrate?

Q: Could we show values using colors? A: Sure. What are you going to do when you have a user who's color blind?

Q: Well, we could show values in text. Should we switch back and forth? A: Why not show both?

And so forth. At the end of this exercise, we ended up with an interactive slicer-and-dicer of the data that allowed you to click anywhere in any of the slices, see the values in the text window, other slices and the 3D representation, isocontours, isosurfaces, the whole shmeer, all interactive, all the time.

Bob Cross
I think the comment about UI design and data visualization being separate concepts is a good one.
Bryan Oakley
Thanks - they are distinct but often related. Example: you can very effectively visualize certain kinds of data with static images. Check out Tufte's work for examples: http://en.wikipedia.org/wiki/Edward_Tufte
Bob Cross
A: 

You may ask for the basic design guidelines. For instance: Cancel button should be to the left or to the right of the Accept button?

Or checking some usability concepts from Microsoft (First one gives you a list):

Romias