13 ms·
Tent v0.1
- JoachimSchipper 14y agoFrom the docs: "Tent is a protocol for decentralized social networking." I'm not sure why this is interesting? It's neither the first nor the last such protocol, can someone enlighten me?
- vyrotek 14y agoPerhaps the past discussions on this will help. http://news.ycombinator.com/item?id=4418904 http://news.ycombinator.com/item?id=4418904
- MatthewPhillips 14y agoI'm not aware of any other such protocols, can you name a few?
- wmf 14y agoOStatus, BuddyCloud, Appleseed, Diaspora, etc. http://en.wikipedia.org/wiki/Distributed_social_network http://en.wikipedia.org/wiki/Distributed_social_network Tent really really needs some justification docs.
- deleted 14y ago[deleted]
- Zash 14y agoOStatus, used by StatusNet, the software behind identi.ca. It even has Twitter compatible API, so why Twitter devs aren't flocking to it is a mystery. There are also a few projects using XMPP, like BuddyCloud, Jappix, Movim, OneSocialWeb etc.
- MatthewPhillips 14y agoBecause it's not a protocol, it's just a spec. If you want to develop developer interest, give them something to work on. The web was so successful because it provided developers with very specific things that they could work on. Browsers focused on HTML, web servers focused on HTTP. I find that all of the open social initiatives are either too broad or too specific. OStatus is entirely too broad, from their FAQ: > First, rather than being a stand-alone spec it builds upon several existing (and evolving) open web standards including: PubSubHubbub, Webfinger, ActivityStreams and Salmon. So if I'm a developer I can't just learn OStatus, I have to learn 4 other specs as well. Diaspora has the opposite problem, it's too specific. Their recommendation for contributions is to fork their rails app. Developers don't want to fork working apps and fix bugs; they want to write their own from scratch.
- kalms 14y ago"So if I'm a developer I can't just learn OStatus, I have to learn 4 other specs as well. Diaspora has the opposite problem, it's too specific. Their recommendation for contributions is to fork their rails app. Developers don't want to fork working apps and fix bugs; they want to write their own from scratch." Spot on.
- MMN-o 14y agoOStatus is just about as short as it can be on its own. "The 4 other specs" _together_ aren't much longer than what is necessary _anyway_ for implementing the necessary aspects of a federated social network. And as all of the protocols necessary already exist and are quite well-established, there are already parsing tools available for anyone to use freely. So development is really easy to get into when it comes to OStatus. Using something that already exists is in this case much better than reinventing the wheel and rediscovering all implementation issues that have already been taken care of with protocols like XMPP or OStatus.
- streptomycin 14y agoTwitter devs aren't flocking to it because its userbase is quite small. It's hard to make a profit off a small userbase.
- Zash 14y agoAnd why is the user base small? Hint: Circular dependency ;)
- streptomycin 14y agoIf that's what you think, then it's no wonder you consider the situation to be a mystery.
- Zash 14y agoThe user base is small because the user base is small.
- napillo 14y agohttp://en.wikipedia.org/wiki/Finger_protocol http://en.wikipedia.org/wiki/Finger_protocol
- beberlei 14y agoThis buzzed right around the time app.net was funded one month ago, http://news.ycombinator.com/item?id=4418904 http://news.ycombinator.com/item?id=4418904
- SEJeff 14y agoSounds like someone is trying to reinvent the unhosted[1] protocols. Unhosted is used in relatively popular apps like owncloud[2]. [1] http://www.unhosted.org http://www.unhosted.org [2] http://www.owncloud.org http://www.owncloud.org
- driverdan 14y agoTent is nothing like unhosted. Unhosted is about running apps entirely in your browser.
- x0ff 14y agoyou should check out http://secushare.org/ http://secushare.org/
- michaelmior 14y agoI found it interesting that this announcement said nothing about what Tent actually is. Without reading other pages on the site, all I could tell was that Tent involves "protocol, apps, and servers" in some way.
- zobzu 14y agoYeah id have linked tent.io as well. clicked there and it's explained after a few buzzwords.
- ghayes 14y agoI find the copy on the website to be rather vague or off-topic. From the homepage: Tent is open, decentralized, and built for the future. Tent changes everything. Tent allows every user to run their own server, but like email and the web, most users will use a hosting service to handle it. and the blog: The documentation for Tent version 0.1 is now available along with a reference server, tentd. From halfway down the homepage: What is Tent? Tent is a protocol for open, decentralized social networking. I understand that the creators are busy building the product, but some marketing can really help create an excited community. Is this project like Diaspora? How is this different from the competition. I'm excited to hear how this is unique and to see where the project goes.
- streptomycin 14y agoThe "Lifecycle of a post" section on the homepage is a pretty straightforward description of how it works. But I would also be interested in comparisons not only to Diaspora, but also to Statusnet.
- jeremyjh 14y agoThere is little to compare. Tent is a protocol. Applications need to be built to use it. Diaspora is an application with an unspecced, intertwined federation protocol.
- streptomycin 14y agoAnd Statusnet? And other distributed federated social networking protocols?
- riffic 14y agostatusnet is software, not a protocol. the protocol is ostatus.
- kordless 14y agoSo you're saying they need to pitch Tent?
- siculars 14y agoI hope these guys are able to get some traction. Distributed social networks that can replace twitter and facebook are the only way forward.
- mibbitier 14y agoI'm not so sure they are the way forward. They're clearly the way forward if you dislike being "locked-in". But is being locked-in always a bad thing? Nope. We could easily have a distributed web search engine to replace google. It could run on everyones machine, and it'd be awesome. But what would be the advantage? Also before twitter/facebook, we had email - a distributed social network. How is the "new" distributed social network going to be better than email?
- streptomycin 14y agoSearch engines and social networks are very different things. Build a better Google, and people will gradually switch. That's how Google got started. Build a better Facebook, and nobody cares because their friends aren't signed up.
- xxbondsxx 14y agoDoesn't the same thing apply to Facebook when it started? Myspace, Friendster, and all other competitors had a ton more users and strong network effects back in 2004. Facebook offered a better experience though, and so users were willing to switch despite network effects (and even maintain multiple accounts for a period of time)
- streptomycin 14y agoNot even remotely comparable. The vast majority of current Facebook users had no social networking accounts before they signed up for Facebook. Now, Facebook is entrenched. That's not to say it was easy to make Facebook succeed, or that it would be impossible to make a service outcompete Facebook now. But it was certainly far easier to unseat the king back then than it is now.
- kveykva 14y agoSaw the link header bit and was instantly reminded of Riak - is that what the servers are running? Makes sense I suppose..
- modarts 14y ago"Developers: It's time to start writing apps for Tent and adding Tent support to existing projects based on the current specification. " It's time for you to show me why I should invest my time in writing apps for your platform/protocol.
- bratsche 14y agoIf they have any use for a command-line utility to manage the server, it should be named 'pitch'.
- forgotusername 14y agoOr, you know, 'tent'.
- calvin 14y agoWhat problem is this solving? I know users of social media who are unhappy with what they're using. But I've never heard my mom or any other Facebook user for that matter say: "You know what I want? A decentralized social network where I can own my content!" For this to get traction, it'll need at least one server with a strong user base.
- wmf 14y agoPretty much everyone who's been banned from Facebook or G+ wants this, although they may not realize it.
- adrusi 14y agowhy one server? the whole point is that you can communicate seamlessly with people on other servers.
- modarts 14y ago"For this to get traction, it'll need at least one server with a strong user base." Sooooo...Facebook basically.
- pbhjpbhj 14y agoIt's about portability isn't it. Removes lock in. You can shop for a host for your social data but retain the data [in part] under your control. You get some leverage. It's commoditisation of social network as a service.
- antonpug 14y agoThis has the potential to replace Facebook. And it might do just that with a couple of endorsements.
- Jonovono 14y agoI don't know how you got that Tent is a competitor for Facebook. Tent goal is to be used by Facebook, Twitter, or any other social site so that they basically have an API to access the users data, so the users can have full control and ownership of the data.
- duiker101 14y agoNo, it hasn't that potential.
- whalesalad 14y agoDecentralizing things like this is never ever going to work. In terms of running it... my mom/sister/dad/cousin are not going to host this themselves. They might depend on me to do it, but even I'm not going to run a decentralized social network myself. There's too much liability involved. Not to mention, it's a pain in the ass. I want to hack and work on my own ideas. That's why I trust my mail hosting to Google. Sure, they read all my emails and analyze me for marketing. That's a small price to pay though. I get a rad web client, Apple Mail + iPhone support, and never need to worry about my email server. Anyone remember qmailrocks.org? I used to sit for hours messing with and playing with qMail back in the day. I've done it. I've hosteed mail servers for friends and family. What a pain in the fucking ass! Same for hosting. I love configuring infrastructure. I taught myself HAProxy, load balancing, nginx, and clustering years ago when people were still using mod_python. I built a FreeBSD box for fun with old parts an an old SSD the other weekend. I have quite a few linodes running right now. But it's also a pain in the ass. Because of that, I also enjoy pushing my personal site to Heroku and not worrying about it ever again. git push, boom done. A lot of people take things like Facebook for granted. We all bitch and moan about all kinds of issues it has or features it lacks, but it's a gargantuous network that virtually everyone that I know or care to talk to is on it. My family and friends back home in LA where I grew up, my new friends in Sweden that I met while abroad recently. It's got a handy mobile app (that was luckily redeveloped recently) and best of all it's 100% free. This decentralized stuff is nonsense. There's too many layers of crap. Even if there was a one-click-deploy social network for people where all they needed to do was rent a server somewhere... someone is still running that server and you need to worry about them snooping your data or whatever else the neckbeards are worried about. Remember Diaspora? Hah.
- EvanAnderson 14y agoISPs hosted email servers for individuals for years. I don't know why hosting a social networking server for Customers would be any different. I don't know enough about the tent.io API to decide how I feel about it, but I think that history with SMTP, NNTP, etc, shows that decentralized protocols with servers hosted by a diversity of third-parties (instead of a single Facebook, Google+, etc) can work.
- joshaidan 14y agoTentd seems to be based on Ruby and Rack. Since it's based on Rack, I'm assuming then that it operates over HTTP. Which leads me to my current frustration... Why does everything have to be built on top of HTTP? Sure, I know you're going to say, because it works, and works well that's why. But think about it. The reason why we have all these centralized services in large part is because of HTTP. HTTP has made it really easy for someone to build a centralized service, or application, like Facebook or Twitter. Before the days of HTTP, if I wanted to build a service, I probably would invent a protocol like Telnet, Gopher, SMTP, IRC etc., which is often naturally decentralized, instead of programming a web application. Perhaps if we want more decentralized services, we should focus on frameworks that make it easier to construct TCP/UDP based protocols. Just a thought.
- MatthewPhillips 14y ago> Why does everything have to be built on top of HTTP? Port 80 is already open.
- wmf 14y agoAll ports should be open between servers. (Edit: Ports should be open if you want. I'm not saying you should run without a firewall, but on a server the firewall is under your control, not your ISP's.) A few of the DiSo protocols were based on XMPP instead of HTTP.
- tptacek 14y agoThat's not true either. The best practices for running services on EC2, for instance, don't leave anything but port 80 open by default. That's a good thing, because if the best practices were anything else, people would routinely lose their databases to people guessing "admin/mysql" over the Internet.
- MatthewPhillips 14y agoMaybe your servers, not mine.
- 14y ago
- EvanAnderson 14y agoI don't see how the tent protocol has any hope of scaling to large numbers of users / servers. The notification traffic for anyone with a significant number of "followers" is going to be significant. I think the view that the tent spec authors are taking is a bit too simplistic if this protocol is intended to be Twitter or Facebook-scale.
- wmf 14y agoComputers and the Internet are pretty fast now. I suspect the real difference will not be performance but cost: if you have a million followers you will have to bear the cost of sending out the notifications (as it should be IMO).
- driverdan 14y agoI agree. The problem is this moves from pull to push. Instead of hosting a status update on a server and allowing others to pull from you, which can utilize lots of caching and other optimizations, you're forced to push data to all of your followers on every single update. This adds significantly more overhead. Since the protocol is new it doesn't include any specs for handling push errors. If I push a new status and one of my followers' servers is down what do I do? Do I retry later? Do I continue to try pushing future updates? At what point do I stop trying to send updates to their missing/broken server? If my server goes down how do I handle missed updates? Do I need to query everyone I follow? Can I fetch statues since the last one I received like Twitter? The docs say "There are a number of parameters available to limit the scope of the request" for GET /posts but don't specify the parameters. Error handing is crucial for a decentralized network like this, especially one that pushes to other servers.
- ilaksh 14y agoThe mainstream internet is headed for content-centric networking. http://en.wikipedia.org/wiki/Content-centric_networking http://en.wikipedia.org/wiki/Content-centric_networking http://www.youtube.com/watch?v=oCZMoY3q2uM&feature=gv http://www.youtube.com/watch?v=oCZMoY3q2uM&feature=gv That is what all of these ideas (like Tent) are moving towards (gradually). All it takes is for everyone to run a client that can do UDP and speaks a content-centric protocol. That could be an app, or built into Firefox & WebKit (the ideal route), or a browser extension. Doesn't require any servers. Actually after reading the content-centric Wikipedia article again, one related approach which isn't emphasized in that article are application-level distribution systems built on top of things like UDP and Kademlia (and its successors). The fundamental way that data layer is organized intersects with the way social information is distributed.
- haukur 14y agoIs their documentation page made with Sphinx? If so, does anybody know that theme? It looks really nice.
- darkhorn 14y agoIt is http://twitter.github.com/bootstrap/ http://twitter.github.com/bootstrap/ You can see it in source code.
- danielweber 14y agoIf you hit the #1 spot on HN, you are going to get a bunch of traffic from people you never got traffic from before. I recommend putting a link to the tent.io homepage that says "new to Tent? Click here!"
- zapt02 14y agoThis sounds a lot lie XMPP; Why not just extend that instead?
- nsm 14y agobuddycloud is the one sane federated social network that is piggybacking on a protocol that has proven itself for over a decade. And I'm really expecting things from them now that they got incubator funding through Mozilla WebFWD. I think the fundamental reason HN/Proggit and co. reject XMPP is because it's XML. Which is a ridiculous reason. Real-time streams over encrypted TCP seems to be the right way to go over forcing a protocol not meant for constant communication (HTTP) to do so.
- ericmoritz 14y agoTent should take a page from Jabber and create gateways which will post for you on other social networks much like Jabber had for non-Jabber IM services. That way you could have a backup of all your social data, stored on your server if you wanted but broadcasted to the other servers.
- driverdan 14y agoHow do we handle errors? (I posted this as a reply to someone else but it deserves its own comment.) The docs don't include any specs for handling push errors. If I push a new status and one of my followers' servers is down what do I do? Do I retry later? Do I continue to try pushing future updates? At what point do I stop trying to send updates to their missing/broken server? If my server goes down how do I handle missed updates? Do I need to query everyone I follow? Can I fetch statues since the last one I received like Twitter? The docs say "There are a number of parameters available to limit the scope of the request" for GET /posts but don't specify what the parameters are. Error handing is crucial for a decentralized network like this, especially one that pushes to other servers. Without a method for handling servers that go down and other errors it will absolutely not work.
- siculars 14y agoThese guys might just want to wrap something like pubsubhubbub[0]. take a look at superfeedr[1]. [0] http://pubsubhubbub.googlecode.com/svn/trunk/pubsubhubbub-core-0.3.html http://pubsubhubbub.googlecode.com/svn/trunk/pubsubhubbub-co... [1]http://superfeedr.com/documentation http://superfeedr.com/documentation
- bionsuba 14y agoThat website needs a major redesign. I can tell you that most people spend three seconds on a web page before they decide to move on or not, and there is no way a generic bootstrap website is going to grab anyone's attention in that three seconds.
- mhartl 14y agoI suggest that, whenever you make a post like this, you indicate WTF the software does, like this: We're pleased to announce version 0.1 of Tent, <insert description of WTF Tent is>. The description should preferably indicate not just what it does at a low level, but why you'd want to use it. In this context, the description on the documentation page, "Tent is a social layer over HTTP using JSON.", doesn't motivate Tent's existence particularly well. Something like this would be more instructive: Tent <why Tent exists> by adding a social layer to HTTP.
- sedachv 14y agoIMO the Tent design is going to become obsolete with the arrival of WebRTC. With WebRTC, there is not going to be any reason to have servers running, as long as some of your friends are online. You can do everything by using public key cryptography and store-and-forward. You can authenticate with SRP/zero-knowledge password proofs. You don't need to have your private key with you, you can recover it from a quorum of your friends. Combine this with a public status/"who's online" server - could be any XMPP/web gateway for example - for bootstrapping the initial connection, and you can log in from any library/internet cafe computer. You can use broadcast encryption to address the privacy concerns of store-and-forward designs. I wrote a series of blog posts about how such a system would work: http://carcaddar.blogspot.ca/search/label/ClearSky http://carcaddar.blogspot.ca/search/label/ClearSky
- eranation 14y agoI feel so behind when reading comments like this, so behind that this could have been a sarcastic parody and I wouldn't even notice. Is there anyone who understood this comment fully? is this something any developer should know? I'm fighting the urge to Google every term (or read the blog) but I'll probably won't understand much of it. Can anyone translate this to plain English?
- sedachv 14y agoUnderstanding what modern cryptography techniques can do is worthwhile for every developer, because it enables entirely different kinds of system architectures. A good example is the Tahoe-LAFS distributed filesystem: https://tahoe-lafs.org/trac/tahoe-lafs/wiki/FAQ https://tahoe-lafs.org/trac/tahoe-lafs/wiki/FAQ I included links to definitions and further information about all the terms used in that series of blog posts. I'm definitely not an expert on cryptography but I'll be happy to try to answer any questions.
- wmf 14y agoP2P (especially the cypherpunk wet dream that you're talking about) is at least 10x more complex than S2S architectures like Tent, which themselves are more complex than client-server aka Web 2.0. Also, server hosting has known business models while cypherpunks don't.
- jasongullickson 14y agoYou lost me at "changes everything".
- ljd 14y agoDecentralizing would be an easier sell on a mass scale as a hardware solution. I can't imagine asking my parents to implement open source routing software but they bought a wireless router on their own. Maybe Tent should think about a strategic partnership with a raspberry pi or another one of the many great cheap computing solution available today. Write some basic stuff into it, and sell the device as a plug into your router and go social network device.
- guelo 14y agoHas anyone put up a public server yet?
- a235 14y agoThis protocol seems to miss a secure routing of messages inside of its network, insead offering point-to-point interaction. However, this will be required in order to build indeed a decentralised social network. Something that was developed in Tonika project: http://pdos.csail.mit.edu/~petar/5ttt.org/ http://pdos.csail.mit.edu/~petar/5ttt.org/
- haroldp 14y ago"Protocol" "Reference Implementation" "API" These are the highly encouraging words I keep seeing from Tent that I never saw from Diaspora.
- eavc 14y agoThis seems like a pretty clear example of HN comments being full of flat criticism and naysaying with very little in the way of helpful feedback.
- akavel 14y agoAre there any protections against spam? (unsolicited notifications) Are there any authorization & authentication measures? (so you know a notification is really from whom it claims to be) I see mention of HMAC in the overview, (how) does it solve those problems? I know basics of TLS, RSA - how is it related? I'd be grateful for hints. Also, I remember some alternative mentioned in old threads about Diaspora, which was reportedly devised by some security guys (?) and tried to have good security model - do you know the name of this project? Some GNU one?