" The thing I'm most nervous about is client side work"

My hunch is, provided that there is a good client/server protocol standard,
documented. (and maybe with an example interface library in any language),
clients will spring up quick quickly.
Not sure you would get any fully featured wizz-bang webclient good enough
to replace what people use for email....but I think you would get specific
clients for specific purpose's, and that might be just what wave needs to
get going.

Give me something to send too, and a guide what to send, and I'll give you
a selectively shared world android AR app, anyway.


~~~
Thomas & Bertines online review show:
http://randomreviewshow.com/index.html
Try it! You might even feel ambivalent about it :)


On 10 December 2013 20:27, Joseph Gentle <jose...@gmail.com> wrote:

> I've probably invested about $100k worth of time into ShareJS at this
> point (much of that paid for by different employers). It is reasonably
> stable and scalable across multiple backend machines. It supports
> queries with results which update in realtime. I'm currently dependant
> on redis multi-machine scalability but I have plans to move to
> foundationdb in the near future to increase how large I can scale the
> backend.
>
> But if I did it again, it wouldn't cost anywhere near that much. And
> obviously I can reuse a lot of the existing work.
>
> I don't think a p2p / encrypted protocol will cost that much. Building
> the actual inbox-style application will be expensive, but core
> algorithms require more thinking but much less work than end-user
> systems. At this point I feel like I (/we) have done a lot of the
> thinking required. A description of the hardest parts of a workable
> wire protocol here:
> https://github.com/josephg/tp2stuff/blob/master/node4.coffee#L1-L109
> and a working implementation of multi-node syncronization is here:
> https://github.com/josephg/tp2stuff/blob/master/node2.coffee
> Its a few hundred lines of code, which will be shared by all peers.
>
> I honestly think it'll take less than a couple of months to get
> /something/ working. I'm nervous about algorithmic speed in the sync
> protocol, and I'm nervous about the potential for DOS attacks via
> maliciously chosen operations in public waves (if we have them).
> Implementing a JSON OT algorithm which supports TP2 will take an awful
> lot of thought (probably a month of it), but its possible. The thing
> I'm most nervous about is client side work - though I'm not even sure
> I want to be the one to implement a client side application on top of
> the protocol. And if I do, I might be able to reuse mailpile.
>
> I'm confident I can make an efficient server side renderer if need be,
> or a fast client side renderer on top of asmjs. I've played with asmjs
> a lot already and it is easily fast enough for this sort of work. Its
> just a case of writing a C / LLJS implementation of the renderer.
> Again, this assumes I'm writing an inbox style client - which again
> I'm not entirely sold on.
>
> All up, I think having a spec & implementation of a P2P wavey system
> will take me less than 6 months of work. Even a simple client will
> take several months more.
>
> I don't think that timeline would be possible with the current
> codebase (and I should know - I spent the better part of a year
> working with it at google). But I think its quite possible in nodejs,
> and porting to C will probably be another month or two of work.
>
> -J
>
>
> On Tue, Dec 10, 2013 at 9:19 AM, Kirill Kostyuchenko
> <kisel2...@gmail.com> wrote:
> > Hello all,
> >
> > We still working hard on wave in our company and I can say for sure,
> > production ready, scalable wave service will cost more, than $100k. Just
> > because we already spent more than half. P2P and crypted protocol are
> > really dreams.
> >
> > Andrew Kaplanov have done completely new protocol with reconnection
> > support, server restart, client update support, wave diff support.
> Multiple
> > wavelets support which will allow to handle big waves. We almost done
> > dynamic rendering support. Without dynamic rendering it is impossible to
> > work with big waves. Production ready service should be absolutelly
> stable
> > and fast. And it is impossible to do it relying on the current protocol
> and
> > renderer.
> >
> > We will announce our work on the wiab.pro in a month or two. You will be
> > able to try new features and check the stability of service. It is really
> > more stable with the new protocol, because 90% of errors where in the
> > protocol.
> >
> > If somebody create successfully funded project on kickstarter or so, we
> can
> > make our work opensource (new protocol, dynamic renderer, diff support,
> > search, tags) for the amount about $50k.
> >
> > I think, funding of such project more likely, because we already almost
> > 'did the work'.
> >
> >
> > On Tue, Dec 10, 2013 at 2:25 PM, Upayavira <u...@odoko.co.uk> wrote:
> >
> >> In case it helps:
> >>
> >> http://www.indiegogo.com/projects/a-month-of-apache-tapestry-5
> >>
> >> A successful, if smaller kickstarter style campaign. May help you
> >> visualise what your 'give backs' and suggested donation sizes might be.
> >>
> >> Note that this took place within an Apache framework without issues, so
> >> it can be done (not that it should - ultimately tests not my decision to
> >> make).
> >>
> >> Upayavira
> >>
> >> On Wed, Dec 4, 2013, at 08:42 PM, Joseph Gentle wrote:
> >> > Will do. As I said, I don't anticipate starting the kickstarter for
> >> > about a year, though I want to do preliminary work (prototyping out
> >> > some of the protocols and such) now.
> >> >
> >> > John I agree that (1) and (2) are the most interesting parts. But I'm
> >> > not sure that this is the right tool to build *everything* on top of.
> >> > We should start with the platform and get people building stuff on top
> >> > of it.
> >> >
> >> > -J
> >> >
> >> > On Wed, Dec 4, 2013 at 12:05 PM, John Blossom <jblos...@gmail.com>
> >> wrote:
> >> > > Joseph,
> >> > >
> >> > > Thanks for chiming in. I'd be interested in getting crowdsourced
> >> financing
> >> > > for this also. We don't have a major corporation funding our
> >> lifestyles to
> >> > > enable such work, so we need something.
> >> > >
> >> > > I am in general agreement with your overall plan, though as I've
> stated
> >> > > before, once you have 1) and 2) done right then there's so much more
> >> that
> >> > > the platform could/should do besides an email replacement. I do
> think
> >> that
> >> > > the "internet of things" is a key opportunity for such a
> >> communications and
> >> > > data management model, merged with secure, network-independent
> >> > > communications. Nkommo can't really move forward without that combo.
> >> > >
> >> > > As for the name, all things are possible once it's on Github, it
> >> seems. A
> >> > > fresh start might be in order.
> >> > >
> >> > > Please keep me in the loop, I'd be glad to help push things in this
> >> > > direction. Without funding, we're nowhere.
> >> > >
> >> > > All the best,
> >> > >
> >> > > John Blossom
> >> > >
> >> > > email: jblos...@gmail.com
> >> > > phone: 203.293.8511
> >> > > google+: google.com/+JohnBlossom
> >> > >
> >> > >
> >> > > On Sat, Nov 30, 2013 at 11:03 PM, Joseph Gentle <jose...@gmail.com>
> >> wrote:
> >> > >
> >> > >> I still really want to make the wave platform we've been talking
> about
> >> > >> for awhile. I just don't have any time because I need to work to
> eat.
> >> > >>
> >> > >> So I've spent the last month thinking about running a kickstarter
> to
> >> > >> fund the work. Christian's email was really timely.
> >> > >>
> >> > >>
> >> > >> I want arbitrary JSON documents, or arbitrary embedding like we
> talked
> >> > >> about a few months ago.
> >> > >>
> >> > >> I want a protocol based on real P2P algorithms rather than the
> hacky
> >> > >> mess we have at the moment with trees of servers connecting via an
> >> > >> XMPP extension
> >> > >>
> >> > >> I want the same fundamental protocol to work server-server or
> >> > >> server-client. The OT stuff should work like git.
> >> > >>
> >> > >> No single person can maintain our 500k of legacy java code. I want
> to
> >> > >> write a better version with much cleaner separation of OT protocol
> and
> >> > >> application specifics. I still want a web client, but it should be
> >> > >> written in pure javascript.
> >> > >>
> >> > >> Messages should be cryptographically secure from snooping.
> >> > >>
> >> > >>
> >> > >> The way I see it, there's fundamentally three pieces that make up
> >> wave:
> >> > >>
> >> > >> 1. A set of OT primitives which allow peers to generate & interpret
> >> > >> operations
> >> > >> 2. A platform on top of (1) for exchanging operations between
> >> networked
> >> > >> peers
> >> > >> 3. An application on top of (2) which is trying to replace email
> >> > >>
> >> > >> These pieces should be separate from one another, and usable in
> other
> >> > >> contexts.
> >> > >>
> >> > >> I have a clear idea of how we can make (1) and (2) work. The OT
> part
> >> > >> we've talked about on the list and I've been slowly prototyping out
> >> > >> here: http://github.com/josephg/tp2stuff
> >> > >>
> >> > >> I have a bunch of applications I want to build on top of a platform
> >> > >> like this. For example, I want my text editor, compiler & unit
> tests
> >> > >> to all talk to one another so my text editor doesn't need
> >> > >> language-specific completion or syntax checking, and so my friends
> can
> >> > >> jump in and help me code.
> >> > >>
> >> > >> I don't know what the best way to build (3) is - but I'm more than
> >> > >> happy to build the platform that a new kind of email could be
> built on
> >> > >> top of. Maybe the current WIAB design is totally fine for that
> part -
> >> > >> though I want end-to-end encryption.
> >> > >>
> >> > >> I don't know when the right time to do this would be. I don't know
> if
> >> > >> I should work alone or if we should put a team together (Hi Ali!).
> If
> >> > >> I were to do this properly it would take about a month of prep to
> get
> >> > >> a kickstarter together, and if it is successful I'd want to quit my
> >> > >> job to do it. I think it'd take me about 6 months to a year of
> work to
> >> > >> get a stable, secure platform working (probably closer to a year),
> and
> >> > >> I'm also not allowed to stay in the US without an employer on my
> visa.
> >> > >>
> >> > >> The earliest this will probably happen is the end of the year.
> >> > >>
> >> > >> Kickstarter might also not be the right way to fund it. Cryptocat
> was
> >> > >> funded in 2012 mostly by Radio Free Asia's Open Tech Fund[1] to the
> >> > >> tune of ~$100k. A kickstarter would give us users (great) and
> >> > >> publicity, but the right private sponsor might also work.
> >> > >>
> >> > >> Maybe the most contentious part of all, I don't think I'd want to
> call
> >> > >> it wave. But it really would be the grandchild of what we've been
> >> > >> working on all this time.
> >> > >>
> >> > >> Thats my thoughts. If anyone has any ideas, I'm all ears. As I say,
> >> > >> I'm keen to build this, but I'm too old to live on ramen in a
> granny
> >> > >> shack. This thing we've been working toward has real value, and
> could
> >> > >> be put to great effect if we can actually make it good.
> >> > >>
> >> > >> -J
> >> > >>
> >> > >>
> >> > >>
> >> > >> [1] https://crypto.cat/documents/report-1213.pdf
> >> > >> https://www.opentechfund.org/
> >> > >>
> >>
>

Reply via email to