Info Triples can be used when creating micro apps as a way to define data structures and as a way to tag data.
Info Triples can make up an Info Graph, which can be seen as both a graph-like data structure and a methodology.
Using this methodology we can embed cross client user settings into notes and we can even introduce new feature standards without the somewhat tedious process of writing NIPs for everything.
This can in turn help keeping the NIP base smaller and therefore easier to oversee, while client builders can collaborate on making micro protocols for smaller cross-client agreements.
As an example, object one could be a Nostr Note ID and the second object could be a hash representing the concept of being a food recipe, meaning that a relationship between these two objects would effectively tag the Nostr message as being a food recipe.
To make it as simple as possible for client and relay builders to parse the data, the standard Nostr tag fields can be used for embedding the data into Nostr notes.
This means that Info Triple/Info Table does not make changes to the existing Nostr note JSON structure.
Since this NIP require zero changes to the current Nostr note JSON structure and hence no change to existing client and relay software it is fair to call the NIP fully optional.
When creating micro protocols is should be considered that micro protocols can overlap with existing NIPs.
In those cases it's most often best to implement the existing NIPs for better compatibility with the rest of the Nostr network.
The micro protocols shines when we want to standardize a feature that may be too insignificant to get its own NIP.
For example, it could be that a client app wants to allow its users to create their own like-button.
Such feature is extra useful if other clients also implements it and in such way that the like-button created in one client, can be used seamlessly in another client.
Where one could argue that such feature is so useful that it could acquire its own NIP, congestion occurs, when other client developers start invent their own similar features, which then in turn also ought to have a NIP per feature.
Alternatively it may be that our example like-button standard does not get its own NIP simply because the Nostr community deems it not general or widely used enough. Still there may be a client builder somewhere out there who would like to know about it.
Finally once our users start making their own like-buttons they may want to share those buttons to collaborate with other users on categorizing Nostr notes.
It could be that a user make a button for tagging a note as being a food recipe. Sharing such button would be a good idea, but making a NIP for that particular button would be complete over-kill.
With Info Triples independent, optional, smaller standards can be made and shared.
More info on Info Triples can be found at https://www.infotriple.org