At this point, you may know what your users want out of your application. You may know which idiom or interface type to use, such as a graphic editor, a form, web-like hypertext, or a media player—or an idea of how to combine several of them. If you’re really on the ball, you’ve written down some typical scenarios that describe how people might use high-level elements of the application to accomplish their goals. You have a clear idea of what value this application adds to people’s lives.
You could start making sketches of the interface. Many visual thinkers do that at this stage. If you’re the kind of person who likes to think visually, and needs to play with sketches while working out the broad strokes of the design, go for it.
But if you’re not a visual thinker by nature (and sometimes even if you are), then hold off on the interface sketches. They might lock your thinking into the first visual designs you manage to put on paper. You need to stay flexible and creative for a little while, until you work out the overall organization of the application.
High-level organization is a wickedly difficult topic. It helps to think about it from several angles, so this introduction takes two aspects that I’ve found useful and discusses them in some depth.
The first, “Dividing Stuff Up,” encourages you to try separating the content of the application entirely from its physical presentation. Rather ...