incubator-wave-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Joseph Gentle <>
Subject Re: Future of Apache wave [Was: Re: Advantages of P2P messaging?]
Date Tue, 11 Jun 2013 21:07:36 GMT
Good question.

Personally, I'd like to fix federation so its simpler, more reliable
and easier to deploy. And if we move to a proper P2P OT system, we can
get some neat new properties out of our system while we're at it.

I also think wave in a box should allow federation of multiple
different OT types. At the very least, having an OT-aware JSON
primitive type would be a huge win. We wanted that when wave was still
being developed so gadgets could store state - but instead of making
JSON a primitive type, we dodgy hacked it on top of wave's OT model.

Having a JSON primitive type would let other applications be built on
top of wave's infrastructure. It suggests a really nice architectural
separation, where we have a federated OT system which understands
users and shared data. Then on top of that, applications can exist
(like wave, photoshop or an IDE) which stores & edits a user's data
using this collaborative data layer, letting us collaborate on
anything, with anyone, between all our devices.

I think I'm still hanging out for my 'glorious messaging bus in the sky' :)


On Tue, Jun 11, 2013 at 1:28 PM, Michael MacFadden
<> wrote:
> Dave,
> I guess the question I would ask before going down this road isÅ  what is
> the problem that you are currently seeing in WIAB that you would
> attributed to either the OT Algorithm and/or its implementation?
> What problem are we trying to solve through option 1/2?
> ~Michael
> On 6/11/13 9:25 PM, "Dave" <> wrote:
>>Cool.  Thanks Michael.
>>I guess the reason I'm keen to understand the pros/cons is because it
>>looks as though we're heading to a point where the wave community needs
>>to figure out the direction for Apache wave and the wiab codebase
>>(within appropriate [DISCUSS] and [VOTE] threads of course). Probably as
>>part of the larger conversation that John Blossom started.
>>I'm beginning to think we're talking about two discrete directions:
>>1) The wave OT or protocol are broken & not fit for purpose. We should
>>implement different OT and / or protocol which is (likely) incompatible
>>with the existing implementations. Potentially this could involve
>>junking the current wiab codebase, and implementing a new wave like
>>platform (potentially on top of existing non-wiab code).
>>2) Wave OT and protocol are good-enough for our immediate / mid-term
>>desires, but the wiab implementations could be stronger. We want to
>>focus on expanding the ecosystem - enabling different clients,
>>simplifying federation, tidying the codebase. I.e. convert what we've
>>got into a useful product.
>>With enough resource, maybe we could aim for Apache wave to take both
>>directions - expand the ecosystem now and work on long-term incompatible
>>changes, but given the lack of an existing install base this might not
>>be an ideal choice.
>>Until recently, I assumed we were just heading for #2, but there's
>>clearly some desire for #1, and some known weaknesses in Wave's current
>>Certainly OT state-of-the-art has moved on significantly since the wave
>>implementation, but should wave be on the bleeding edge of OT? Or are
>>our developers and community more focused on a slick (and feature rich)
>>implementation of the core technology google demo'd a few years back?
>>I've got lots of questions and very few answers, but hopefully we're
>>getting more clarity on what we want/expect from this community.
>>On 11/06/13 19:41, Michael MacFadden wrote:
>>> In a sense yes.  In a P2P model there is no single canonical wave.  All
>>> the federated servers would have a copy of the wave.  Any server that
>>> drops out simply drops out.  The isolated server could still server up
>>> wave to its clients if it were still connected.  Then when it comes
>>> it would rejoin the other federating servers.
>>> There are some intricacies here, but that is the main idea.
>>> ~M
>>> On 6/11/13 7:37 PM, "Dave" <> wrote:
>>>> On 11/06/13 18:48, Michael MacFadden wrote:
>>>>> I have drafted up some ideas on a hybrid system.
>>>>> Actually I have seen two approaches.  One uses a natively P2P
>>>>> which then elects super nodes to act as "servers" in highly connected
>>>>> clusters.
>>>> Interesting - so this effectively would allow re-hosting of a wave if
>>>> the original host goes off line?
>>>> The underlying OT supports P2P style merging, and there are the
>>>> efficiency advantages of having OneTrueHost for a given wave, but if
>>>> that host goes offline the wave can be re-hosted elsewhere.
>>>> Dave

View raw message