Sure. There are many technical flaws, but to me, the worst part is how Tent is very opinionated about removing content. The developers deliberately made it difficult. In version 0.2, their changelog[1] casually mentioned a new feature:

> Profile Versioning - Profiles are versioned like posts. Previous versions can be fetched directly or if no version is specified the most recent version is returned.

What this means is if you have a real name or email on your profile, but then edit it out because you are getting stalked, surprise! The info is still there. Anyone who can see your current profile can also see every old version with everything you removed. Tent.io exposed their users by making it impossible to purge revealing info from your profile, unlike every other social networking service I can think of. When I raised concerns, the developers insisted that their users would be to blame for any consequences and basically said if you don't want something available in perpetuity, you shouldn't have put it online in the first place.

Imagine the howls if Facebook gave everyone access to the full versioned history of your profile with no way to turn it off. When we write social software, we are the professionals and we have a responsibility to give users sensible defaults and understandable tools to manage what they disclose. Violating expectations, then blaming the users for not understanding the protocol as well as we do, is unacceptable to me.

But the Tent developers don't see it that way. They're heavily inspired by an old vaporware project called Project Xanadu, which dates to the 1960s, when computers were owned by institutions, not people. Xanadu's rules of operation[2] notably make no allowance for private content. The utopian vision for Tent seems to involve this half-century-old concept, which has no relevance to the real problems people face in their social lives today, basically replacing much of the web. With OAuth2 authentication and notions of private posts haphazardly tacked on. It just doesn't seem realistic. It seems like the Tent.io folks are more interested in hewing to this ideal concept in their minds rather than looking around and solving problems people actually have.

Tent is a cool toy though. Some of the issues you might face playing with it:

There's a lack of robustness. Servers get out of sync (B believes it is following A, but A doesn't list B as a follower), and it's hard to get them back in sync. Message delivery is supposed to be retried if your server is down, but it doesn't seem to work. Discovery is slow, so app developers cache heavily, which defeats the point of discovery in the first place (moving the underlying Tent server, which should be seamless, causes problems). Authentication patterns are complex and ad-hoc depending on the relationship (or lack thereof) between two servers, something the developers plan to fix when they "add crypto" to a later version of the protocol. The server code is messy and sparsely commented. The spec is vague and omits error conditions.

I'm not sure what the next step is for me. I'd like to learn from what Tent does right (fully decentralized, app-agnostic, protocol first) as well as its mistakes. One idea I'm tossing around is building an Instagram-like social network with a Dropbox backend, as a proof of concept — see how far I can get with an unbundled storage service that's already mature.

[1]: https://tent.io/blog/tent-v02

[2]: https://en.wikipedia.org/wiki/Project_Xanadu#Original_17_rul...