6 ms·
Diaspora ported to use buddycloud channels and XMPP
- orangeman 16y agoawesome!
- bobds 16y agoThe announcement on the mailing list has some more narrative: http://groups.google.com/group/buddycloud-dev/browse_thread/thread/ee4fae4a143e38ea http://groups.google.com/group/buddycloud-dev/browse_thread/...
- Fahrertuer 16y agoIt still appears to be very buggy. Many non responsive scripts
- imaginator 16y agoThis is happening because it's having to pull down all channel posts instead of storing some of them locally. Not so ideal. A better approach will be to have backbone.js throw them into a local store.
- Fahrertuer 16y agoIt's mandatory I think. It's currently unusable on my netbook and less technically adept people tend to get scared from messages of non resonsive scripts, fearing the page is trying to download and install malicious code
- Fahrertuer 16y agoAnd trying to log in with Opera doesn't work at all
- zeemonkee 16y ago> Be gentle — it's a work in progress and running on a very small machine. I'd be surprised if they had anything more than an experimental install right now.
- treffer 16y agokeep in mind that this is still early code. pretty much like diaspora. But it's awesome that you start with your xmpp friendlist right away!
- moeffju 16y agoThis needs some frontend polishing for the script timeouts and stuff, but using XMPP for federation is definitely the right way IMO. Or, at the very least, much better than just making up protocols on the way, as Diaspora did. Federation and message routing have been solved…
- axod 16y agoFWIW, I think XMPP solves problems in a completely horrible way. It's ridiculously over engineered, verbose, needlessly complex, overly extensible to the point of absurdity. It totally makes sense to create a concise, specific protocol to solve a specific problem when appropriate. Learn from the hundreds of mistakes that were made in the 90s and early 2000s when all this X* came out.
- dminor 16y agoActually the core of XMPP is fairly small - an XMPP server need not implement every extension ever conceived of. Given that it's widely deployed, solves the presence and federation, and is implemented in a wide variety of languages, I think the GP is right. The only real nit that I see is with mobile devices - XMPP isn't great for low power low bandwidth situations.
- imaginator 16y agoHolding a socket open on a mobile costs nothing. Sending data through that open socket will quickly jump the phone into DCH state (http://xmpp.org/extensions/xep-0286.html#sect-id115219 http://xmpp.org/extensions/xep-0286.html#sect-id115219). Polling is worse. Google keep the chat client open but have an option to hold back all but the most important packets on the server side and then batch send them after a set period of time. This is something along the lines of http://xmpp.org/extensions/xep-0273.html http://xmpp.org/extensions/xep-0273.html The current nokia version of buddycloud (http://mobile.buddycloud.com http://mobile.buddycloud.com) will run continuously for for about 18 hours. The android version with batch sending of packets even longer. And if you worry about XMPP's verbosity, just add the DEFLATE option to your TLS socket. That drops the size down to about 10% of the original.
- axod 16y agoXMPP seems like a very bad choice unless you need it for interoperability with other systems.
- ohyes 16y agoI'm ignorant to what XMPP is (aside from it being an XML-based messaging protocol). Could you enlighten me as to why this is a terrible idea? To someone like me of minimal intelligence and experience, it seems to be a reasonable (and kind of clever) choice. Thanks in advance.
- deleted 16y ago[deleted]
- rtreffer 16y agoUnless you need 1. Chat 2. Friendlist (prefilled with your friends) 3. Realtime communication 4. Federation 5. Social (activity streams) Diaspora fails on 1+2+3 and does a poor job on 4. XMPP needs implementations for 5 (spec and demo implementations exist).
- pepijndevos 16y agoGood for BuddyCloud, but doesn't OneSocialWeb have an XMPP protocol already? Is BuddyCloud the same thing?
- imaginator 16y agoJust like OneSocialWeb, buddycloud started out using XMPP's built in event stream. We found that this quickly ran out of steam for scaling and was too constrained to build a really good social system. So we pivoted and the new channel servers that are being built are all independent from particular XMPP server implementations. The channel approach runs as a separate server instead of trying to build everything into existing XMPP servers. Decoupling the channel server release cycle (almost daily) from the longer release cycle of XMPP servers speeds development.
- captainbenis 16y agosorry guys i did that build last week and im sitting on the beach atm. Ill fix up the rendering timeouts when im back incountry.