" 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/ > >> > >> > >> >