TiddlyWeb was originally created as a reference server-side for TiddlyWiki. This means that its primary job is the storage and provision of tiddlers for use by TiddlyWiki.
The main contribution TiddlyWeb brought to the existing collection of TiddlyWiki server sides was a strong commitment to making the tiddler a first class entity in the system. Everything else in the design comes out of that:
- Each tiddler has its own URI.
- Different tiddlers with the same name are differentiated by being stored in bags.
- Complex collections of tiddlers in bags are assembled using recipes.
- Tiddlers can be selected, sorted and limited using filters.
The upshot of this architecture is that any single tiddler can be reused in multiple different contexts or applications without duplication.
On top of that small number of entities, TiddlyWeb provides a robust web service architecture supporting complex authentication and authorization scenarios, multiple storage engines and multiple output formats. All of which can be extended with plugins.