Sorry, just poking in here -

A couple of years ago I worked with QuillJS's author to add OT to
quill. Its a rich text editor, which emits user events and Jason (the
author) has a module which interprets those events, builds operations
and can do OT with them. It doesn't support rich embedding of
components yet, but he's working on that now.

React's Draft-js might also work well.

-J

On Wed, Mar 16, 2016 at 11:18 AM, Michael MacFadden
<michael.macfad...@gmail.com> wrote:
> All,
>
> A few things on the editor.  For one.  I think ACE is a plain text editor, 
> which I have used for a bunch of things.  Has a great API for collaboration 
> integration, but it is not rich text, which is what wave is all about.  So I 
> don’t think that will work.
>
> Also, I think perhaps I should clarify the term editor.  I probably used in 
> inappropriately.
>
> There are two parts to be concerned with.  The first is collaborative 
> rendering.  If you are just looking at a blip, you can still see it change in 
> real time.  So this would be collaborative rendering.  Then when you are 
> actively editing a blip, you need a collaborative editor.  Both are important.
>
> The main performance issue comes in two places.  First I may have a 
> conversation model that contains hundreds of blips.  Some sort of lazy 
> loading strategy here is probably required and smart attaching and detaching 
> of listeners.  If you have hundreds of blips all rendered at once and all 
> having to have listeners attached to them because any one of them can change 
> at any time you can run into rendering performance issues.  Secondarily, if 
> you do have lots of people editing lots of blips, much of that will not be 
> “on screen” for a given user, and you don’t want to be processing all of 
> those events and messing with the DOM if you don’t need to.  So there are 
> performance and complexity issues there.
>
> Then there is the actual editor.  Building a Rich Text Editor is not trivial 
> (still.. How can this be???).  So you have to deal with all the issues of 
> building a rich text editor.  Then on top of that you want to integrate 
> remote cursors, selections, authorship, etc. into that editor.  Most editors 
> do not have that (a few do, and some are easier than others to add that).  So 
> there is complexity here as well.
>
> If you want to use an open source editor you need one that does the kind of 
> rich text editing you want to do. It needs to either have the collaboration 
> capabilities (shared cursors, etc.) that you want, or it has to be reasonably 
> easy to implement them yourself.  And it needs to have a good enough eventing 
> API for you to hook into it to capture local changes, and to have API to 
> allow you to drive remote changes into it.
>
> The point being that, the conversation renderer and rich text editor is a 
> very non-trivial component, if the assumption is to roughly replicate what is 
> there.
>
>
> One point I definitely agree with is that the editor itself really should 
> know nothing about OT.  It should be decoupled and just needs to have a good 
> API with good events.
>
> ~Michael
>
>
>
>
> On 3/15/16, 10:11 AM, "Pablo Ojanguren" <pablo...@gmail.com> wrote:
>
>>Talking about editors I suggest ace from mozilla,
>>https://en.wikipedia.org/wiki/Ace_%28editor%29
>>
>>BTW, as example, this is an app we are developing on with SwellRT as
>>backend:  http://staging.teem.works , -it is the staging version, you can
>>play! ;)-
>>
>>2016-03-15 17:12 GMT+01:00 Yuri Z <vega...@gmail.com>:
>>
>>> No, not really. Javascript on client side is enough - this is how it was
>>> originally implemented in microwave by antimatter.
>>>
>>> On Tue, Mar 15, 2016 at 6:08 PM Thomas Wrobel <darkfl...@gmail.com> wrote:
>>>
>>> > Ah, right. I am all for realtime, merely that I was also happy to lose
>>> > it if it meant significantly more simple implementation.
>>> >
>>> > >>"Otherwise we can use Robot
>>> > >>API - like in https://github.com/vega113/microbox";
>>> >
>>> > Not keen on RobotAPI as every time I read its use it seems to need an
>>> > extra server in the chain/
>>> > ie;
>>> >  ...<>WaveServer <> Google App Engine <> client
>>> >
>>> > It should be possible with the web today to avoid that and have
>>> > clients connect directly to the wave server no? (hopefully using the
>>> > same protocol as any desktop/mobile client).
>>> > Of course, I assume you could run host both servers on the same
>>> > hardware, but still seems unnecessary to have that extra step.
>>> >
>>> >
>>> > --
>>> > http://lostagain.nl <-- our company site.
>>> > http://fanficmaker.com <-- our, really,really, bad story generator.
>>> >
>>> >
>>> > On 15 March 2016 at 16:48, Yuri Z <vega...@gmail.com> wrote:
>>> > > Yeah, the intention is to have realtime editing. Otherwise we can use
>>> > Robot
>>> > > API - like in https://github.com/vega113/microbox
>>> > >
>>> > > On Tue, Mar 15, 2016 at 5:45 PM Thomas Wrobel <darkfl...@gmail.com>
>>> > wrote:
>>> > >
>>> > >> Does it need to be OT aware on that scale? I thought that was only
>>> > >> needed to have fully realtime blip updating rather then a "edit +
>>> > >> submit" system. (whereupon the differences could be calculated
>>> > >> separately from the editing)
>>> > >> Is the intention then to still have realtime editing ? or is this
>>> > >> needed anyway regardless?
>>> > >>
>>> > >> I admit I only know the basics of OT and am vaguely remembering a
>>> > >> conversation about realtime blip editing adding complexity to things.
>>> > >>
>>> > >> --
>>> > >> http://lostagain.nl <-- our company site.
>>> > >> http://fanficmaker.com <-- our, really,really, bad story generator.
>>> > >>
>>> > >>
>>> > >> On 15 March 2016 at 16:30, Yuri Z <vega...@gmail.com> wrote:
>>> > >> > Not really. You would need to make it OT aware. and then make it
>>> > >> efficient.
>>> > >> > Lot's of effort.
>>> > >> >
>>> > >> > On Tue, Mar 15, 2016 at 5:24 PM Thomas Wrobel <darkfl...@gmail.com>
>>> > >> wrote:
>>> > >> >
>>> > >> >> As a side, I noticed Michael MacFadden mentioned building a rich
>>> text
>>> > >> >> editor in the browser, this much at least have been done in GWT
>>> > >> >> libraries;
>>> > >> >>
>>> > >> >>
>>> > >>
>>> >
>>> http://www.gwtproject.org/javadoc/latest/com/google/gwt/user/client/ui/RichTextArea.html
>>> > >> >>
>>> > >> >> Its fairly basic, but then, I would assume to start with at least
>>> any
>>> > >> >> new wave client should stay fairly basic?
>>> > >> >> --
>>> > >> >> http://lostagain.nl <-- our company site.
>>> > >> >> http://fanficmaker.com <-- our, really,really, bad story
>>> generator.
>>> > >> >>
>>> > >> >>
>>> > >> >> On 15 March 2016 at 15:48, Yuri Z <vega...@gmail.com> wrote:
>>> > >> >> > Yeah, we need to re-use the existing editor. Patches would be
>>> > great!
>>> > >> >> >
>>> > >> >> > On Tue, Mar 15, 2016 at 4:46 PM Pablo Ojanguren <
>>> > pablo...@gmail.com>
>>> > >> >> wrote:
>>> > >> >> >
>>> > >> >> >> Hi,
>>> > >> >> >>
>>> > >> >> >> I agree with the dependency hell issue and the suggestion for
>>> > >> throwing
>>> > >> >> >> away the GWT client. This would require a new client-server API
>>> as
>>> > >> >> >> suggested, however I think a Rest API won't be enough, because
>>> > real
>>> > >> >> editing
>>> > >> >> >> needs websocket.
>>> > >> >> >>
>>> > >> >> >> I also agree with Michael, developing a new editor is a massive
>>> > >> task, so
>>> > >> >> >> we should use an existing one and plug it in the new API.
>>> > >> >> >>
>>> > >> >> >> To write again the server in other language would be great, but
>>> I
>>> > >> think
>>> > >> >> it
>>> > >> >> >> requires a huge effort.
>>> > >> >> >>
>>> > >> >> >> I will be happy to help in decoupling the server-client, I can
>>> > >> provide
>>> > >> >> the
>>> > >> >> >> experience from my fork. And I plan to send some patches to Wave
>>> > >> soon.
>>> > >> >> >>
>>> > >> >> >>
>>> > >> >> >> These are some slides about my fork (swellrt) it could give you
>>> > some
>>> > >> >> ideas:
>>> > >> >> >>
>>> > >> >> >>
>>> > >> >>
>>> > >>
>>> >
>>> https://docs.google.com/presentation/d/1WFDS_m7eyNjBjcdPs0zH496Y9bMSl0_JnSEYGjxNFn0/edit?usp=sharing
>>> > >> >> >>
>>> > >> >> >>
>>> > >> >>
>>> > >>
>>> >
>>> https://docs.google.com/presentation/d/18hMYyECo5EmQsrAb8DT6SkO7LksWVJnhdZmqeCsar4c/edit?usp=sharing
>>> > >> >> >>
>>> > >> >> >> btw, I would like to start a business providing these SwellRT
>>> > >> services.
>>> > >> >> >>
>>> > >> >> >>
>>> > >> >> >>
>>> > >> >> >> 2016-03-14 23:27 GMT+01:00 Joseph Gentle <m...@josephg.com>:
>>> > >> >> >>
>>> > >> >> >>> I've been playing with the idea of starting a company around a
>>> > >> rewrite
>>> > >> >> of
>>> > >> >> >>> wave for years.
>>> > >> >> >>>
>>> > >> >> >>> -J
>>> > >> >> >>>
>>> > >> >> >>> On Tuesday, 15 March 2016, Adam Bielski
>>> > <a_biel...@ymail.com.invalid
>>> > >> >
>>> > >> >> >>> wrote:
>>> > >> >> >>>
>>> > >> >> >>> > Hiya all!I wish I could find out who is potentially
>>> interested
>>> > in
>>> > >> >> >>> creating
>>> > >> >> >>> > the WAVE for a commercial service/productwith my seed
>>> > >> startup!Cheers!
>>> > >> >> >>> > Adam
>>> > >> >> >>> >
>>> > >> >> >>> >     20:23 poniedziałek, 2016-3-14, Zachary Yaro <
>>> > zmy...@gmail.com
>>> > >> >> >>> > <javascript:;>> napisał(a):
>>> > >> >> >>> >
>>> > >> >> >>> >
>>> > >> >> >>> >  I am inclined to agree with Yuri—if the alternative
>>> > >> implementation
>>> > >> >> can
>>> > >> >> >>> be
>>> > >> >> >>> > developed in parallel around the same protocol, that would
>>> seem
>>> > >> to be
>>> > >> >> >>> the
>>> > >> >> >>> > best scenario, but the existing codebase should be kept
>>> because
>>> > >> it is
>>> > >> >> >>> > (AFAIK) the most functional implementation of the protocol.
>>> > >> >> >>> >
>>> > >> >> >>> > Zachary Yaro
>>> > >> >> >>> > On Mar 14, 2016 15:05, "Yuri Z" <vega...@gmail.com
>>> > >> <javascript:;>>
>>> > >> >> >>> wrote:
>>> > >> >> >>> >
>>> > >> >> >>> > > I think that more "wavy" projects are nice, but IMO it
>>> > doesn't
>>> > >> >> mean we
>>> > >> >> >>> > > should abandon Apache Wave as it is now. I agree there are
>>> a
>>> > >> lot of
>>> > >> >> >>> > issues
>>> > >> >> >>> > > with current code, but I think there's still value as
>>> people
>>> > can
>>> > >> >> see
>>> > >> >> >>> what
>>> > >> >> >>> > > Wave can potentially be.
>>> > >> >> >>> > >
>>> > >> >> >>> > > On Sun, Mar 13, 2016 at 8:46 AM Evan Hughes <
>>> > >> >> wisebald...@apache.org
>>> > >> >> >>> > <javascript:;>>
>>> > >> >> >>> > > wrote:
>>> > >> >> >>> > >
>>> > >> >> >>> > > > The link for those who wish to join, Ill also add this
>>> link
>>> > >> onto
>>> > >> >> the
>>> > >> >> >>> > new
>>> > >> >> >>> > > > website.
>>> > >> >> >>> > > >
>>> > >> >> >>> > > > https://www.hipchat.com/gsModF8CY
>>> > >> >> >>> > > >
>>> > >> >> >>> > > > On Sun, 13 Mar 2016 at 12:12 Michael MacFadden <
>>> > >> >> >>> > > > michael.macfad...@gmail.com <javascript:;>>
>>> > >> >> >>> > > > wrote:
>>> > >> >> >>> > > >
>>> > >> >> >>> > > > > Yeah. Chatting is fine and beneficial. We just need to
>>> > make
>>> > >> >> sure
>>> > >> >> >>> we
>>> > >> >> >>> > > > > capture key decisions and rationale back in the list
>>> for
>>> > >> all to
>>> > >> >> >>> see.
>>> > >> >> >>> > > > >
>>> > >> >> >>> > > > > ~Michael
>>> > >> >> >>> > > > >
>>> > >> >> >>> > > > > > On Mar 12, 2016, at 6:07 PM, Evan Hughes <
>>> > >> >> >>> wisebald...@apache.org
>>> > >> >> >>> > <javascript:;>>
>>> > >> >> >>> > > > wrote:
>>> > >> >> >>> > > > > >
>>> > >> >> >>> > > > > > It does not so as Ive seen other projects state this
>>> > motto
>>> > >> >> "If
>>> > >> >> >>> its
>>> > >> >> >>> > > not
>>> > >> >> >>> > > > on
>>> > >> >> >>> > > > > > the mailing list it didnt happen at all", but allows
>>> > for
>>> > >> non
>>> > >> >> >>> formal
>>> > >> >> >>> > > > talk
>>> > >> >> >>> > > > > > and back and forth discussion realtime. The Monthly
>>> > >> reports
>>> > >> >> >>> that we
>>> > >> >> >>> > > > > talked
>>> > >> >> >>> > > > > > about back when we did the hangout session should
>>> > >> probably be
>>> > >> >> >>> > picked
>>> > >> >> >>> > > up
>>> > >> >> >>> > > > > > again, ill add it to the monthly todo's.
>>> > >> >> >>> > > > > >
>>> > >> >> >>> > > > > > On Sun, 13 Mar 2016 at 11:58 Michael MacFadden <
>>> > >> >> >>> > > > > michael.macfad...@gmail.com <javascript:;>>
>>> > >> >> >>> > > > > > wrote:
>>> > >> >> >>> > > > > >
>>> > >> >> >>> > > > > >> One follow up question though. Does hip hat store
>>> > >> >> conversations
>>> > >> >> >>> > in a
>>> > >> >> >>> > > > > >> publicly accessible manner?  If not, we need to make
>>> > sure
>>> > >> >> key
>>> > >> >> >>> > > > decisions
>>> > >> >> >>> > > > > >> that come out of chats are captured and discussed on
>>> > the
>>> > >> >> >>> mailing
>>> > >> >> >>> > > list
>>> > >> >> >>> > > > > for
>>> > >> >> >>> > > > > >> all to see.
>>> > >> >> >>> > > > > >>
>>> > >> >> >>> > > > > >> ~Michael
>>> > >> >> >>> > > > > >>
>>> > >> >> >>> > > > > >>> On Mar 12, 2016, at 7:15 AM, Evan Hughes <
>>> > >> >> >>> wisebald...@apache.org
>>> > >> >> >>> > <javascript:;>>
>>> > >> >> >>> > > > > wrote:
>>> > >> >> >>> > > > > >>>
>>> > >> >> >>> > > > > >>> I would get infra to make us a hipchat channel so
>>> we
>>> > >> have
>>> > >> >> some
>>> > >> >> >>> > > place
>>> > >> >> >>> > > > to
>>> > >> >> >>> > > > > >>> talk casually web interface / irc, but seesm the
>>> > jira's
>>> > >> >> down.
>>> > >> >> >>> > > Looking
>>> > >> >> >>> > > > > to
>>> > >> >> >>> > > > > >>> getting this rolling in some way or another by mid
>>> > week.
>>> > >> >> >>> > > > > >>>
>>> > >> >> >>> > > > > >>> ~ Evan
>>> > >> >> >>> > > > > >>>
>>> > >> >> >>> > > > > >>>> On Fri, 11 Mar 2016 at 19:48 Evan Hughes <
>>> > >> >> >>> > wisebald...@apache.org <javascript:;>>
>>> > >> >> >>> > > > > >> wrote:
>>> > >> >> >>> > > > > >>>>
>>> > >> >> >>> > > > > >>>> The client-server protocol would define a protobuf
>>> > and
>>> > >> >> json
>>> > >> >> >>> rest
>>> > >> >> >>> > > > > >> services
>>> > >> >> >>> > > > > >>>> so any language that support protocol buffers
>>> would
>>> > be
>>> > >> >> able
>>> > >> >> >>> to
>>> > >> >> >>> > > make
>>> > >> >> >>> > > > a
>>> > >> >> >>> > > > > >>>> client or fallback to the json rest.
>>> > >> >> >>> > > > > >>>>
>>> > >> >> >>> > > > > >>>>
>>> > >> >> >>> > > > > >>>> On Fri, 11 Mar 2016 at 19:24 Andreas Kotes <
>>> > >> >> >>> > > > > >> count-apache....@flatline.de <javascript:;>>
>>> > >> >> >>> > > > > >>>> wrote:
>>> > >> >> >>> > > > > >>>>
>>> > >> >> >>> > > > > >>>>> FWIW,
>>> > >> >> >>> > > > > >>>>>
>>> > >> >> >>> > > > > >>>>> I also consider the idea pretty good and would
>>> want
>>> > >> >> stronger
>>> > >> >> >>> > > > > decoupling
>>> > >> >> >>> > > > > >>>>> of server/client. I'd be interested in a python
>>> > client
>>> > >> >> >>> > > > > implementation,
>>> > >> >> >>> > > > > >>>>> mostly for CLI and bot integration.
>>> > >> >> >>> > > > > >>>>>
>>> > >> >> >>> > > > > >>>>> Not sure whether doing a client-side C
>>> > implementation
>>> > >> of
>>> > >> >> the
>>> > >> >> >>> > > > > >>>>> communication protocol would be best here (so
>>> > wrapper
>>> > >> for
>>> > >> >> >>> more
>>> > >> >> >>> > > > > >> languages
>>> > >> >> >>> > > > > >>>>> can follow), or whether native Python would be
>>> > >> better. We
>>> > >> >> >>> need
>>> > >> >> >>> > > > > >> something
>>> > >> >> >>> > > > > >>>>> for non-Java folks in any case, I think.
>>> > >> >> >>> > > > > >>>>>
>>> > >> >> >>> > > > > >>>>> Cheers,
>>> > >> >> >>> > > > > >>>>>
>>> > >> >> >>> > > > > >>>>>  count
>>> > >> >> >>> > > > > >>>>>
>>> > >> >> >>> > > > > >>>>>> On Fri, Mar 11, 2016 at 10:52:34AM +1000, Evan
>>> > Hughes
>>> > >> >> >>> wrote:
>>> > >> >> >>> > > > > >>>>>> Thankyou all for your feedback and expressions
>>> of
>>> > >> >> >>> interests,
>>> > >> >> >>> > > seems
>>> > >> >> >>> > > > > >> like
>>> > >> >> >>> > > > > >>>>> we
>>> > >> >> >>> > > > > >>>>>> may be able to develop some teams together to
>>> make
>>> > >> this
>>> > >> >> a
>>> > >> >> >>> > faster
>>> > >> >> >>> > > > > >> reality
>>> > >> >> >>> > > > > >>>>>> than just I. Hopefully we can get some more
>>> > people to
>>> > >> >> >>> express
>>> > >> >> >>> > > > > >> interests
>>> > >> >> >>> > > > > >>>>> in
>>> > >> >> >>> > > > > >>>>>> this way forward.
>>> > >> >> >>> > > > > >>>>>
>>> > >> >> >>> > > > > >>>>> --
>>> > >> >> >>> > > > > >>>>> Andreas 'count' Kotes
>>> > >> >> >>> > > > > >>>>> Taming computers for humans since 1990.
>>> > >> >> >>> > > > > >>>>> "Don't ask what the world needs. Ask what makes
>>> you
>>> > >> come
>>> > >> >> >>> alive,
>>> > >> >> >>> > > and
>>> > >> >> >>> > > > > go
>>> > >> >> >>> > > > > >> do
>>> > >> >> >>> > > > > >>>>> it.
>>> > >> >> >>> > > > > >>>>> Because what the world needs is people who have
>>> > come
>>> > >> >> >>> alive." --
>>> > >> >> >>> > > > > Howard
>>> > >> >> >>> > > > > >>>>> Thurman
>>> > >> >> >>> > > > > >>
>>> > >> >> >>> > > > >
>>> > >> >> >>> > > >
>>> > >> >> >>> > >
>>> > >> >> >>> >
>>> > >> >> >>> >
>>> > >> >> >>>
>>> > >> >> >>
>>> > >> >> >>
>>> > >> >>
>>> > >>
>>> >
>>>
>

Reply via email to