I use the term information architecture a lot but have found that its meaning is often unclear. The reason I chose that word is simply that I haven’t found or coined a better one yet. To try to describe what I want it to mean, I started by listing close synonyms and related words:
- Conceptual Structure
- Object Model
In the physical world, most objects are distinguished by physical independence. A pencil, a desk, and a chair are self-contained objects — we can use them and talk about them independently from each other. They also relate to each other — a desk is a helpful aid for using a pencil. But we are not confused about the identity of the pieces (pencil and desk). In other words, the “object model” is concretely in front of us.
We create an analogous world in our minds that consists of concepts and theories. Here, our determination of independent pieces is far more subjective. For example, writing and drawing are usually considered separate concepts, but is calligraphy a form of writing, or is it drawing? Or both? Or is it something else entirely? We are free to create whatever concepts are useful to us as we interact with the world and think about what is happening.
When I say information architecture, I’m referring to an instance of this conceptual world. What are the definitions of each component part, and how do they fit together?
In software design, the component parts are things we call “features”, “pages”, “commands”, etc. The designer’s choices about the definitions of these components are as subjective as the concepts in our minds — but they must be understandable by millions of people who use the software! Though most people rarely talk about it or think about it, the information architecture influences everything about the way we learn and interact with a tool.
And just as we can create new concepts like “democracy” with far-reaching effects, we can create new software concepts like “windows”, “hyperlinks”, and “text messages” which transform the way technologies are used.