(Home)

What is Tent and Why Does It Matter?

August 16, 2013

Intro

Tent is a communications protocol for data management. It’s important because the way we do web services today is horribly broken. Tent provides a realistic chance to make something better.

The Problem

What’s wrong with today’s web services? Traditional webapps bundle multiple things together:

User <--> Webapp (Interface, Data, Friends list)

This actually works great . . . for one webapp. The webapp provides or stores everything the user needs and everyone’s happy. Now let’s see how it works for multiple services:

User <--> GitHub   (Interface, Data, Friends list)
User <--> Twitter  (Interface, Data, Friends list)
User <--> LinkedIn (Interface, Data, Friends list)
User <--> Google+  (Interface, Data, Friends list)

Frankly, the only possible response to this is “gross”. Talk about data duplication. Really, the idea that a country would adopt this system for its national communications on purpose seems unrealistic. 1989: Fall of the Berlin wall and Tim Berners-Lee invents the web. Are we sure Dead Hand wasn’t activated?[1] Let’s see if we can do better.

The Solution

Each Tent user has a Tent server which acts as his or her data store. The Tent protocol allows apps to talk to these servers.

      ⤢ Tent App (Interface) ⤡
User ←→ Tent App (Interface) ←→ Tent Server (Data, Friends list)
      ⤡ Tent App (Interface) ⤢

Apps provide a nice interface for interacting with data. That’s it. Want to use two apps with the same data at the same time? No problem. Want to leave an app? Just remove its permissions. You don’t even have to export your data.

What Makes Tent Great?

So Tent apps are a real improvement over traditional webapps.[2] That’s good. What makes Tent great?

The other part of the Tent protocol allows servers to talk to each other. Tent users can self-host or use a hosting service. Users can switch servers at any time.

But what makes Tent great?

Say a programmer wants to make a website about the coffee scene in the Triangle. Like anything involving humans it would have a social component. Reviews by friends would be featured more prominently, etc.

And now we hit the joke. A social network for coffee drinkers? Lame.

But why? It’s not a lame idea because it wouldn’t be useful. It’s a lame idea because it wouldn’t work. Say I like the site and sign up. Anything my friends have written about coffee shops is sitting on Google or Yelp’s servers. My friends want me to see it, I want to see it, but I can’t.

Not unless I use those services. Since when is the internet about middlemen?

When my friends use Tent their writing is their property. It stays on their Tent servers like the rest of their data. If they choose to share that data, whether with a small group or the world, that’s their right.

When this happens the internet will be programmatic again. The successful tech company and the teenage hacker in the garage will compete on the same footing: full access to user data – that the user wants them to see.[3] Tent is the ultimate destroyer of network effects.

TLDR

As email is a protocol for private messaging Tent is a protocol for data management. Tent matters because (almost) everyone is better off if users own their data.

Footnotes

[1] In all seriousness the web is fine for its intended purpose: displaying public documents. For more on this see Phil Rhodes’ HN comment.

[2] This article doesn’t discuss mobile apps, but they share the same problems as traditional webapps. Their data, interfaces, and social networks are just as tightly coupled.

[3] When Tent (or something like it) does catch on, things are going to get bloody. A lot of people will find that what they thought were 9-figure companies are nothing but 6-figure widgets and network effects. Tent is dangerous seed technology.

Fork me on GitHub