Forgot your password?
Social Networks Cloud Google Open Source Privacy

Ask Slashdot: Best Way To Implement Wave Protocol Self Hosted? 112

Posted by timothy
from the foam-cutters-fiberglass-and-dustmasks dept.
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?"
This discussion has been archived. No new comments can be posted.

Ask Slashdot: Best Way To Implement Wave Protocol Self Hosted?

Comments Filter:
  • by Anonymous Coward on Sunday December 29, 2013 @02:21PM (#45812653)

    due to low numbers of people working on the project.. but here's an idea.. GET INVOLVED. []

  • Re:Why Wave? (Score:5, Informative)

    by mitzampt (2002856) on Sunday December 29, 2013 @02:37PM (#45812747)
    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.
  • Really? (Score:1, Informative)

    by Desler (1608317) on Sunday December 29, 2013 @02:39PM (#45812765)

    and despite Rizzoma claiming to be Open-Source, their code is nowhere to be found!

    Funny, I found it in 5 seconds here [] after simply doing a search for "Rizzoma source code".

  • Re:Really? (Score:5, Informative)

    by mitzampt (2002856) on Sunday December 29, 2013 @03:08PM (#45812859)
    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.
  • The Wave Story (Score:4, Informative)

    by digitaltraveller (167469) on Sunday December 29, 2013 @04:58PM (#45813463) Homepage

    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 []

  • by Anubis IV (1279820) on Sunday December 29, 2013 @05:31PM (#45813627)

    Your frustration in understanding what Wave is mirrors that of most people who tried to understand what Wave was at the time it was around. As someone who participated in one or two waves but never got that deep into it, let me see if I can explain it from my limited recollection.

    Basically, it was like e-mail meets something like version control. Kinda. You'd start a "wave" just like you might start an e-mail, by adding recipients, a subject, and a message. And they'd all receive it just like they would an e-mail. But from there, things could fork (I can't remember what the actual term was, so I'm using "fork" since we should all understand what I mean by that) and you could get more waves forming from the first one. A common example people gave was running a D&D campaign as a wave. The main wave would be the campaign itself, but then you might fork whenever a question came up that you wanted to address with the DM privately, by forking off from a particular point and only inviting him to that wave. And you might run a parallel wave that was the table talk for the game that everyone participated in. They'd all still be tied back to the original wave, but it organized them in such a way that you could jump between them relatively easily and keep track of everything.

    Again, that's all based on my limited recollection, so I'm likely off on some of that, but I'm sure someone else can correct any mistakes I made.

    TL;DR: it was one of those things you just had to use, since it made no sense and had no appeal at all on paper, but in actual use, it seemed like the sort of thing that actually could serve people fairly well, assuming they ever figured out how to explain it in a way that made sense...which never happened.

  • by mdmkolbe (944892) on Monday December 30, 2013 @03:55AM (#45816555)

    Wave was marketed as a successor to e-mail, but (1) that just confused everyone (because what does "successor to e-mail" even mean) and (2) in my experience that was not a good way to view it.

    A simpler way to view Wave was as a federated form of Google Docs with added support for threaded conversations in the style of e-mail threads or chat logs.

    If we want to break it down, Wave is/was a federated, personal, realtime, wysiwyg wiki with strong support for threaded conversations, sharing, history, and privacy and access controls. This combination of features means that wave can be used for a wide variety of communications from chat to e-mail to blogging to collaborative document writing.

    Wiki: I'm going to assume you are already familiar with the "Wiki Way". Basically a "wave" document is a wiki page that you create and can freely edit.

    Threaded: While wave allowed multiple users to edit document as holistic entities, it also supported structuring documents as a mailing-list style tree structure of threaded replies. Private side conversations not visible to the entire group were also supported.

    Realtime: Perhaps the most important feature of Wave was that your edits were instantly viewable. If you and a friend make successive edits, it can be used as a chat system. (Wave had support to make this easy and so each additional edit could be appended at the end.)

    Personal: The wiki documents that you create exist in their own private namespace (e.g. just like documents on different webservers) and usually (always?) are just internal identifiers not intended for to directly manipulate. This avoids the problem that standard wikis have of dealing with contention for document names.

    Sharing: You could send a "wave" document to another user and have it appear in their inbox. You could also invite others to participate in an existing wave. Your inbox would also be notified when a wave that you were watching was updated (e.g. like how you receive a reply to an e-mail).

    Privacy: Wave documents are by default not publicly visible and have sophisticated and easy to use access controls.

    WYSIWYG: User's edit their documents as they would in any modern word processor or e-mail client without having to know about any sort of wiki syntax.

    History: Like any good wiki, wave supported viewing older versions of a document.

    Federated: I can run a wave server and you can run a wave server and both of them can interoperate. This is similar to how different companies can run different e-mail servers and unlike private communication systems like Facebook messaging. For people who want to maintain a free internet, this is an important feature. However, unlike e-mail, the authoritative copy of the document stays on the creators host. Though there is support for caching, I never clearly understood where wave fell on the problem of hosts lying and trying to rewrite history.

    In the end, Wave was a good product that was marketed poorly (the marketing explanations left people not knowing what it was). The efforts to make it federated required the creation of a public spec which also probably slowed down development.

    I think Wave was an awesome idea and others should build on its concepts, but shouldn't tie themselves to how those ideas were implemented in wave. In particular, the rise of Facebook may have changed what people expect from their communication platforms so some of Wave's ideas may need to be updated to encompas that. (I don't use Facebook so I don't know what those changes would be.) But if the next social platform were to support Wave-like ideas, then it could be very nicely positioned as a Facebook-killer as it could represent a next-generation advance in social platforms.

The superior man understands what is right; the inferior man understands what will sell. -- Confucius