Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm starting a gaming project on the side of my normal school/work projects and I'm wondering if I should start planning out the user interface before starting an actual project in code.

I see some pros/cons to doing both first and was wondering what advice some seasoned developers could suggest.

share|improve this question
up vote 5 down vote accepted

If you're going with a test-first kind of approach, then start by planning the UI and what you want from the game, and then go through the cycle of test-implement-refactor-update_design-test.

In general, though, I look at the two processes as parallel, and interacting. Design the UI without paying attention to the technology, early on, and work on the code in parallel, also early on. The UI design will help shape your target, your "user stories" and inspire your coding. Your coding, on the other hand, will impose limits on what you can hope to accomplish reasonably, based on the complexity of the program and your skills/abilities. Take turns thinking of each independently, and then take time to integrate your ideas and discuss them with others.

share|improve this answer

I believe it was at his Dev Days talk a couple of years ago, but Joel Spolsky once pointed out that the best designs come from when the UI is something which has been considered from the beginning.

He then showed a browser which had been "skinned" (something which was supposed to have a generic interface which was supposed to be easy to update and customize), it looked nice enough. Then he contrasted it with Chrome and made the point that the majority of the features simply could not have been possible had UI been ignored until later in the game.

share|improve this answer

At the end of the day, your UI drives the requirements for your application and your code provides solutions for them.

So yes, I would absolutely plan out my UI prior to coding. I'd also write up a technical design once the UI design has been completed prior to coding, but that's another discussion altogether ;)

Try pencil for UI design. It makes me happy inside.

share|improve this answer
If only Pencil was available for Mac lol. – OghmaOsiris Sep 18 '11 at 7:24

Your Answer


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.