← home

Approach

If we think about our digital lives, an substantial amount of the material fits the description of posts associated with times. These could be blog posts, journal entries, chat messages, photos, videos, audio recordings—prose, media, and structured data.

We can then imagine viewing these streams either on their own, or in combination; interleaved in time, or side by side.

How do we do that in a way that might achieve the lofty goals in the manifesto?

Let's think about some of the goals.


We want something simple. It should be both easy to understand, and relatively easy to implement.

We want to invent as little as possible. We already have well understood, well adopted, and well supported tools that can do nearly all of what we need.

We want to minimize assumptions around use. By defining the absolute minimum needed to achieve the core functionality, we can develop patterns that work in a variety of contexts, including those beyond our current imagination.


The Time Streams protocol uses HTTP, three HTTP headers, and one optional query string parameter. There are no new formats, data types, or custom schemas. It can be implemented as an enhancement on top of a standard HTTP server.

The Time Streams Day Archive Format is a way of storing timestamped resources on disk.

Fetching a single post is a regular HTTP call. The javascript client for fetching multiple posts in a stream is tiny.

This site is running on a server that supports Time Streams. The examples you see are live Time Stream responses.

The Time Stream response →