October 07, 2019
A way to think about Information Architecture in React terms.
We all think we know what Information Architecture is — so why the question?
Wikipedia has 9 definitions for this term. Choosing the ones related to web / app design we have:
These definitions relate to keywords specific to UX design — usability, experience — yet there is a clear differentiation between IA and UX:
Let’s analyze further Information Architecture by the means of structure.
The term IA was born together with the web and evolved with mobile devices and apps.
Peter Morville, an Information Architecture icon, captures perfectly these moments:
… and concludes with a statement where — again — UX is removed:
Here we are in the business of understanding: understanding the problem and understanding how people can best solve the problem — in an interactive space.
Information Architecture now has a shape. It’s about modeling problem structure and modeling user behavior with the help of user interfaces.
Dan Klyn has a clear take on how to model structure and behavior in user interfaces: with ontology, taxonomy and choreography.
Simplified to this point — the tasks of an Information Architect are clear:
Finally we can put React in context with Information Architecture giving developers and UI/UX designers a bigger picture and a shared vocabulary.
Ontology, taxonomy and choreography can act as the boundary between these two different disciplines.
|------------| |------------| |--------------|
| Ontology | | Taxonomy | | Choreography | UI/UX ▲
|------------| |------------| |--------------| -----------
| Data | | Sitemap | | Events | UI/UX + Dev
|------------| |------------| |--------------| -----------
| | | Dev ▼
| | |
▼ ▼ ▼
|------------| |------------| |--------------|
| GraphQL | | Router | | State |
|------------| |------------| |--------------|
| | |
| | |
▼ ▼ ▼
|----------------------------------------------------|
| React Components |
|----------------------------------------------------|
To React with best practices. Written by @metamn.