15. An AppView is a materialized view
An app indexes the stream into its own database, the AppView, computing counts, feeds and search; two apps can build two views; new apps index records that predate them; write to the PDS, read from the AppView.

15. An AppView is a materialized view

An app indexes the stream into its own database, the AppView, computing counts, feeds and search; two apps can build two views; new apps index records that predate them; write to the PDS, read from the AppView.

It is why there is a global view without a central database.

An app does not query hosts one by one. It drinks from the stream and builds its own index. That index is the AppView: a cached query over the stream.

Like counts. Follower counts. Search. Timelines. All computed from public records, by the app, for the app.

Two apps can build two views of the same network. It is called a view because it is just one way of looking.

A new app can index records that existed before it did. The data was never locked to the first app that read it.

So the loop is: write to your host, it flows through the stream, the view indexes it, the app reads the view.

For developers. Since relays became non-archival, a new app that wants records older than the relay's backfill window fetches them from each account's PDS (or from a mirror such as Hubble), not from the relay. Tap automates that.

Check yourself. Why is it called a view?

Do you like what you are reading? Subscribe to receive updates.

Unsubscribe anytime

Attributes
name
15. An AppView is a materialized view
summary
An app indexes the stream into its own database, the AppView, computing counts, feeds and search; two apps can build two views; new apps index records that predate them; write to the PDS, read from the AppView.