Ask Slashdot: Best Way To Implement Wave Protocol Self Hosted?
First time accepted submitter zeigerpuppy writes "It's time to revisit Wave, or is it? I have been looking to implement a Wave installation on my server for private group collaboration. However, all evolutions of Wave seem to be closed-source or experiencing minimal development. I was excited about Kune, but its development looks stalled and despite Rizzoma claiming to be Open-Source, their code is nowhere to be found! Wave-in-a-box looks dead. So Slashdotters, do any of you have a working self-hosted Wave implementation?"
It's the perfect geek social network
No one uses it
I remember Wave being one of those beta services Google killed off and people make fun off, but that's all I knew.
So I followed the link to Wikipedia, and it's a horrible stub that doesn't even define, let alone explain.
So some geek is trying to find someone else's implementation of an abandoned Internet protocol to build on top of?
But there's no explanation anywhere about why anybody would want to use this.
Don't think on it as a worldwide, new social network, but for deploying it as a collaboration/documentation platform inside a company. In that area could be pretty useful.
"Oh no, they used one really bad verbose text based encoding, rather than another really bad verbose text based encoding that I happen to like because it's cool these days, both of which have decoding support in the browser. This is clearly what will stop it from ever working properly"
due to low numbers of people working on the project.. but here's an idea.. GET INVOLVED. https://incubator.apache.org/wave/get-involved.html
For me it was never trying to be a social network. Wave was a great blend between chat, email, and forums which was phenomenal for collaboration on projects.
Unfortunately I never used it beyond that. It was way too bulky as a replacement for random chat, never had the features to properly replace forums, and we're pretty much stuck with email now so no point in trying to replace that.
Just to solve some of the unknowns of the thread:
1) between servers, Wave federation uses XMPP with some mumbo-jumbo/magic messages and as such it can be hosted (and interconnected) in a mesh, so yes it is medium independent.
2) between server and client Wave uses HTTP with websocket.
3) Wave is not a moving target as the protocol is no longer developed at high pace, if at all. The "Wave in a box" platform is still being incubated by Apache (waiting to get stable an attract developers).
4) I personally participated to the beta and I liked it.The potential to couple cooperative editing with the replay feature is huge on a lot of use-cases. It just gave you too many tools editing and little automated housekeeping so it ended a lot messier than e-mail conversations. Also, Google version of Wave was awful as a workflow. Rizzoma looks way better.
uhm...
Pardon me, but if you look closer, in that github there isn't any Rizzoma server, just some gadgets.
There are no updates on Rizzoma core since early this year (I think January) and they didn't choose a license for it.
I saw that they are still working on some gadgets, and their server performs quite well, but that is a sign that developer involvement decreased once they reached a stable base.
uhm...
Most of the complaints I hear about XML are really complaints about lousy software architecture. Yes, XML is complex, but that should cause *zero* hassle on the front end. If it is causing hassle throughout your project, you're doing something wrong architecturally.
The desire to flex your muscles in a hot technology often overwhelms good design sense. Thus ten years ago you'd see people parsing and doing XML DOM tree manipulation directly in UI code and crap like that. Doing the same with JSON would be just as bad design, although since JSON's feature set is much smaller the results are less immediately catastrophic. But they're still bad design.
If your objection to XML is that it spreads complexity throughout your code, you're just a mediocre coder. Choosing XML or JSON should be a very minor implementation detail.
Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
I'm not saying that it makes no difference. I'm saying it's an implementation detail, which is a far cry from saying the choice never matters. If you can't grasp the distinction between a choice mattering and it needing to be localized in a design, you'll never be a competent software designer.
If a system is somehow irretrievably ruined by choosing XML over JSON, then bad programming must be at least equally to blame because if you don't need any XML features that JSON doesn't have, the switch should be easy.
Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
With 3 servers for a full proper installation, according to Microsoft
Here's what happened in excruciating detail:
1) Google Releases Wave, claims it will be open source. Promises/Tells a Fibonacci.
2) Google doesn't release Wave as open source for various reasons eg: protocol buffers toolchain underneath deemed too valuable. (Please don't argue this, the protocol buffers stuff that's been released is only a tiny part of the story.)
3) Google builds a terrible open source replacement pretty much from scratch. It BARELY works for one commit nearly 3 years after they claim Wave will be open sourced. It never has been. Entire affair is swept under carpet.
I know because I had an ehealth startup that died partially as a result of this. In the end, after we realized we had been hoodwinked (this post excludes private conversations we had with Google) we wrote a Wave-like thing around part of our technology in record time and it surprisingly turned out really well, but unfortunately it was too late, and company died. That was sad. Startups are fragile things.
Anyhow, try sharejs it's written by a former Wave team member and it's better. You can easily wrap gwt around that if you need to. Or, I'm highly skeptical but you can try JBoss Errai, they have written an OT framework into their weird everything framework. OT is a pretty complicated bit of code, and they just stuck it in a directory errai-otec like it was any other feature (eg. a Base64 encoder). I would rate the chance their OT impl has major issues as very high. I don't really understand corporate open source like this, so I'd love to see an Errai person explain the project. I'm guessing the thesis is somehow based around upselling a service of some sort.
tl;dr You want this.
Support A Free Internet