As Tantek and I were working the other night at Maxfields, we came up with an an analogy for descibing the microformats principles.
Just to review, here are the principles we use for developing microformats:
- solve a specific problem
- start as simple as possible
- design for humans first, machines second
- reuse building blocks from widely adopted standards
- modularity / embeddability
- enable and encourage decentralized and distributed development, content, services
We noticed that the principles tend to follow the Three R’s of Environmentalism: Reduce, Reuse, Recycle.
Here’s a possible breakdown we came up with:
-
Reduce
- solve a specific problem
- start as simple as possible
-
Reuse
- design for humans first, machines second
- reuse building blocks from widely adopted standards
-
Recycle
- modularity / embeddability
- enable and encourage decentralized and distributed development, content, services
When reducing, we try to attack a specific problem, make it as simple as possible and simplify the format until it seems too simple.
When reusing, we try to model solutions on existing human behaviors and reuse existing widely deploy standards, names and approaches.
When we’re recycling, we try to salvage portions of other standards and make use of implicit schemas (ie, patterns which have yet to be formalized).
So, it seems that Microformats are really a conservation movement- conserving time, effort, and intellectual capital.