Daniel Smith
5 min readDec 20, 2017

ThereThenThat
Mapping Web Addresses to Location, Time, and Tags
December 20, 2017
Copyright 2003–2017, by Daniel Smith. All Rights Reserved
javajoint@gmail.com, @javajoint

Introduction

ThereThenThat is about:

  • creating collections that express a given time, place, and/or collection of tags
  • making it easy to add media and links into those collections
  • making it easy to tag items, for navigation
  • making it easy to pass around links to collections

It is a user-driven organizing and search tool. It is a bit like Imgur, a Wiki, or a Blog. It doesn’t care about SEO. It’s more grassroots. Since anyone can grab the code, it is decentralized. Run your own ThereThenThat.

The ideas are to give it just enough structure to make organizing effective, make it easy to add and find things, and to do it in a way that can extend out to mobile, AR, and VR.

This article is just a fresh update, pointing at other things that give a lot more information.

The Repository

ThereThenThat is on my Github account:

I am doing a series of Alpha Releases, all with coffee-related code names.

Addresses

A ThereThenThat address is a link that points to a collection. It is a consistent way to express a search of time, location, and tags.

The idea is to make these very simple to use, pass around, and create/update.

Consider:
https://ttt.example.net/37.76825,-122.49333,30/2017–08-12/concert,outdoor

as a way of expressing the concept of “a concert in Golden Gate park, on Aug 12, 2017”. When you get to that results page, you’ll see a collection of photos, audio, video, and links that relate to that time, place, and idea…

What does this look like?

Creating a collection

A collection can be thought of as a container that you use to gather media and links…

default create/search fields

As you click on the different fields, you can input Location, Time, and Tags:

autocomplete an address, or pick from a map…
pick a time and date
add some space-separated tags

So, let’s say I want a collection that deals with the Ferry Building in San Francisco, for today…

I will let it autocomplete:

I’ll pick noon..

and I’ll throw in a few tags for the collection, and hit “Create”:

On my local dev machine, it takes me to a new link:

http://localhost:8080/37.7954882,-122.39359960000002,0/2017-12-20/sf,market,ferrybuilding/_

The thing to note about the link is that it becomes an easy thing to pass around, so that others can get to the collection…

A new collection starts out empty:

You can add links or media to it right away. We can drag in a link:

So that gives us:

and we can drag in a local image from the desktop:

We can also tag individual items:

and can edit / delete (toggle the pencil icon to save):

Clicking on a tag takes you a “Tag View” mode, where you can see matching items from any collection.

A little more information…

… and some history:

When I originally came up with the idea in 2003, I was just thinking about Location and Time. In some ways, that is conceptually simpler: it just refers to a definite event at a certain time and place. It leaves out everything else though. Tags to the rescue.

When I decided to add the idea of Tags, I called it ThereThenTag. I changed it to ThereThenThat, because “That” has more of universal meaning than “Tag”.

Summary

ThereThenTag addresses are a universally consistent way of referencing a web resource, by domain, space, time, and tags.

Standardization is very important. Tools to exploit the idea cannot succeed if there are incompatible variations. The key thing is to put space, time, and tag information into a URL, and keep it simple. — It should be an open standard, so that anyone can build tools to exploit it.

As far as I can tell, nobody has done this in a way that balances some structure, crowdsourcing, having it distributed, and having an open standard.

Thanks for reading this through, and let me know of any feedback.

[publishing now, Dec 20, but may add more to this]

Daniel Smith

codes/writes, LAMP / MEVN / MERN, loves film, music, and bantering - I am available for projects — javajoint [at the domain of] gmail [which is a dot] com