Re: Should we remove Federation?
There's no doubt that Wave SHOULD federate efficiently. But there's also no doubt that it doesn't. So, sadly, I have to agree - time to make Apache Wave do what it can do a bit better. All the best, John Blossom email: jblos...@gmail.com phone: 203.293.8511 web: johnblossom.com On Thu, Apr 7, 2016 at 11:25 AM, Yuri Z <vega...@gmail.com> wrote: > Hi > Currently the federation is broken and requires a significant effort to > fix. Moreover, it never worked perfectly and always was a kind of Proof Of > Concept version. I doubt we can improve the current implementation to be > something stable. > Therefore I suggest to remove from Wave source all code and dependencies > related to Federation. > Thoughts? >
Re: [VOTE] Wave 0.4.0-rc10
I vote for release. All the best, John Blossom email: jblos...@gmail.com phone: 203.293.8511 google+: google.com/+JohnBlossom On Sat, Oct 10, 2015 at 2:58 AM, Ali Lown <a...@lown.me.uk> wrote: > Hi all, > > RC10 is now available for review. > Artefacts can be found here: > https://people.apache.org/~al/wave_rc/0.4-rc10/ > (Remember checksums are from 'gpg --print-md SHA512 $f > $f.sha') > > I have included both source and binary artefacts for convenience. > > The release version (if successful) will be 0.4.0-incubating > > This is taken from the branch 0.4.0-rc10 of the incubator-wave repository. > > Notable changes since earlier initial release attempts include: > - Use of typesafe config > - Bumped versions of Jetty, GWT, etc. > - Assorted tweaks to build system > > A summary of useful information can be found in RELEASE-NOTES, and a > list of changes in CHANGES in the source artefacts. > > Action Required: > Please go and test these packages (most importantly the source ones) > for any outstanding legal problems, or any runtime problems in a > 'standard' configuration. > > We are not looking for a perfect first release, as there is plenty of > time to fix outstanding bugs in future releases, but we do want to get > 0.4 out soon (at long last). > > This vote will close around GMT 17th October 2015. > > [ ] +1 Release it! > [ ] +0 Ok, but... > [ ] -0 Ok, but you really should fix... > [ ] -1 Definitely do not release this because... > > Thanks, > Ali >
Re: Design review: A plan
Joseph, I am very excited and encouraged by your overall approach. JSON's the way to go, clearly. Given the power and purity of what you are trying to accomplish in a core form, I agree that p2p may be too much of a stretch at this point. The ability to separate content servers and identity servers may be sufficient for now to allow enough flexibility to provide the secure and distributed editability to make this an attractive medium. Thinking of the Nkommo model, I suppose as a stopgap/starting point the question might be whether there can be mechanisms for export/import into a content server that can allow simple and non-synchronised sharing of content into different network domains - in other words, keep the "sneakernet" option open. Not a high priority given your initial focus, but worth considering. I suppose that this could be related to the Snowden scenario from this standpoint: ultimately, network security is moot if someone with credentials can replicate server data. That's not to say that your approach to network security is bad - it's right and necessary - but the ability to administer a server needs to be thought through as both a problem and an opportunity. I like that you're including the ability for "bot" apps to do OTs - this will be very important for sensor-driven data collection and interactions that build up around it. I'd like to think that we would have an Android-like flag that can suppress "side-loaded" apps at our discretion, both at a system/user-wide level and with document-specific exceptions. As I've asserted often, being able to have some sort of system of storefronts/repositories for trusted apps will make all the difference, especially on public documents. Seems like there should probably be a tiered approach to this - only document owner can enable additional apps, collaborators can enable trusted apps, all trusted apps are allowed, non-trusted apps allowed on a whitelist basis, non-trusted apps excluded on a blacklist basis, all non-trusted apps allowed. Concept for schemas is similar to what we discussed earlier - I agree that it's a very important part of enabling far more flexibility than what the typical Wave derivative platform offers today. You're smart enough to have waited until both the technologies and your point of view have matured to the point that you're ready to "make a statement" with this project. The world of Wave has not run away in the meantime, so I hope that there is great potential for this to still take off. I agree with your scope of vision - the Web as a whole is stuck, Wave threatened to unstick it, and now it's time to move the Web forward. All the best, John Blossom email: jblos...@gmail.com phone: 203.293.8511 google+: google.com/+JohnBlossom On Wed, Sep 9, 2015 at 3:05 AM, Joseph Gentle <m...@josephg.com> wrote: > Hi everyone! > > I want to get some feedback on a rough plan I have going forward. Next > year I'm moving to Europe (not sure where yet - gonna spend a month or > two travelling first before settling. Berlin?) I want to start my own > business, and I'm considering making that business a simple(r) > successor to wave, starting from a fresh codebase. I want the whole > thing to be opensource, monetizing through paid hosting or something > like that. I might do a kickstarter once I have a working prototype - > I'm not sure. I'll see how my financial situation holds out. > > --- > > So here's my plan: > > Waves (documents) are JSON objects. Each document is hosted at a > single site and has a URL. I'd love to use a fully p2p approach (like > ipfs), but I don't think the tech is ready[1]. Each document will have > a schema field or something to tell applications / the server how to > render the data. > > Documents are living things. They can be modified by submitting > operations using the new JSON OT type[2]. They can also be subscribed > to. > > I want to split servers into two parts: > - Identity servers > - Content servers > > ## Content server > > Content servers store actual documents. They're the equivalent of > webpages, although they have a few more tricks: > - You can subscribe to documents > - You can edit them using OT > - Documents can be encrypted > > The content server is responsible for access control. So you could have: > - Private documents only viewable & editable by one user > - Documents with a set of collaborators > - A publicly readable document which only one person can edit (like a blog > post) > - A process editing the document (for content like the hackernews / > reddit frontpage) > > > ## Identity server > > The identity server is a place to remember who you are, keep track of > which documents you're subscribed to (think gmail + google reader) and > maybe present the user an inbox view of some k
Re: Wave App mockups
Fine, just checking. I think that it looks quite impressive. Can't wait to see more. All the best, John Blossom email: jblos...@gmail.com phone: 203.293.8511 google+: google.com/+JohnBlossom On Sun, Jun 21, 2015 at 7:21 PM, Zachary Yaro zmy...@gmail.com wrote: I doubt that can be copyrighted. Plenty of other apps—including Rizzoma—do that. I think some apps even did that before Google did. Zachary Yaro On Jun 21, 2015 19:10, John Blossom jblos...@gmail.com wrote: This looks very, very nice so far. Are there any copyright issues with the use of the leading alpha for the non-photoed user icons? Google uses that in Gmail... All the best, John Blossom email: jblos...@gmail.com phone: 203.293.8511 google+: google.com/+JohnBlossom On Fri, Jun 19, 2015 at 4:06 PM, Roshan Lakmal roshan.2013...@iit.ac.lk wrote: Hi All Here I have created the App mockups. Can you all please look into this App mockups and give me your feedback's. 1. Loading screen [1] https://drive.google.com/file/d/0B_tP-jjki90QMzhpTVVFNTRVeWM/view?usp=sharing 2. Sing In screen [2] https://drive.google.com/file/d/0B_tP-jjki90QaTVCaVVUaHUyWHM/view?usp=sharing 3. Sing up screen [3] https://drive.google.com/file/d/0B_tP-jjki90QcV9Wb1FncmJoeE0/view?usp=sharing 4. Wave Inbox screen [4] https://drive.google.com/file/d/0B_tP-jjki90QblBQSDFieGdvbW8/view?usp=sharing 5. Chat page [5] https://drive.google.com/file/d/0B_tP-jjki90QMlNHTEd5Vmk2cXc/view?usp=sharing 6. Create Wave page [6] https://drive.google.com/file/d/0B_tP-jjki90QdTZiVFpCRDdEYjA/view?usp=sharing Regards Roshan
Re: Coming Months
Id be glad to listen in, but since I am not a technical contributor, I will try mostly just to monitor. All the best, John Blossom email: jblos...@gmail.com phone: 203.293.8511 google+: google.com/+JohnBlossom On Mon, Mar 30, 2015 at 11:26 PM, Evan Hughes ehu...@gmail.com wrote: Hey all, could we get a Google hangout of the Mentors and contributors to solidify the direction which wave will be heading and pointing out what needs to be done other than just thoughts on the mailing list.
Re: Roadmap
Liking what I am hearing. My ten cents: client/server/common model is good for libraries, yes, but need well-defined client APIs to allow multiple apps to access common data stores. Otherwise you get more balkanisation and the data model never takes off. federation required, preferably in a way that will support sync/async collaboration and store-forward data models. Would like to see Wave 3.0 ideas considered. All the best, John Blossom email: jblos...@gmail.com phone: 203.293.8511 google+: google.com/+JohnBlossom On Tue, Mar 24, 2015 at 4:32 PM, Thomas Wrobel darkfl...@gmail.com wrote: On 24 March 2015 at 16:32, Dave Ball w...@glark.co.uk wrote: Might it be better to have three parts? - common - server - client Common would contain the document and concurrency model etc. Client and Server would both depend on Common. Common would compile to JS for the Client, but Server would depend directly on Common so wouldn't need to depend on the compiled javascript. +1 I think this would be the best way to maintain compatibility between client(s) and sever(s). Downside is people making non-Java clients (or non-JS via GWT) would need their own common implementation. But it wouldnt be any worse then now.
Re: Apache Wave on Sandstorm.io
In a perfect world (Wave 3.0?) each Wave would have a file structure of some kind with federated syncing, but even with today's platform, enabling distributed collaboration within multiple communities is the key. Without it, we just keep on winding up with people trying to make multiple walled-garden instances, which defeats the value of Wave. All the best, John Blossom email: jblos...@gmail.com phone: 203.293.8511 google+: google.com/+JohnBlossom On Fri, Aug 22, 2014 at 7:59 AM, Yuri Z vega...@gmail.com wrote: Yeah, I also think the only way we can have a breakthrough is by making it really simple to create standalone instances that can federate with each other. On Fri, Aug 22, 2014 at 5:53 PM, John Blossom jblos...@gmail.com wrote: @Kenton, I am very excited by this development. If we can get Wave federation working on Sandstorm.io efficiently and simply, I think that this could be a huge breakthrough for Apache Wave - and beyond! J Hi wave-dev, I thought you'd be interested to know that we've ported Wave to Sandstorm.io, our open source platform aimed at making it much easier to run personal instances of web apps. We're hoping to make open source projects like Wave much more accessible to people who don't have the time or expertise to run their own server. People can upload arbitrary apps to Sandstorm, as long as they are packaged correctly. You can try it via the demo here: https://demo.sandstorm.io Blog post here: https://blog.sandstorm.io/news/2014-08-20-apache-wave.html You'll notice that in the port we removed the inbox. This is because Sandstorm is designed to do document management and sharing at the platform layer. Our sharing model isn't too sophisticated yet, but currently you can share a wave (even to people who don't have an account) by simply copy/pasting the link. Thoughts? Thanks for keeping Wave alive! -Kenton
Re: An Open Source implementation of Google Drive Realtime API
Looks like you're making bood progress with ShareJS, Joseph, still some hurdles but the community is making progress. As you point out in the ShareJS literature, more work is needed to get binaries to intersperse messages with text/rich text. All the best, John Blossom email: jblos...@gmail.com phone: 203.293.8511 google+: google.com/+JohnBlossom On Wed, Jul 16, 2014 at 7:00 PM, Joseph Gentle jose...@gmail.com wrote: On Wed, Jul 16, 2014 at 2:35 PM, Kythyria Torsfarenris kythy...@gmail.com wrote: I recently paired with the author of quilljs and stypi to port his rich text OT type for quill into sharejs. It works great. I eagerly await publication of that. Yeah I'm looking forward to it too - its been a few weeks, I should probably ping him. It should be really easy to put online. My big learning from a lot of this stuff is that semantics for different kinds of data are different, and you need to be able to support that in your system. Amen to that. JSON gets you *most* of the way, as in lots of things can be made to fit. I figure Wave would have run into the same thing if it had gotten widespread enough for people to try to represent things other than Wavey conversations (for instance, atomic replacement of attributes is suboptimal for SVG). We were already running into the same things, except we were coming at it the other way. Given we had OT on the XML-like wave structure, how do you represent sets and maps? This was important for gadgets and wave robots. Alex wrote a lot of code doing some JSON OT-like operations backed by the XML structure, storing items alphabetically in an XML element and then reordering them in a best-effort manner. In my opinion it was a mess. ShareJS's approach is much cleaner - though supporting subdocuments with their own OT semantics might be better still. -J
Re: An Open Source implementation of Google Drive Realtime API
田传武 , I am very grateful for your contributions of these libraries. You are striking at the fundamental blocking point in Wave development- the existing platform is not well adapted to creating a variety of responsible apps using a common data model. My mission is to get not only real-time configurations but a flexible, secure environment which would allow standalone instances of Wave 3.0 data models to drive apps on mobile devices and to enable store-and-forward communications as a baseline, complemented by real-time collaborative communications as available networks allow. Your model provides a nucleus of operational transformations for both conversations and data structures, which could be refined and expanded to allow for sophisticated applications. In a perfect world, I would like to see Wave data structures which can store data streams as part of conversations as people walk around a field of sensors and combine those messages in a common wave with human communications such as text and voice. Some apps would expose the data, others would deal with just the conversations, and so on. Best, John Blossom On Wed, Jul 9, 2014 at 11:06 AM, 田传武 i...@goodow.com wrote: inline On Wed, Jul 9, 2014 at 4:43 PM, Christian Grobmeier grobme...@gmail.com wrote: What are your plans with it? Not sure, may depend on the feedback. Are you considering to contribute this to Wave? I've read most of wave's code, but when I try to do big refactor, I am baffled.
Re: An Open Source implementation of Google Drive Realtime API
Thomas, That's the key - if the coding model isn't right, the apps and the data model will never take off. We'll continue to see proprietary dead-end after dead-end. All the best, John Blossom email: jblos...@gmail.com phone: 203.293.8511 google+: google.com/+JohnBlossom On Wed, Jul 9, 2014 at 11:25 AM, Thomas Wrobel darkfl...@gmail.com wrote: Of what benefit would contributing this to wave be? Doesn't wave do a superset of this functionality already? (albeit with messier code) Seems (possibly) more useful for Wave to contribute its (federation) functionality to this or a fork of it. Then you would have a new pseudo-wave that does much of the same stuff, but with a much neater codebase (and mobile support) to build from. Alternatively if elements of this could replace waves code to simplify/neaten it that might be good...but at least from an outsiders perspective that seems rather hard. Regarding the point earlier about rich text in json - wouldn't it be easier to use html encoding of styled text? To my knowledge html strings work in json just fine as long as a few things are escaped. Or isnt this possible with the OT method being used? ~~~ Thomas Bertines online review show: http://randomreviewshow.com/index.html Try it! You might even feel ambivalent about it :) On 9 July 2014 17:06, 田传武 i...@goodow.com wrote: inline On Wed, Jul 9, 2014 at 4:43 PM, Christian Grobmeier grobme...@gmail.com wrote: What are your plans with it? Not sure, may depend on the feedback. Are you considering to contribute this to Wave? I've read most of wave's code, but when I try to do big refactor, I am baffled.
Re: An Open Source implementation of Google Drive Realtime API
This is very cool indeed. It looks as if it might be able to support the Wave 3.0 data model: https://docs.google.com/presentation/d/1pNsrX26947QH89Ot3k62nlKKSRFLmVgBWxcIEne8VYI/edit?usp=sharing All the best, John Blossom On Tue, Jul 8, 2014 at 2:07 AM, 田传武 i...@goodow.com wrote: Hi all, I'd like to share an open-source project which implements nearly all features of the google drive realtime api. *Google Drive Realtime API* https://developers.google.com/drive/realtime/ provides Google Docs–style instant collaboration. It lets multiple people edit the same data simultaneously. This project was inspired by Apache Wave, it is available on github at https://github.com/goodow/realtime-store The server runs on vert.x, and uses a memory store by default, but also provides a persistent data store based on ElasticSearch and uses Redis to scale across multiple frontend servers. The redis+elasticsearch code is ported from livedb https://github.com/share/livedb, really appreciate Joseph Gentle and the ShareJS community, thanks! You can try out the features of the Realtime API on the *live playground* http://realtimeplayground.goodow.com/, or get the *Android demo App* https://play.google.com/store/apps/details?id=com.goodow.realtime.android.playground on google play. There is also an *Objective-C client library https://github.com/goodow/GDStore* for iOS and Mac OS X, but it is not yet fully tested, so please use at your own risk! Enjoy!
Re: Wave without GWT
But is the app segregated enough now that you can still get the functionality that one requires for concurrent edits, etc. All the best, John Blossom email: jblos...@gmail.com phone: 203.293.8511 google+: google.com/+JohnBlossom On Wed, Apr 30, 2014 at 1:21 AM, Yuri Z vega...@gmail.com wrote: Yes, you don't have to compile the GWT. On Wed, Apr 30, 2014 at 5:32 AM, Jim Keener jimktra...@gmail.com wrote: Is there a way to build the wave server without any of the GWT front end? My end goal would be to use the Wave server over a websocket with a custom (application-specific) front end. Jim
Re: Sudden traffic on the demo servers
Interesting. All the best, John Blossom On Fri, Apr 4, 2014 at 4:53 PM, Yuri Z vega...@gmail.com wrote: Thanks On Fri, Apr 4, 2014 at 11:37 PM, Ali Lown a...@lown.me.uk wrote: It was on hackernews. On 4 Apr 2014 21:36, Yuri Z vega...@gmail.com wrote: There's a sudden spike in traffic volume for the waveinabox.net - about 2500 hits during the last few hours. The traffic comes from the Apache Wave demo servers page, so I guess someone put the link to Apache Wave incubation site. Did anyone mention a blog/article about Apache Wave lately?
Re: Sudden traffic on the demo servers
All the best, John Blossom email: jblos...@gmail.com phone: 203.293.8511 google+: google.com/+JohnBlossom On Fri, Apr 4, 2014 at 4:35 PM, Yuri Z vega...@gmail.com wrote: There's a sudden spike in traffic volume for the waveinabox.net - about 2500 hits during the last few hours. The traffic comes from the Apache Wave demo servers page, so I guess someone put the link to Apache Wave incubation site. Did anyone mention a blog/article about Apache Wave lately?
Re: Migrate Apache Wave to java 8?
Is this an inflection point at which one could consider moving away from Java? For mobile use, it's not ideal. All the best, John Blossom email: jblos...@gmail.com phone: 203.293.8511 google+: google.com/+JohnBlossom On Fri, Apr 4, 2014 at 1:26 PM, Yuri Z vega...@gmail.com wrote: Hi As Java 8 was finally released, I think it would be great to migrate the WIAB code to Java 8. I already tried to compile it with jdk 8 and there are some issues, most due to improved type inference in Java 8 that is able to catch some not so correct class casts on generic classes that java 6/7 probably weren't able to infer and allowed. Anyway, it looks like it can be fixed. Another issue is GWT compilation - I don't know if GWT can work with Java 8 source. Is there anyone who hd some experience with GWT and Java 8?
Re: [VOTE] Move Wave to a true 'git' repository at Apache
Get git. All the best, John Blossom email: jblos...@gmail.com phone: 203.293.8511 google+: google.com/+JohnBlossom On Fri, Dec 13, 2013 at 8:19 PM, Ali Lown a...@lown.me.uk wrote: As one of the main contention points, lets get Wave moved off the git-svn life support, and in to a true git repository. Since this would affect everyone (especially the other developers), I am just going to run a quick check here... This vote is open for 72 hours. [ ] Move to Git at Apache [ ] Retain Subversion I vote to move to true git. Ali
Re: [VOTE] To stay or not to stay
Time to go, we need a new way to turn thoughts into action, knowing that we may yet come back to Apache in a more usable form. All the best, John Blossom email: jblos...@gmail.com phone: 203.293.8511 google+: google.com/+JohnBlossom On Tue, Dec 10, 2013 at 11:48 AM, Upayavira u...@odoko.co.uk wrote: It seems to me that the time has come to make a decision here, and for now, I'm going to ask that we consider just one simple question: * Should Wave stay within Apache, or leave. I'm going to ask that we postpone any discussion about either option that isn't required to make the decision, until the vote is complete. If discussion is to occur, please move it to a separate thread, to keep the [VOTE] thread clean. I'm going to suggest that this vote runs for 72hrs, and that we aim for consensus. Should anyone wish to change their vote based upon the votes of others, that's fine, only your last vote will count. I'm going to suggest that for this vote to succeed, we'll need full consensus of committers/PPMC members. Community votes are also very much welcome, but committer/PPMC votes will be the ones that make up the final tally. If this vote does not receive a consensus, then the status quo will continue until another event occurs to change it. I myself am not going to vote, as I see this as a vote for those who feel ownership of the project and its codebase. I couldn't make an impartial vote anyway. So, here's your chance to cast your votes: [ ] Wave should stay at Apache [ ] Wave should leave Apache, and find a home elsewhere Thanks, Upayavira
Re: Incubation status
Good points, Bruno, I think that you summed it up very well. I'd only add that in theory the broader Apache community should act as a draw for the project, but the social infrastructure for Apache doesn't seem to amplify that value for Wave. A more flexible approach might help to get a core group of people more jazzed about making a core capability take off. I can see where at some point folding back into Apache might be a reasonable option, and I was hopeful that the Apache framework would help to accelerate team-building, and the core Apache people we've dealt with are great, but somehow the combination of culture and collaboration tools hasn't hit the mark for Wave. Thanks, John On Thu, Dec 5, 2013 at 10:09 AM, Bruno Gonzalez (aka stenyak) sten...@stenyak.com wrote: Hi all, sorry to reply this late, but here's my point of view. Legal point of view: From my understanding, being at Apache, and following its strict policies, should in theory attract serious companies to invest money into the project, being reassured that the legal risks are minimal. Unfortunately, not much of the sort seems to have happened yet. I personally think that, on the contrary, it has in part contributed to wasting precious time. What I mean is that, I'd much rather have a 50%-legally-sound and alive project, than a 99%-legally-sound but almost dead project. If the project had 10 people devoting their spare time, parallelizing efforts in several planes (one of them the licensing issues), then maybe it wouldn't be such a burden to keep up with those policies. But it breaks my kernel to see the most valuable contributors having to deal with random icon licensing stuff. In this regard, my vote would be: in favour of leaving Apache. Social point of view: The Apache name surely is known by many people. At least in the developer community. This could more easily attract them to the project. But given the total amount of project we have really working on the project, I'm not sure whether the 'Apache' name is actually better than simply having the code at github with actual p2p VCS capabilities. For that, my vote would be neutral at best, and leaning towards leaving Apache. Technical point of view: A big point for staying at Apache is that we have a big infrastructure already in place: issue tracker, code repository, wiki, mailing list, possibility to use virtual machines for free, etc. However, that's also the problem: being provided and maintained by a third party (from the point of view of our project), means there's no flexibility as to what VCS we want to use (a read-only mirror at github is missing the whole point about git), what communication medium to officially use (the dogfooding argument), etc. This is what I've had the closest (though scarce) experience with, and in my case, I feel it has slowed me down, having to divert potential coding time into non-important stuff. I don't know how much time, but surely 0. For that, I'd vote in favour of leaving apache. All in all, and unless things can be done in a different way while still staying at Apache, my opinion is that we would prolly be better off outside Apache at this point (in the future maybe it'd be better to go back, but I don't see how things could get worse by leaving Apache now). On 11/28/13 11:02, Christian Grobmeier wrote: I believe it makes sense to discuss if the incubator is the right place. Incubation has a specific goal: forming a team which can do releases and is - in a way - active. I see there is little activity at all. The only person i have seen working on the codebase recently was Ali. He also was the release manager of package which had trouble to receive the necessary votes from its own team.
Re: Wave Kickstarter
Joseph, You may be right, one platform can't do everything, but I am hopeful that we can get a platform with a 1) data model 2) communications/syncing model and 3) and apps development model that can accommodate the goals for my Nkommo project. We start by walking, suss it out and then move on. If I get involved in this again, my timeline is probably more aggressive, for those who want to seek funding sooner. All the best, John Blossom email: jblos...@gmail.com phone: 203.293.8511 google+: google.com/+JohnBlossom On Wed, Dec 4, 2013 at 3:42 PM, Joseph Gentle jose...@gmail.com 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
Re: Wave Kickstarter
And let's bear in mind NSA-resistant not just by virtue of good data and communications bits but also my means of being able to communicate with or without the public Internet. If everyone is a network node for some portion of a collaborative data set that can be exposed in various levels of permissioning, then you have the opportunity to walk around monitoring issues - sometimes literally. All the best, John Blossom email: jblos...@gmail.com phone: 203.293.8511 google+: google.com/+JohnBlossom On Thu, Dec 5, 2013 at 10:41 AM, Thomas Wrobel darkfl...@gmail.com wrote: nsa-resistant* Thats absolutely a good plus point in this day and age. Its wouldn't be proof by decentralization but certainly makes things more resistant. The idea of a federated protocol that lets people selectively share stuff with others is going to be harder to spy on (on mass) then a nice convient all-in-one-place Google or Facebook server. Don't trust Bobswave server? Then start your own! Then you own have to worry about stuff shared with bobswave users ;) This could be quite a selling point - both to individuals, but also to company's worried about trade secrets being lost. ~~~ Thomas Bertines online review show: http://randomreviewshow.com/index.html Try it! You might even feel ambivalent about it :) On 5 December 2013 16:29, Bruno Gonzalez (aka stenyak) sten...@stenyak.comwrote: This can be a good idea, and I agree with the general design and goals of your project. I'm not sure whether this should be a replacement for WiaB, or just a parallel project that can evolve side-by-side, but if you go forward with it, we'd just have to wait and see how users and possible contributors react to it (I'd definitely contribute however I can, be it code, paypal-beers or whatever! :-) Random suggestion: I'd try to direct/promote the project (amongst other people, of course) towards those who want nsa-resistant* and open source whatsapp alternatives. (*) whatever that means... (it can not be worse than current email protocols hehe) On 12/01/13 05:03, Joseph Gentle 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
Re: Wave Kickstarter
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/
Re: Incubation status
Christian, Although I support the incubator's goals, it seems that there is probably a fundamental mismatch between the state of Apache Wave and where and how Wave needs to develop. I am one of the people who had to stand back from Wave a while back. I was enthusiastic about the possibility of Apache acting as a strong framework for Wave, but it seems that it's at the wrong stage of development to benefit from everything that Apache offers. I must also admit that the new Gmail inbox doesn't draw me to forum posts as much as it used to. The community tools of Apache aren't getting my attention, for whatever reason. Wave is trying to define lots of new bits of technology that don't necessarily have a fixed architecture yet or even a place in other fixed architectures. Months later, we're still at a point where we have a body of code that's still largely a specific user client rather than an agile development platform that can enable a wide variety of apps via a common set of communications and data management protocols and standards. Most importantly from my own perspective, it's not moved significantly towards an architecture that could be strongly mobile first with both synchronous and asynchronous publishing. So for me, it's not meeting the goals of what Wave 3.0 could be. At the same time you have initiatives like Motorola's Project Ara for open source mobile hardware development that would be ideal for some of the things that Wave could do in developing nations, as well as open source mobile OS initiatives, so open and mobile as a combination are progressing. I wish that I were still an active coder (sometimes), but I am not, and I am not going to be able to reach my goals without committed coders. But for that commitment, we need more consensus about what Wave should try to be in an increasingly crowded market for collaborative services. From that perspective, Wave seems to need a bit more direction than the Apache framework can manage at this point. There's not a body of code that meets a well defined market objective - that's a profile for success in Apache, it seems, looking at some of the other projects. Open or not, every platform must find a need and fill it. Finally, since commitment seems to be partially a factor of funding, perhaps a more independent project on Github (assuming that there are no remnant Google claims) might make it easier for independent teams to attract funding via crowdsourcing platforms once a more concrete goal has been defined. Once such a project met with some initial success, perhaps there could be a body of code that could be nurtured in the Apache framework at a later time. I am sorry to have dropped out of this loop, but I have had to focus on money-generating opportunities more intently, if I could balance that with Wave a bit more easily then it would be easier to focus, no doubt. But life goes on, and I know that Wave will always go on. If there are team members who feel that I can contribute positively in this transition, feel free to stay in touch. All the best, John Blossom email: jblos...@gmail.com phone: 203.293.8511 google+: google.com/+JohnBlossom On Thu, Nov 28, 2013 at 5:02 AM, Christian Grobmeier grobme...@gmail.comwrote: Hi folks, it seems as the first steam with the new people is gone. I believe it makes sense to discuss if the incubator is the right place. Incubation has a specific goal: forming a team which can do releases and is - in a way - active. I see there is little activity at all. The only person i have seen working on the codebase recently was Ali. He also was the release manager of package which had trouble to receive the necessary votes from its own team. My hope was this would change in the past months. But today I have only little hope. Playing the devils advocate I ask you (again): Do you folks believe the incubator can ever be completed as it is now? If you believe yes, please let me know why or how we can achieve that goal. Otherwise my recommendation is to move Wave to GitHub and close the incubation until the community around Wave has grown. Thoughts? Christian --- http://www.grobmeier.de @grobmeier GPG: 0xA5CC90DB
Re: Incubation status
@Thomas Wrobel. This is probably a matter of discussion for another time in terms of what the consensus is, especially since I haven't been an active part of that consensus for a long time. But I would agree that not enough talent willing to focus on Wave is a big problem. It's not clear that Github-centered development may change this significantly, but it may help, and it would certainly simplify branding efforts and possibly fund-raising. All the best, John Blossom email: jblos...@gmail.com phone: 203.293.8511 google+: google.com/+JohnBlossom On Mon, Dec 2, 2013 at 11:01 AM, Thomas Wrobel darkfl...@gmail.com wrote: But for that commitment, we need more consensus about what Wave should try to be Is there really a lack of consensus here? I think , imho, we have a consensus, just not the skill/time. ~~~ Thomas Bertines online review show: http://randomreviewshow.com/index.html Try it! You might even feel ambivalent about it :) On 2 December 2013 16:51, John Blossom jblos...@gmail.com wrote: Christian, Although I support the incubator's goals, it seems that there is probably a fundamental mismatch between the state of Apache Wave and where and how Wave needs to develop. I am one of the people who had to stand back from Wave a while back. I was enthusiastic about the possibility of Apache acting as a strong framework for Wave, but it seems that it's at the wrong stage of development to benefit from everything that Apache offers. I must also admit that the new Gmail inbox doesn't draw me to forum posts as much as it used to. The community tools of Apache aren't getting my attention, for whatever reason. Wave is trying to define lots of new bits of technology that don't necessarily have a fixed architecture yet or even a place in other fixed architectures. Months later, we're still at a point where we have a body of code that's still largely a specific user client rather than an agile development platform that can enable a wide variety of apps via a common set of communications and data management protocols and standards. Most importantly from my own perspective, it's not moved significantly towards an architecture that could be strongly mobile first with both synchronous and asynchronous publishing. So for me, it's not meeting the goals of what Wave 3.0 could be. At the same time you have initiatives like Motorola's Project Ara for open source mobile hardware development that would be ideal for some of the things that Wave could do in developing nations, as well as open source mobile OS initiatives, so open and mobile as a combination are progressing. I wish that I were still an active coder (sometimes), but I am not, and I am not going to be able to reach my goals without committed coders. But for that commitment, we need more consensus about what Wave should try to be in an increasingly crowded market for collaborative services. From that perspective, Wave seems to need a bit more direction than the Apache framework can manage at this point. There's not a body of code that meets a well defined market objective - that's a profile for success in Apache, it seems, looking at some of the other projects. Open or not, every platform must find a need and fill it. Finally, since commitment seems to be partially a factor of funding, perhaps a more independent project on Github (assuming that there are no remnant Google claims) might make it easier for independent teams to attract funding via crowdsourcing platforms once a more concrete goal has been defined. Once such a project met with some initial success, perhaps there could be a body of code that could be nurtured in the Apache framework at a later time. I am sorry to have dropped out of this loop, but I have had to focus on money-generating opportunities more intently, if I could balance that with Wave a bit more easily then it would be easier to focus, no doubt. But life goes on, and I know that Wave will always go on. If there are team members who feel that I can contribute positively in this transition, feel free to stay in touch. All the best, John Blossom email: jblos...@gmail.com phone: 203.293.8511 google+: google.com/+JohnBlossom On Thu, Nov 28, 2013 at 5:02 AM, Christian Grobmeier grobme...@gmail.com wrote: Hi folks, it seems as the first steam with the new people is gone. I believe it makes sense to discuss if the incubator is the right place. Incubation has a specific goal: forming a team which can do releases and is - in a way - active. I see there is little activity at all. The only person i have seen working on the codebase recently was Ali. He also was the release manager of package which had trouble to receive the necessary votes from its own team. My hope was this would change in the past months. But today I have only
Re: [VOTE] Release Wave 0.4 based on RC4
Ali, Thanks so much for your dedication, This is a great moment in Wave history! I have been heads-down on a number of things lately, including getting financing for my Nkommo project that I hope will employ Apache Wave technologies. I expect to be engaging in the community more this month. All the best, John Blossom email: jblos...@gmail.com phone: 203.293.8511 google+: https://google.com/+JohnBlossom On Fri, Aug 30, 2013 at 6:21 PM, Ali Lown a...@lown.me.uk wrote: The time has finally come, after many weeks of anticipation: RC4 is now available for review. Major changes include: - More licensing fixes - Federation works - New and updated translations - And more... Artifacts can be found here: https://people.apache.org/~al/wave_rc/0.4-rc4/ (Remember checksums are from 'gpg --print-md SHA512 $f $f.sha') This is taken from tag 0.4-rc4: https://svn.apache.org/repos/asf/incubator/wave/tags/0.4-rc4 A summary of useful information can be found in RELEASE-NOTES, and a list of changes in CHANGES at the above artifact distribution url, as well as being included in the tarballs/zips.(zipballs?) If you could test these on some other machines and provide some feedback, that would be great. This vote will close around GMT 3rd June 2013. [ ] +1 Release it! [ ] +0 OK, but... [ ] -0OK, but you really should fix [ ] -1Definitely not because... Thanks. Ali
Re: Help me test algorithm performance
Would love to help! All the best, John Blossom email: jblos...@gmail.com phone: 203.293.8511 google+: https://google.com/+JohnBlossom On Thu, Aug 8, 2013 at 4:15 PM, Joseph Gentle jose...@gmail.com wrote: tldr; I need some volunteers to collaboratively edit a document together, so we can systematically evaluate algorithmic performance. So recently Michael linked me to a paper[1] which evaluates a bunch of different concurrency algorithms on speed memory usage. They got a bunch of students to collaboratively edit two documents and used the operations generated in their benchmarks. The paper has some glaring omissions[2], and the data they gathered isn't publicly available. Of course, I also want to test Torben's algorithm to see how well it performs with realistic usage. So I'd like to reproduce their experiment. To do this I need a few volunteers to collaboratively edit some documents. We should construct realistic editing scenarios. The paper did two things: - Transcribe an episode of big bang theory - Write a report I'm open to suggestions on what we should do - we could also try collaborative creative writing, writing notes on a youtube video, or something. It doesn't really matter so long as the activity is focused, realistic (no keyboard mashing) and involves collaboration. (Sequential editing scenarios aren't interesting) To do this, I'll set up a special instance of ShareJS with ~1s of artificially induced latency and extra logging for the experiment. I want to run this experiment either late next week or on the weekend. The more experimental runs the better - although I suspect most of what we learn will be from the first couple logs. I will publish the raw data from the logs and send out a followup email. The experiment will be anonymous, but don't say anything you wouldn't want publicly known. How does that sound? Who's willing to help out? -J [1] http://hal.archives-ouvertes.fr/docs/00/62/95/03/PDF/doce63-ahmednacer.pdf [2] Criticisms: - Operations only insert or remove a single character, which means that a copy+paste that one of the users did resulted in 5000 operations, each of which needed to be transformed individually. - Their text editor didn't batch changes - which is really stupid and unrealistic. - The students were all working locally (on a LAN), so there would have been fewer concurrent actions than we should realistically expect.
Apache Wave Hangout - Link to Episode One
Thanks to Alex North, Ali Lown, Bruno Gonzalez, Jérémy Naegel, and Joseph Gentle for their active participation in our first Apache Wave team hangout. We also saw Christian Grobmeier trying to connect briefly, and some others are listed as having went, but that was the core group online. You can view the event at: http://www.youtube.com/watch?v=QNF_-ogcoIA We had a pretty good discussion, though it would have benefited from others more focused on OT, no doubt. I think that we've demonstrated how to use the technology to communicate in the community and to further leverage it to make the world more available of Apache Wave development and where it stands. I don't what to be the permanent host of these hangouts, or any person-to-person communications, but I am glad to help facilitate them as needed. It's a communication tool, and any way that we can use it as a community in ways that reinforce its goals and values is good. The main question coming out of this hangout from my perspective is this: how to we choose a path for development that will result in a powerful solution for mobile collaboration that can support multiple apps in a common data model? I don't know that a Hangout is the place to solve that, this is probable the best place to start. In the meantime, I will be glad to help create a new office hours event on Hangout and have people decide what they want to discuss. Thanks to everyone who participated, the logistics seem to have worked out pretty well. John Blossom
Apache Wave Google+ Account
In conjunction with the Hangouts, I'd like to suggest that we create a Page for Apache Wave on Google+ where announcements could be posted about Hangouts and which, if desired, could have multiple personal accounts authorized to manage the page. This would allow us to have stronger Apache branding for Hangout events and would make it easier for us to enable multiple people to act as hosts for the events. It would also enable people to add links to our branded Page presence on Google+, which could help to promote participation in the community and to provide information about the project and links to the official project Web site. Thoughts? It's very easy to set up, BTW. All the best, John Blossom
Re: Apache Wave Google+ Account
Yuri, I am fine with WaveWatchers being who we are, but WaveWatchers carries its own branding - if we're going to do things specific to Apache Wave as a community, then we should use that brand specifically, is my thinking. Most especially, when we do something good as a community, in Google+ I'd like it that people have the +Apache Wave link embeddable in their posts. It's a badge - and we need to promote that badge as a plus for developers, IMO. Both brands - WaveWatchers and Apache Wave - can help to amplify one another, but you need two equally promoted brands in order to do that. John On Wed, Jul 31, 2013 at 2:34 PM, Yuri Z vega...@gmail.com wrote: Why not just use WaveWatcher's page? On Wed, Jul 31, 2013 at 9:32 PM, Ali Lown a...@lown.me.uk wrote: This seems like a good idea to me. As long as we keep multiple comitters as admins, I don't think there should be a problem. Could you first put together a page of guidelines on the wiki? (Like CloudStack has: https://cwiki.apache.org/CLOUDSTACK/social-media-guidelines.html) Ali On 31 Jul 2013 19:26, John Blossom jblos...@gmail.com wrote: In conjunction with the Hangouts, I'd like to suggest that we create a Page for Apache Wave on Google+ where announcements could be posted about Hangouts and which, if desired, could have multiple personal accounts authorized to manage the page. This would allow us to have stronger Apache branding for Hangout events and would make it easier for us to enable multiple people to act as hosts for the events. It would also enable people to add links to our branded Page presence on Google+, which could help to promote participation in the community and to provide information about the project and links to the official project Web site. Thoughts? It's very easy to set up, BTW. All the best, John Blossom
Re: Apache Wave Google+ Account
Ali, Great suggestion on guidelines, will post similar for us for review. John On Wed, Jul 31, 2013 at 2:32 PM, Ali Lown a...@lown.me.uk wrote: This seems like a good idea to me. As long as we keep multiple comitters as admins, I don't think there should be a problem. Could you first put together a page of guidelines on the wiki? (Like CloudStack has: https://cwiki.apache.org/CLOUDSTACK/social-media-guidelines.html) Ali On 31 Jul 2013 19:26, John Blossom jblos...@gmail.com wrote: In conjunction with the Hangouts, I'd like to suggest that we create a Page for Apache Wave on Google+ where announcements could be posted about Hangouts and which, if desired, could have multiple personal accounts authorized to manage the page. This would allow us to have stronger Apache branding for Hangout events and would make it easier for us to enable multiple people to act as hosts for the events. It would also enable people to add links to our branded Page presence on Google+, which could help to promote participation in the community and to provide information about the project and links to the official project Web site. Thoughts? It's very easy to set up, BTW. All the best, John Blossom
Re: Apache Wave Google+ Account
Social Media guidelines are up, I made a few minor tweaks to bring the Cloud Stack template up to date. https://cwiki.apache.org/confluence/display/WAVE/Apache+Wave+Social+Media+Guidelines On Wed, Jul 31, 2013 at 3:51 PM, John Blossom jblos...@gmail.com wrote: Ali, Great suggestion on guidelines, will post similar for us for review. John On Wed, Jul 31, 2013 at 2:32 PM, Ali Lown a...@lown.me.uk wrote: This seems like a good idea to me. As long as we keep multiple comitters as admins, I don't think there should be a problem. Could you first put together a page of guidelines on the wiki? (Like CloudStack has: https://cwiki.apache.org/CLOUDSTACK/social-media-guidelines.html) Ali On 31 Jul 2013 19:26, John Blossom jblos...@gmail.com wrote: In conjunction with the Hangouts, I'd like to suggest that we create a Page for Apache Wave on Google+ where announcements could be posted about Hangouts and which, if desired, could have multiple personal accounts authorized to manage the page. This would allow us to have stronger Apache branding for Hangout events and would make it easier for us to enable multiple people to act as hosts for the events. It would also enable people to add links to our branded Page presence on Google+, which could help to promote participation in the community and to provide information about the project and links to the official project Web site. Thoughts? It's very easy to set up, BTW. All the best, John Blossom
Re: Apache Wave Hangout - Link to Episode One
Joseph, I agree that the fundamental issues that you raise are the key of how to get development moving. Mobile strategy is there at this point simply to say that whatever solutions that we have, they need to be able to work well in a mobile environment. My own opinion is that Apache Wave needs to be a platform from which multiple products can be built, with default apps that demonstrate its power and act as benchmarks for service and component integration. So I am all for more of a deep dive into OT, to getting some consensus on other core architecture issues and to getting a platform released that can reflect those decisions. It's up to the community, ultimately - I want the most motivated people to step forward and to drive these things as soon as possible. I see my job mostly as trying to help drive talent and respect our way through improved communications and helping to formulate the overall requirements as production and proof of concept code begins to move forward. On Wed, Jul 31, 2013 at 4:11 PM, Joseph Gentle jose...@gmail.com wrote: I still want a technical deep-dive on OT at some point. Issues: - Are we building a platform or a product? (In my opinion our platform isn't good enough, and thats where I want to focus our efforts for now) - What OT algorithms should we use? - If we use Torben's OT system, how expensive is it actually for daily use? Is there a way to make it fast and still sign operations? Is there a way to use OTR? This stuff is more important than figuring out our mobile strategy for now. -J On Wed, Jul 31, 2013 at 10:15 AM, John Blossom jblos...@gmail.com wrote: Thanks to Alex North, Ali Lown, Bruno Gonzalez, Jérémy Naegel, and Joseph Gentle for their active participation in our first Apache Wave team hangout. We also saw Christian Grobmeier trying to connect briefly, and some others are listed as having went, but that was the core group online. You can view the event at: http://www.youtube.com/watch?v=QNF_-ogcoIA We had a pretty good discussion, though it would have benefited from others more focused on OT, no doubt. I think that we've demonstrated how to use the technology to communicate in the community and to further leverage it to make the world more available of Apache Wave development and where it stands. I don't what to be the permanent host of these hangouts, or any person-to-person communications, but I am glad to help facilitate them as needed. It's a communication tool, and any way that we can use it as a community in ways that reinforce its goals and values is good. The main question coming out of this hangout from my perspective is this: how to we choose a path for development that will result in a powerful solution for mobile collaboration that can support multiple apps in a common data model? I don't know that a Hangout is the place to solve that, this is probable the best place to start. In the meantime, I will be glad to help create a new office hours event on Hangout and have people decide what they want to discuss. Thanks to everyone who participated, the logistics seem to have worked out pretty well. John Blossom
Re: Apache Wave Google+ Account
Christian, Having borrowed most of this copy from the Cloud Stack guidelines,apparently they have a list specifically devoted to marketing. Seems like this might be a good move for Apache Wave so that developers can focus more on what they want to without being annoyed. I've lived in both worlds for most of my career, and neither world seems to grok the other particularly well. Veto rights and majority votes seem sensible, as this is about brand issues. However, I am noting that Wave is not an ASF listed brand for trademarking. http://www.apache.org/foundation/marks/list/ On Wed, Jul 31, 2013 at 4:14 PM, Christian Grobmeier grobme...@gmail.comwrote: On Wed, Jul 31, 2013 at 10:04 PM, John Blossom jblos...@gmail.com wrote: Social Media guidelines are up, I made a few minor tweaks to bring the Cloud Stack template up to date. https://cwiki.apache.org/confluence/display/WAVE/Apache+Wave+Social+Media+Guidelines This is very good! I would add that PMC members have a veto right to publications. Also I would add a note if majority is enough to publish something. reading this: ask on the Apache Wave-marketing mailing list made me think what this list is and what address it has. Cheers Christian On Wed, Jul 31, 2013 at 3:51 PM, John Blossom jblos...@gmail.com wrote: Ali, Great suggestion on guidelines, will post similar for us for review. John On Wed, Jul 31, 2013 at 2:32 PM, Ali Lown a...@lown.me.uk wrote: This seems like a good idea to me. As long as we keep multiple comitters as admins, I don't think there should be a problem. Could you first put together a page of guidelines on the wiki? (Like CloudStack has: https://cwiki.apache.org/CLOUDSTACK/social-media-guidelines.html) Ali On 31 Jul 2013 19:26, John Blossom jblos...@gmail.com wrote: In conjunction with the Hangouts, I'd like to suggest that we create a Page for Apache Wave on Google+ where announcements could be posted about Hangouts and which, if desired, could have multiple personal accounts authorized to manage the page. This would allow us to have stronger Apache branding for Hangout events and would make it easier for us to enable multiple people to act as hosts for the events. It would also enable people to add links to our branded Page presence on Google+, which could help to promote participation in the community and to provide information about the project and links to the official project Web site. Thoughts? It's very easy to set up, BTW. All the best, John Blossom -- http://www.grobmeier.de https://www.timeandbill.de
Re: Reminder: it should happen on-list (regarding upcoming Google Hangout)
Yes, the community needs to buy in to common communication. That said, everyone's invited to view or participate in Wednesday's Hangout and the results will be posted here, just as with any other interaction in the project. All the best, John Blossom email: jblos...@gmail.com phone: 203.293.8511 google+: https://google.com/+JohnBlossom On Thu, Jul 25, 2013 at 10:02 PM, Michael MacFadden michael.macfad...@gmail.com wrote: I am on board with this 100%. We just always need to temper that by making sure there is still visibility on these lists, as mentioned. I would be willing to install a wave server at work that should be persistent (always on). On 7/25/13 7:00 PM, John Blossom jblos...@gmail.com wrote: Yes, Joseph, the goal is to use the disciplines of Apache open source development to build a platform that will rock the world. The disciplines are important, but a sustainable, maintainable platform is the real goal that the disciplines facilitate. All the best, John Blossom email: jblos...@gmail.com phone: 203.293.8511 google+: https://google.com/+JohnBlossom On Thu, Jul 25, 2013 at 6:50 PM, Joseph Gentle jose...@gmail.com wrote: To be clear, our principle aim is to make a wave platform. Dogfooding our own software is only a major step if we call it one - I don't think we should move discussion there *yet*, but thats an obvious goal. Git isn't hosted in a subversion repository after all. -J On Thu, Jul 25, 2013 at 1:46 AM, Upayavira u...@odoko.co.uk wrote: Just a small thought to consider during this discussion. You are talking about some major changes to the tooling and workflow typical of Apache communities. Wave is currently in the incubator, making it a probationary project. I would say that the principal aim should be to understand the principles of the ASF, to demonstrate that understanding, and graduate from the incubator. Having done that, life will be easier when attempting such things as getting Wave enabled servers, engaging in PR, etc. Remember that graduation is based upon how the community operates, and has nothing to do with the quality, or otherwise, of the code-base. And the next big thing is getting that release out - proving that we understand how to correctly license(etc) our code. (We didn't actually get to the point of releasing, did we??) Upayavira On Wed, Jul 24, 2013, at 12:47 PM, Alfredo Abambres wrote: @Christian: below are some small considerations of mine about WWers and AW Disclosure: I'm a WWers member and I'm speaking as myself solely, not for the network/organization WWer.org. On Wed, Jul 24, 2013 at 11:35 AM, Christian Grobmeier grobme...@gmail.comwrote: I like WW being an independent community which creates buzz running by its own rules. At this moment, as I see it, *independent* is the keyword on all this conversation. BTW, there is always the possibility to bring the WW community to the ASF too. Given the tools WW is using, it doesn't make sense at the moment. Maybe later when AW is stable and installed at ASF it makes sense to include the WW community as part of the AW community. Something similar happened with Apache OpenOffice. People were running a support forum for OpenOffice and they have joined the project. Thanks for your suggestions, it's great to see that our work matter and that we can still add lots of value to the future of Wave and Apache Wave. I *personally* don't see WWer.org ever becoming a AW community (but things change, right?!). That doesn't mean, that the community (people) that now represent WWer.org can't form other communities, even within AW. IMO, WWers members are probably the best prepared ones to assume that role and make it happen, on a similar approach to your example about Apache OpenOffice support forum. It's great to know that those doors exist and may be open when needed. Once again thanks.
Re: Reminder: it should happen on-list (regarding upcoming Google Hangout)
Yes, Joseph, the goal is to use the disciplines of Apache open source development to build a platform that will rock the world. The disciplines are important, but a sustainable, maintainable platform is the real goal that the disciplines facilitate. All the best, John Blossom email: jblos...@gmail.com phone: 203.293.8511 google+: https://google.com/+JohnBlossom On Thu, Jul 25, 2013 at 6:50 PM, Joseph Gentle jose...@gmail.com wrote: To be clear, our principle aim is to make a wave platform. Dogfooding our own software is only a major step if we call it one - I don't think we should move discussion there *yet*, but thats an obvious goal. Git isn't hosted in a subversion repository after all. -J On Thu, Jul 25, 2013 at 1:46 AM, Upayavira u...@odoko.co.uk wrote: Just a small thought to consider during this discussion. You are talking about some major changes to the tooling and workflow typical of Apache communities. Wave is currently in the incubator, making it a probationary project. I would say that the principal aim should be to understand the principles of the ASF, to demonstrate that understanding, and graduate from the incubator. Having done that, life will be easier when attempting such things as getting Wave enabled servers, engaging in PR, etc. Remember that graduation is based upon how the community operates, and has nothing to do with the quality, or otherwise, of the code-base. And the next big thing is getting that release out - proving that we understand how to correctly license(etc) our code. (We didn't actually get to the point of releasing, did we??) Upayavira On Wed, Jul 24, 2013, at 12:47 PM, Alfredo Abambres wrote: @Christian: below are some small considerations of mine about WWers and AW Disclosure: I'm a WWers member and I'm speaking as myself solely, not for the network/organization WWer.org. On Wed, Jul 24, 2013 at 11:35 AM, Christian Grobmeier grobme...@gmail.comwrote: I like WW being an independent community which creates buzz running by its own rules. At this moment, as I see it, *independent* is the keyword on all this conversation. BTW, there is always the possibility to bring the WW community to the ASF too. Given the tools WW is using, it doesn't make sense at the moment. Maybe later when AW is stable and installed at ASF it makes sense to include the WW community as part of the AW community. Something similar happened with Apache OpenOffice. People were running a support forum for OpenOffice and they have joined the project. Thanks for your suggestions, it's great to see that our work matter and that we can still add lots of value to the future of Wave and Apache Wave. I *personally* don't see WWer.org ever becoming a AW community (but things change, right?!). That doesn't mean, that the community (people) that now represent WWer.org can't form other communities, even within AW. IMO, WWers members are probably the best prepared ones to assume that role and make it happen, on a similar approach to your example about Apache OpenOffice support forum. It's great to know that those doors exist and may be open when needed. Once again thanks.
Re: Delving into OT
Thanks, Michael, Ali, if you could please confirm that you'll be able to attend, that would be great. Any concerns, please don't hesitate to bring them up now, thanks. All the best, John Blossom email: jblos...@gmail.com phone: 203.293.8511 google+: https://google.com/+JohnBlossom On Wed, Jul 24, 2013 at 1:49 PM, Joseph Gentle jose...@gmail.com wrote: Great. I'd like to ask that everyone who attends has a basic understanding of how wave's current OT algorithm works. There are several videos and blog posts on the subject. Here's a video of me explaining the same algorithm in the context of sharejs: http://www.youtube.com/watch?v=CsfiADbXTPo ... but there's many more resources kicking around. -J On Wed, Jul 24, 2013 at 3:48 AM, Bruno Gonzalez (aka stenyak) sten...@gmail.com wrote: I may be able to assist to the hangout too. I've submitted my schedule to the doodle, but can't really guarantee I'll be there. On Tue, Jul 23, 2013 at 6:40 PM, John Blossom - Shore Communications Inc. jblos...@shore.com wrote: Michael, as long as you, Ari and Joseph can make it, and the scheduling tool said that you can, I think that we'll have the core of the discussion. The objective is not to put on a show as much as it is to get the core OT thinkers driving the discussion. Let the ideas drive the interest. BTW, I shifted it up a half your, I have a telecon that starts at 12.30. Consider this a kickoff event - let's shoot for somewhere south of an hour's worth of very productive conversation and then let's start thinking about how to keep the conversations going at a very productive level on a more regular basis. I am also totally for more impromptu efforts, but for the sake of the community if we can post our conversations for community-wide access, that can help. Best Regards, John Blossom President Shore Communications Inc. where content, technology and people meet. (Salesmark of Shore Communications Inc.) web: shore.com blog: contentblogger.com email: jblos...@shore.com phone: 203.293.8511 fax: 203.663.8259 twitter: jblossom https://twitter.com/jblossom google+: google.com/+JohnBlossom LinkedIn: John Blossom http://www.linkedin.com/in/johnblossom facebook: John Blossom skype: jblossom On Tue, Jul 23, 2013 at 12:01 PM, Michael MacFadden michael.macfad...@gmail.com wrote: John, Again I don't mean to delay the effort. But looking at the attendee responses, I only see one person on the list that has agreed to attend that has really been heavily working OT issues in the last year or so (Joseph). So I am not sure what the objectives or the outcome of the meeting will be with such low participation from OT experts. By no means do I mean to diminish any one else's capabilities, but if the intention is to really dig in to OT, then I think we night need additional participation to be successful. ~Michael On Jul 23, 2013, at 8:40 AM, John Blossom - Shore Communications Inc. jblos...@shore.com wrote: I agree wholeheartedly that the entire Apache Wave community should be excited about participating, and I assume that everyone on the list is seeing this and should want to join in. If we have to reschedule, no biggie, we're at square zero and it's more about getting people on board and brainstorming. If you've been invited already, then invite others who you think should be excited. To that end, here's the link to the event: https://plus.google.com/u/0/+JohnBlossom/posts/KTB6EkxB99q If you're an Apache Wave committer and you miss the event, then you'll be able to view it via YouTube via a link that I'll post here. I do want to start accelerating communications more in the community, but this is a busy week. Best Regards, John Blossom President Shore Communications Inc. where content, technology and people meet. (Salesmark of Shore Communications Inc.) web: shore.com blog: contentblogger.com email: jblos...@shore.com phone: 203.293.8511 fax: 203.663.8259 twitter: jblossom https://twitter.com/jblossom google+: google.com/+JohnBlossom LinkedIn: John Blossom http://www.linkedin.com/in/johnblossom facebook: John Blossom skype: jblossom On Tue, Jul 23, 2013 at 10:16 AM, Michael MacFadden michael.macfad...@gmail.com wrote: I don't want to delay this thing, but are there really no other people who are interested in this? I think we should really try to reach out personally to some other folks to see if we can attract them in. ~Michael On 7/23/13 7:00 AM, John Blossom jblos...@gmail.com wrote: 1200 ET, btw - bad math. All the best, John Blossom email: jblos...@gmail.com phone: 203.293.8511 google+: https://google.com/+JohnBlossom On Tue, Jul 23, 2013 at 9:53 AM, John Blossom jblos...@gmail.com wrote
Re: Delving into OT
OK, the consensus time/date for the hangout seems to be Wednesday, 31 July, 1600 UTC (1000 EDT). I will create and event later today in Hangouts. If you're on the wave-dev list and have a Google login, please forward me your email ID/Google+ ID privately and I will add you to the circle of invitees. I Have Joseph's ID already and I believe Ali and Michael also, but if you have a doubt, just send it along. If you don't make the hangout itself, I will be sure to share the link here for the common record. All the best, John Blossom email: jblos...@gmail.com phone: 203.293.8511 google+: https://google.com/+JohnBlossom On Thu, Jul 18, 2013 at 9:06 AM, John Blossom jblos...@gmail.com wrote: Ali, New tool for me, but worth a try. Here's the Doodle link: http://doodle.com/5z7usamgh7kee4gf I am open to other times, but these seem to be the most logical. Please remember that UTC at this time of year is one hour less ahead from the U.S. time zones due to Daylight Savings Time - e.g., ET is UTC+4 right now. All the best, John Blossom email: jblos...@gmail.com phone: 203.293.8511 google+: https://google.com/+JohnBlossom On Wed, Jul 17, 2013 at 5:57 PM, Ali Lown a...@lown.me.uk wrote: I agree that another hangout sounds fun. John, how about setting up a Doodle for us to mark some dates on? (http://doodle.com/) Ali On 17 July 2013 15:33, John Blossom jblos...@gmail.com wrote: Great, Michael, find a date that works for you that seems to match with others' interests and I will be glad to arrange for this. We can have the link available but not make public, if that helps to encourage constructive participation. All the best, John Blossom email: jblos...@gmail.com phone: 203.293.8511 google+: https://google.com/+JohnBlossom On Wed, Jul 17, 2013 at 10:30 AM, Michael MacFadden michael.macfad...@gmail.com wrote: I am definitely interested. I will check my schedule for next week. ~Michael On 7/16/13 11:02 AM, John Blossom jblos...@gmail.com wrote: That was my thought, also. ApacheWavers, please respond with some avails calibrated to UT+1 for this week and next week. Time to get this party started! My L,A. project is waiting for the funder to come through, but my Nkommo project is gaining steam - hopeful that we'll have some exciting announcements fairly soon. Time to change the world with Wave!!! All the best, John Blossom email: jblos...@gmail.com phone: 203.293.8511 google+: https://google.com/+JohnBlossom On Tue, Jul 16, 2013 at 1:58 PM, Joseph Gentle jose...@gmail.com wrote: I've had a busy few weeks - gearing up to launch our product at work. We should organize another hangout sometime. -J On Sat, Jul 13, 2013 at 7:24 AM, John Blossom - Shore Communications Inc. jblos...@shore.com wrote: Soo...how is this initiative going? How may I help to move it forward? Best Regards, John Blossom President Shore Communications Inc. where content, technology and people meet. (Salesmark of Shore Communications Inc.) web: shore.com blog: contentblogger.com email: jblos...@shore.com phone: 203.293.8511 fax: 203.663.8259 twitter: jblossom https://twitter.com/jblossom google+: google.com/+JohnBlossom LinkedIn: John Blossom http://www.linkedin.com/in/johnblossom facebook: John Blossom skype: jblossom On Mon, Jul 8, 2013 at 9:43 AM, John Blossom jblos...@gmail.com wrote: Ingenious, Torben, certainly adds efficiency. John On Mon, Jul 1, 2013 at 4:38 AM, Torben Weis torben.w...@gmail.com wrote: 2013/6/25 Joseph Gentle jose...@gmail.com When peers connect, they send each other missing ops. Figuring out which ops are missing can be surprisingly tricky - but we'll figure that out later. New ops must be ingested in order, so we always ingest an operation after ingesting all of its parents. Just use a Merkle Tree that is at the same time a prefix tree with respect to the hashes of the ops (explanation below). The bandwidth usage is O(1) if both clients are in sync and O(log n) if they have one or few different ops and O(n) in the worst case, where n in the number of ops. Constructing the tree is simple. Let the hash function output 20 bytes and let's encode this in hex. This results in a hash-string of 40 hex-characters for each operation. Each node hashes over the hashes of its children. Leaf-nodes correspond to operations and thus use the hash value of their respective operation. The tree-invariant is that all siblings on level x share the same prefix of x hex-characters. The tree is not sent over the network. Instead, clients start comparing the hashes at the root. Two clients compare their root hash. If it is equal
Re: Delving into OT
1200 ET, btw - bad math. All the best, John Blossom email: jblos...@gmail.com phone: 203.293.8511 google+: https://google.com/+JohnBlossom On Tue, Jul 23, 2013 at 9:53 AM, John Blossom jblos...@gmail.com wrote: OK, the consensus time/date for the hangout seems to be Wednesday, 31 July, 1600 UTC (1000 EDT). I will create and event later today in Hangouts. If you're on the wave-dev list and have a Google login, please forward me your email ID/Google+ ID privately and I will add you to the circle of invitees. I Have Joseph's ID already and I believe Ali and Michael also, but if you have a doubt, just send it along. If you don't make the hangout itself, I will be sure to share the link here for the common record. All the best, John Blossom email: jblos...@gmail.com phone: 203.293.8511 google+: https://google.com/+JohnBlossom On Thu, Jul 18, 2013 at 9:06 AM, John Blossom jblos...@gmail.com wrote: Ali, New tool for me, but worth a try. Here's the Doodle link: http://doodle.com/5z7usamgh7kee4gf I am open to other times, but these seem to be the most logical. Please remember that UTC at this time of year is one hour less ahead from the U.S. time zones due to Daylight Savings Time - e.g., ET is UTC+4 right now. All the best, John Blossom email: jblos...@gmail.com phone: 203.293.8511 google+: https://google.com/+JohnBlossom On Wed, Jul 17, 2013 at 5:57 PM, Ali Lown a...@lown.me.uk wrote: I agree that another hangout sounds fun. John, how about setting up a Doodle for us to mark some dates on? (http://doodle.com/) Ali On 17 July 2013 15:33, John Blossom jblos...@gmail.com wrote: Great, Michael, find a date that works for you that seems to match with others' interests and I will be glad to arrange for this. We can have the link available but not make public, if that helps to encourage constructive participation. All the best, John Blossom email: jblos...@gmail.com phone: 203.293.8511 google+: https://google.com/+JohnBlossom On Wed, Jul 17, 2013 at 10:30 AM, Michael MacFadden michael.macfad...@gmail.com wrote: I am definitely interested. I will check my schedule for next week. ~Michael On 7/16/13 11:02 AM, John Blossom jblos...@gmail.com wrote: That was my thought, also. ApacheWavers, please respond with some avails calibrated to UT+1 for this week and next week. Time to get this party started! My L,A. project is waiting for the funder to come through, but my Nkommo project is gaining steam - hopeful that we'll have some exciting announcements fairly soon. Time to change the world with Wave!!! All the best, John Blossom email: jblos...@gmail.com phone: 203.293.8511 google+: https://google.com/+JohnBlossom On Tue, Jul 16, 2013 at 1:58 PM, Joseph Gentle jose...@gmail.com wrote: I've had a busy few weeks - gearing up to launch our product at work. We should organize another hangout sometime. -J On Sat, Jul 13, 2013 at 7:24 AM, John Blossom - Shore Communications Inc. jblos...@shore.com wrote: Soo...how is this initiative going? How may I help to move it forward? Best Regards, John Blossom President Shore Communications Inc. where content, technology and people meet. (Salesmark of Shore Communications Inc.) web: shore.com blog: contentblogger.com email: jblos...@shore.com phone: 203.293.8511 fax: 203.663.8259 twitter: jblossom https://twitter.com/jblossom google+: google.com/+JohnBlossom LinkedIn: John Blossom http://www.linkedin.com/in/johnblossom facebook: John Blossom skype: jblossom On Mon, Jul 8, 2013 at 9:43 AM, John Blossom jblos...@gmail.com wrote: Ingenious, Torben, certainly adds efficiency. John On Mon, Jul 1, 2013 at 4:38 AM, Torben Weis torben.w...@gmail.com wrote: 2013/6/25 Joseph Gentle jose...@gmail.com When peers connect, they send each other missing ops. Figuring out which ops are missing can be surprisingly tricky - but we'll figure that out later. New ops must be ingested in order, so we always ingest an operation after ingesting all of its parents. Just use a Merkle Tree that is at the same time a prefix tree with respect to the hashes of the ops (explanation below). The bandwidth usage is O(1) if both clients are in sync and O(log n) if they have one or few different ops and O(n) in the worst case, where n in the number of ops. Constructing the tree is simple. Let the hash function output 20 bytes and let's encode this in hex. This results in a hash-string of 40 hex-characters for each operation. Each node hashes over the hashes of its children. Leaf-nodes correspond to operations and thus use the hash value of their respective operation. The tree-invariant is that all siblings
Re: Delving into OT
I agree wholeheartedly that the entire Apache Wave community should be excited about participating, and I assume that everyone on the list is seeing this and should want to join in. If we have to reschedule, no biggie, we're at square zero and it's more about getting people on board and brainstorming. If you've been invited already, then invite others who you think should be excited. To that end, here's the link to the event: https://plus.google.com/u/0/+JohnBlossom/posts/KTB6EkxB99q If you're an Apache Wave committer and you miss the event, then you'll be able to view it via YouTube via a link that I'll post here. I do want to start accelerating communications more in the community, but this is a busy week. Best Regards, John Blossom President Shore Communications Inc. where content, technology and people meet. (Salesmark of Shore Communications Inc.) web: shore.com blog: contentblogger.com email: jblos...@shore.com phone: 203.293.8511 fax: 203.663.8259 twitter: jblossom https://twitter.com/jblossom google+: google.com/+JohnBlossom LinkedIn: John Blossom http://www.linkedin.com/in/johnblossom facebook: John Blossom skype: jblossom On Tue, Jul 23, 2013 at 10:16 AM, Michael MacFadden michael.macfad...@gmail.com wrote: I don't want to delay this thing, but are there really no other people who are interested in this? I think we should really try to reach out personally to some other folks to see if we can attract them in. ~Michael On 7/23/13 7:00 AM, John Blossom jblos...@gmail.com wrote: 1200 ET, btw - bad math. All the best, John Blossom email: jblos...@gmail.com phone: 203.293.8511 google+: https://google.com/+JohnBlossom On Tue, Jul 23, 2013 at 9:53 AM, John Blossom jblos...@gmail.com wrote: OK, the consensus time/date for the hangout seems to be Wednesday, 31 July, 1600 UTC (1000 EDT). I will create and event later today in Hangouts. If you're on the wave-dev list and have a Google login, please forward me your email ID/Google+ ID privately and I will add you to the circle of invitees. I Have Joseph's ID already and I believe Ali and Michael also, but if you have a doubt, just send it along. If you don't make the hangout itself, I will be sure to share the link here for the common record. All the best, John Blossom email: jblos...@gmail.com phone: 203.293.8511 google+: https://google.com/+JohnBlossom On Thu, Jul 18, 2013 at 9:06 AM, John Blossom jblos...@gmail.com wrote: Ali, New tool for me, but worth a try. Here's the Doodle link: http://doodle.com/5z7usamgh7kee4gf I am open to other times, but these seem to be the most logical. Please remember that UTC at this time of year is one hour less ahead from the U.S. time zones due to Daylight Savings Time - e.g., ET is UTC+4 right now. All the best, John Blossom email: jblos...@gmail.com phone: 203.293.8511 google+: https://google.com/+JohnBlossom On Wed, Jul 17, 2013 at 5:57 PM, Ali Lown a...@lown.me.uk wrote: I agree that another hangout sounds fun. John, how about setting up a Doodle for us to mark some dates on? (http://doodle.com/) Ali On 17 July 2013 15:33, John Blossom jblos...@gmail.com wrote: Great, Michael, find a date that works for you that seems to match with others' interests and I will be glad to arrange for this. We can have the link available but not make public, if that helps to encourage constructive participation. All the best, John Blossom email: jblos...@gmail.com phone: 203.293.8511 google+: https://google.com/+JohnBlossom On Wed, Jul 17, 2013 at 10:30 AM, Michael MacFadden michael.macfad...@gmail.com wrote: I am definitely interested. I will check my schedule for next week. ~Michael On 7/16/13 11:02 AM, John Blossom jblos...@gmail.com wrote: That was my thought, also. ApacheWavers, please respond with some avails calibrated to UT+1 for this week and next week. Time to get this party started! My L,A. project is waiting for the funder to come through, but my Nkommo project is gaining steam - hopeful that we'll have some exciting announcements fairly soon. Time to change the world with Wave!!! All the best, John Blossom email: jblos...@gmail.com phone: 203.293.8511 google+: https://google.com/+JohnBlossom On Tue, Jul 16, 2013 at 1:58 PM, Joseph Gentle jose...@gmail.com wrote: I've had a busy few weeks - gearing up to launch our product at work. We should organize another hangout sometime. -J On Sat, Jul 13, 2013 at 7:24 AM, John Blossom - Shore Communications Inc. jblos...@shore.com wrote: Soo...how is this initiative going? How may I help to move it forward? Best Regards, John Blossom President Shore Communications Inc. where content, technology and people meet. (Salesmark
Re: Delving into OT
Michael, as long as you, Ari and Joseph can make it, and the scheduling tool said that you can, I think that we'll have the core of the discussion. The objective is not to put on a show as much as it is to get the core OT thinkers driving the discussion. Let the ideas drive the interest. BTW, I shifted it up a half your, I have a telecon that starts at 12.30. Consider this a kickoff event - let's shoot for somewhere south of an hour's worth of very productive conversation and then let's start thinking about how to keep the conversations going at a very productive level on a more regular basis. I am also totally for more impromptu efforts, but for the sake of the community if we can post our conversations for community-wide access, that can help. Best Regards, John Blossom President Shore Communications Inc. where content, technology and people meet. (Salesmark of Shore Communications Inc.) web: shore.com blog: contentblogger.com email: jblos...@shore.com phone: 203.293.8511 fax: 203.663.8259 twitter: jblossom https://twitter.com/jblossom google+: google.com/+JohnBlossom LinkedIn: John Blossom http://www.linkedin.com/in/johnblossom facebook: John Blossom skype: jblossom On Tue, Jul 23, 2013 at 12:01 PM, Michael MacFadden michael.macfad...@gmail.com wrote: John, Again I don't mean to delay the effort. But looking at the attendee responses, I only see one person on the list that has agreed to attend that has really been heavily working OT issues in the last year or so (Joseph). So I am not sure what the objectives or the outcome of the meeting will be with such low participation from OT experts. By no means do I mean to diminish any one else's capabilities, but if the intention is to really dig in to OT, then I think we night need additional participation to be successful. ~Michael On Jul 23, 2013, at 8:40 AM, John Blossom - Shore Communications Inc. jblos...@shore.com wrote: I agree wholeheartedly that the entire Apache Wave community should be excited about participating, and I assume that everyone on the list is seeing this and should want to join in. If we have to reschedule, no biggie, we're at square zero and it's more about getting people on board and brainstorming. If you've been invited already, then invite others who you think should be excited. To that end, here's the link to the event: https://plus.google.com/u/0/+JohnBlossom/posts/KTB6EkxB99q If you're an Apache Wave committer and you miss the event, then you'll be able to view it via YouTube via a link that I'll post here. I do want to start accelerating communications more in the community, but this is a busy week. Best Regards, John Blossom President Shore Communications Inc. where content, technology and people meet. (Salesmark of Shore Communications Inc.) web: shore.com blog: contentblogger.com email: jblos...@shore.com phone: 203.293.8511 fax: 203.663.8259 twitter: jblossom https://twitter.com/jblossom google+: google.com/+JohnBlossom LinkedIn: John Blossom http://www.linkedin.com/in/johnblossom facebook: John Blossom skype: jblossom On Tue, Jul 23, 2013 at 10:16 AM, Michael MacFadden michael.macfad...@gmail.com wrote: I don't want to delay this thing, but are there really no other people who are interested in this? I think we should really try to reach out personally to some other folks to see if we can attract them in. ~Michael On 7/23/13 7:00 AM, John Blossom jblos...@gmail.com wrote: 1200 ET, btw - bad math. All the best, John Blossom email: jblos...@gmail.com phone: 203.293.8511 google+: https://google.com/+JohnBlossom On Tue, Jul 23, 2013 at 9:53 AM, John Blossom jblos...@gmail.com wrote: OK, the consensus time/date for the hangout seems to be Wednesday, 31 July, 1600 UTC (1000 EDT). I will create and event later today in Hangouts. If you're on the wave-dev list and have a Google login, please forward me your email ID/Google+ ID privately and I will add you to the circle of invitees. I Have Joseph's ID already and I believe Ali and Michael also, but if you have a doubt, just send it along. If you don't make the hangout itself, I will be sure to share the link here for the common record. All the best, John Blossom email: jblos...@gmail.com phone: 203.293.8511 google+: https://google.com/+JohnBlossom On Thu, Jul 18, 2013 at 9:06 AM, John Blossom jblos...@gmail.com wrote: Ali, New tool for me, but worth a try. Here's the Doodle link: http://doodle.com/5z7usamgh7kee4gf I am open to other times, but these seem to be the most logical. Please remember that UTC at this time of year is one hour less ahead from the U.S. time zones due to Daylight Savings Time - e.g., ET is UTC+4 right now. All the best, John Blossom email: jblos...@gmail.com phone: 203.293.8511 google+: https://google.com/+JohnBlossom
Re: Reminder: it should happen on-list (regarding upcoming Google Hangout)
On a related note, it would help if we could set up a Google+ Page and Twitter account for Apache Wave, so that we can have a stream for announcements that reflect the official consensus of the community. Facebook probably too, but I don't see that as being as strong a tool for reaching developers and tech product teams. All the best, John Blossom email: jblos...@gmail.com phone: 203.293.8511 google+: https://google.com/+JohnBlossom On Tue, Jul 23, 2013 at 3:17 PM, Joseph Gentle jose...@gmail.com wrote: Speaking of which, I'd like to start actually using wave in this community. We should put a brief agenda in a wave somewhere for this meeting, and annotate it with things discussed. We can copy it out afterwards for the mailing list, but in general I want to use this amazing tool we're making. -J On Tue, Jul 23, 2013 at 8:44 AM, Christian Grobmeier grobme...@gmail.com wrote: Hi folks, please don't forget that all Wave related activties should happen on this list so others can follow. I read on the Hangout invitiation the core developers have agreed on $x, but cannot find that agreement here. Thanks for considering and caring about this very important suggestion. Cheers Christian -- http://www.grobmeier.de https://www.timeandbill.de
Re: Reminder: it should happen on-list (regarding upcoming Google Hangout)
@Zachary, to be clear, I do think that WaveWatchers should continue to play an important role in developing enthusiasm and support for Apache Wave,but we need social media channels that reflect the consensus and the official announcements of the Apache Wave community and which can carry the brand forward to more visibility and awareness. That will help to attract more developers, projects, etc. All the best, John Blossom email: jblos...@gmail.com phone: 203.293.8511 google+: https://google.com/+JohnBlossom On Tue, Jul 23, 2013 at 7:27 PM, Zachary “Gamer_Z.” Yaro zmy...@gmail.comwrote: I also support this. So far basically all social updates on the project have come from the Wave Watchers (at least on G+ http://gplus.to/wavewatchers, FB http://facebook.com/wavewatchers, and Twitterhttp://twitter.com/thewavewatchers ). @Christian, what is the Apache procedure for setting up these social profiles? —Zachary “Gamer_Z.” Yaro On 23 July 2013 15:47, Vicente J. Ruiz Jurado v...@ourproject.org wrote: El 23/07/13 21:17, Joseph Gentle escribió: Speaking of which, I'd like to start actually using wave in this community. +1000 BR, Vicente
Re: Delving into OT
Ali, New tool for me, but worth a try. Here's the Doodle link: http://doodle.com/5z7usamgh7kee4gf I am open to other times, but these seem to be the most logical. Please remember that UTC at this time of year is one hour less ahead from the U.S. time zones due to Daylight Savings Time - e.g., ET is UTC+4 right now. All the best, John Blossom email: jblos...@gmail.com phone: 203.293.8511 google+: https://google.com/+JohnBlossom On Wed, Jul 17, 2013 at 5:57 PM, Ali Lown a...@lown.me.uk wrote: I agree that another hangout sounds fun. John, how about setting up a Doodle for us to mark some dates on? (http://doodle.com/) Ali On 17 July 2013 15:33, John Blossom jblos...@gmail.com wrote: Great, Michael, find a date that works for you that seems to match with others' interests and I will be glad to arrange for this. We can have the link available but not make public, if that helps to encourage constructive participation. All the best, John Blossom email: jblos...@gmail.com phone: 203.293.8511 google+: https://google.com/+JohnBlossom On Wed, Jul 17, 2013 at 10:30 AM, Michael MacFadden michael.macfad...@gmail.com wrote: I am definitely interested. I will check my schedule for next week. ~Michael On 7/16/13 11:02 AM, John Blossom jblos...@gmail.com wrote: That was my thought, also. ApacheWavers, please respond with some avails calibrated to UT+1 for this week and next week. Time to get this party started! My L,A. project is waiting for the funder to come through, but my Nkommo project is gaining steam - hopeful that we'll have some exciting announcements fairly soon. Time to change the world with Wave!!! All the best, John Blossom email: jblos...@gmail.com phone: 203.293.8511 google+: https://google.com/+JohnBlossom On Tue, Jul 16, 2013 at 1:58 PM, Joseph Gentle jose...@gmail.com wrote: I've had a busy few weeks - gearing up to launch our product at work. We should organize another hangout sometime. -J On Sat, Jul 13, 2013 at 7:24 AM, John Blossom - Shore Communications Inc. jblos...@shore.com wrote: Soo...how is this initiative going? How may I help to move it forward? Best Regards, John Blossom President Shore Communications Inc. where content, technology and people meet. (Salesmark of Shore Communications Inc.) web: shore.com blog: contentblogger.com email: jblos...@shore.com phone: 203.293.8511 fax: 203.663.8259 twitter: jblossom https://twitter.com/jblossom google+: google.com/+JohnBlossom LinkedIn: John Blossom http://www.linkedin.com/in/johnblossom facebook: John Blossom skype: jblossom On Mon, Jul 8, 2013 at 9:43 AM, John Blossom jblos...@gmail.com wrote: Ingenious, Torben, certainly adds efficiency. John On Mon, Jul 1, 2013 at 4:38 AM, Torben Weis torben.w...@gmail.com wrote: 2013/6/25 Joseph Gentle jose...@gmail.com When peers connect, they send each other missing ops. Figuring out which ops are missing can be surprisingly tricky - but we'll figure that out later. New ops must be ingested in order, so we always ingest an operation after ingesting all of its parents. Just use a Merkle Tree that is at the same time a prefix tree with respect to the hashes of the ops (explanation below). The bandwidth usage is O(1) if both clients are in sync and O(log n) if they have one or few different ops and O(n) in the worst case, where n in the number of ops. Constructing the tree is simple. Let the hash function output 20 bytes and let's encode this in hex. This results in a hash-string of 40 hex-characters for each operation. Each node hashes over the hashes of its children. Leaf-nodes correspond to operations and thus use the hash value of their respective operation. The tree-invariant is that all siblings on level x share the same prefix of x hex-characters. The tree is not sent over the network. Instead, clients start comparing the hashes at the root. Two clients compare their root hash. If it is equal, the entire tree is equal and therefore they are in sync. If not, they download all direct children and repeat the procedure for each sub-tree rooted by one of these children. For example, if child number 3 has a different hash, but all others share the same hash, then we have learned that there are one or more ops with a hash of 3... that are different and need syncing. Typically we can limit the depth of the tree to few levels. 8 levels already yield a tree that could store 16^8 possible ops. So in the worst case two clients need to wait for 8 round-trips to determine a missing op. In addition, each client sends a time stamp. So
Re: Delving into OT
That was my thought, also. ApacheWavers, please respond with some avails calibrated to UT+1 for this week and next week. Time to get this party started! My L,A. project is waiting for the funder to come through, but my Nkommo project is gaining steam - hopeful that we'll have some exciting announcements fairly soon. Time to change the world with Wave!!! All the best, John Blossom email: jblos...@gmail.com phone: 203.293.8511 google+: https://google.com/+JohnBlossom On Tue, Jul 16, 2013 at 1:58 PM, Joseph Gentle jose...@gmail.com wrote: I've had a busy few weeks - gearing up to launch our product at work. We should organize another hangout sometime. -J On Sat, Jul 13, 2013 at 7:24 AM, John Blossom - Shore Communications Inc. jblos...@shore.com wrote: Soo...how is this initiative going? How may I help to move it forward? Best Regards, John Blossom President Shore Communications Inc. where content, technology and people meet. (Salesmark of Shore Communications Inc.) web: shore.com blog: contentblogger.com email: jblos...@shore.com phone: 203.293.8511 fax: 203.663.8259 twitter: jblossom https://twitter.com/jblossom google+: google.com/+JohnBlossom LinkedIn: John Blossom http://www.linkedin.com/in/johnblossom facebook: John Blossom skype: jblossom On Mon, Jul 8, 2013 at 9:43 AM, John Blossom jblos...@gmail.com wrote: Ingenious, Torben, certainly adds efficiency. John On Mon, Jul 1, 2013 at 4:38 AM, Torben Weis torben.w...@gmail.com wrote: 2013/6/25 Joseph Gentle jose...@gmail.com When peers connect, they send each other missing ops. Figuring out which ops are missing can be surprisingly tricky - but we'll figure that out later. New ops must be ingested in order, so we always ingest an operation after ingesting all of its parents. Just use a Merkle Tree that is at the same time a prefix tree with respect to the hashes of the ops (explanation below). The bandwidth usage is O(1) if both clients are in sync and O(log n) if they have one or few different ops and O(n) in the worst case, where n in the number of ops. Constructing the tree is simple. Let the hash function output 20 bytes and let's encode this in hex. This results in a hash-string of 40 hex-characters for each operation. Each node hashes over the hashes of its children. Leaf-nodes correspond to operations and thus use the hash value of their respective operation. The tree-invariant is that all siblings on level x share the same prefix of x hex-characters. The tree is not sent over the network. Instead, clients start comparing the hashes at the root. Two clients compare their root hash. If it is equal, the entire tree is equal and therefore they are in sync. If not, they download all direct children and repeat the procedure for each sub-tree rooted by one of these children. For example, if child number 3 has a different hash, but all others share the same hash, then we have learned that there are one or more ops with a hash of 3... that are different and need syncing. Typically we can limit the depth of the tree to few levels. 8 levels already yield a tree that could store 16^8 possible ops. So in the worst case two clients need to wait for 8 round-trips to determine a missing op. In addition, each client sends a time stamp. So when syncing we report the last time stamp received from this client and ask for all ops this client received later. If these are few, then simply get them (even if we know some of the ops already, because we got them from another client). If there are too many ops, fall back to the merkle tree. With a good approximation of RTT and bandwidth, it is easy to calculate which algorithm is the best to sync two clients. Greetings Torben
Re: Delving into OT
Soo...how is this initiative going? How may I help to move it forward? Best Regards, John Blossom President Shore Communications Inc. where content, technology and people meet. (Salesmark of Shore Communications Inc.) web: shore.com blog: contentblogger.com email: jblos...@shore.com phone: 203.293.8511 fax: 203.663.8259 twitter: jblossom https://twitter.com/jblossom google+: google.com/+JohnBlossom LinkedIn: John Blossom http://www.linkedin.com/in/johnblossom facebook: John Blossom skype: jblossom On Mon, Jul 8, 2013 at 9:43 AM, John Blossom jblos...@gmail.com wrote: Ingenious, Torben, certainly adds efficiency. John On Mon, Jul 1, 2013 at 4:38 AM, Torben Weis torben.w...@gmail.com wrote: 2013/6/25 Joseph Gentle jose...@gmail.com When peers connect, they send each other missing ops. Figuring out which ops are missing can be surprisingly tricky - but we'll figure that out later. New ops must be ingested in order, so we always ingest an operation after ingesting all of its parents. Just use a Merkle Tree that is at the same time a prefix tree with respect to the hashes of the ops (explanation below). The bandwidth usage is O(1) if both clients are in sync and O(log n) if they have one or few different ops and O(n) in the worst case, where n in the number of ops. Constructing the tree is simple. Let the hash function output 20 bytes and let's encode this in hex. This results in a hash-string of 40 hex-characters for each operation. Each node hashes over the hashes of its children. Leaf-nodes correspond to operations and thus use the hash value of their respective operation. The tree-invariant is that all siblings on level x share the same prefix of x hex-characters. The tree is not sent over the network. Instead, clients start comparing the hashes at the root. Two clients compare their root hash. If it is equal, the entire tree is equal and therefore they are in sync. If not, they download all direct children and repeat the procedure for each sub-tree rooted by one of these children. For example, if child number 3 has a different hash, but all others share the same hash, then we have learned that there are one or more ops with a hash of 3... that are different and need syncing. Typically we can limit the depth of the tree to few levels. 8 levels already yield a tree that could store 16^8 possible ops. So in the worst case two clients need to wait for 8 round-trips to determine a missing op. In addition, each client sends a time stamp. So when syncing we report the last time stamp received from this client and ask for all ops this client received later. If these are few, then simply get them (even if we know some of the ops already, because we got them from another client). If there are too many ops, fall back to the merkle tree. With a good approximation of RTT and bandwidth, it is easy to calculate which algorithm is the best to sync two clients. Greetings Torben
Re: Delving into OT
Ingenious, Torben, certainly adds efficiency. John On Mon, Jul 1, 2013 at 4:38 AM, Torben Weis torben.w...@gmail.com wrote: 2013/6/25 Joseph Gentle jose...@gmail.com When peers connect, they send each other missing ops. Figuring out which ops are missing can be surprisingly tricky - but we'll figure that out later. New ops must be ingested in order, so we always ingest an operation after ingesting all of its parents. Just use a Merkle Tree that is at the same time a prefix tree with respect to the hashes of the ops (explanation below). The bandwidth usage is O(1) if both clients are in sync and O(log n) if they have one or few different ops and O(n) in the worst case, where n in the number of ops. Constructing the tree is simple. Let the hash function output 20 bytes and let's encode this in hex. This results in a hash-string of 40 hex-characters for each operation. Each node hashes over the hashes of its children. Leaf-nodes correspond to operations and thus use the hash value of their respective operation. The tree-invariant is that all siblings on level x share the same prefix of x hex-characters. The tree is not sent over the network. Instead, clients start comparing the hashes at the root. Two clients compare their root hash. If it is equal, the entire tree is equal and therefore they are in sync. If not, they download all direct children and repeat the procedure for each sub-tree rooted by one of these children. For example, if child number 3 has a different hash, but all others share the same hash, then we have learned that there are one or more ops with a hash of 3... that are different and need syncing. Typically we can limit the depth of the tree to few levels. 8 levels already yield a tree that could store 16^8 possible ops. So in the worst case two clients need to wait for 8 round-trips to determine a missing op. In addition, each client sends a time stamp. So when syncing we report the last time stamp received from this client and ask for all ops this client received later. If these are few, then simply get them (even if we know some of the ops already, because we got them from another client). If there are too many ops, fall back to the merkle tree. With a good approximation of RTT and bandwidth, it is easy to calculate which algorithm is the best to sync two clients. Greetings Torben
A New Committer
Hello, I caught up with some emails over our holiday weekend and discovered that I have been voted in as an Apache Wave committer. Thanks! I am so glad to be a part of this great team that's starting to take Wave in some very exciting directions. I see my role as vision-bearer, product and marketing support and management, and occasional mud-wrestling with the details of technology when some eyes on the prize perspective is needed most. Feel free to suggest other roles or parameters that can guide my contributions. One key thing that I'd like to chip away at is getting our Web presences sussed out a bit more. Web sites/ownership, social media presences, communications with the media - all of these need to get organized for success. Example: shouldn't waveprotocol.org be labeled clearly as an Apache Wave asset? Looking forward to your thoughts and always glad to communicate in this channel as project protocol requires, as well as other channels which may help to accelerate the efficiency of this channel. All the best, John Blossom email: jblos...@gmail.com phone: 203.293.8511 google+: https://google.com/+JohnBlossom
Re: A New Committer
Ali, Thanks so much, thoughts below. Best, John On Mon, Jul 8, 2013 at 10:28 AM, Ali Lown a...@lown.me.uk wrote: Heh. This saves us having to write an [ANNOUNCE] for you... FIRST! Tee hee. One key thing that I'd like to chip away at is getting our Web presences sussed out a bit more. Web sites/ownership, social media presences, communications with the media - all of these need to get organized for success. I am not sure what sort of 'social media presence' would make sense for an Apache project? Could you clarify? One of the challenges that many products/platforms have is awareness of a given presence as a brand. When people say Apache Wave in places like Facebook or Google+ or Twitter, for example, we want people to catch on that Apache Wave communicates about itself via social media to developers and to the public via more than just its own Web site. So it would make sense to have for official announcements and general communications a Facebook page, a Google+ page, a Twitter account and perhaps a LinkedIn account. This is important for people referencing us in their posts as well as for our own communications. So, for example, when I write a post in Google+ that references Apache Wave, a +Apache Wave link will provide a hyperlink in that post to an Apache Wave page on Google+, which can have announcements and links to our official site. These are fundamental and important marketing tools, IMO, and can enable us to publicise key milestones and services availability more effectively. Example: shouldn't waveprotocol.org be labeled clearly as an Apache Wave asset? The wave protocol site is controlled by Michael (IIRC), and is was not originally directly related to the Apache project, rather the open-source protocol behind wave. (Of which we seem to have become the keepers). We have had several attempts in the past to migrate the useful information over to the wiki here, which I think is now complete. (If anybody knows any relevant, up-to-date information left on waveprotocol.org that is not on the wiki here, please add it!) As such, I don't know if there is any point in keeping waveprotocol.org any more? (Perhaps it should just redirect to our incubator site?) I am thinking that a redirect would be the right thing to do if all of the information is migrated, presuming that we have control of the DNS record to do this. We need to make the Apache ownership of the brand 100 percent clear. Ali
Update on Potential Projects for Apache Wave Software
Hello, As some of you may be aware, one of the platforms from which I am advocating for the renewal of Apache Wave development is to devise communications that will be well-configured for the next billion people coming online. The specific project that I am starting to gear up towards this end is called Project Nkommo, which in sum suggests turning Web development on its head and building the internet of everything from the village level on up rather than from the cities on down. A PDF overview is available at: https://docs.google.com/file/d/10COolk_Equ_fK7nMFEZ-GWZhRH1Ew9_fZHbtL5jzHd_tx34ql73YHRgm_8eeqhU7zz3Cz1XZMg0ePmqA/edit?usp=sharing WaveTek, a Nigeria-based company, is now a technology partner for Project Nkommo and we're exploring actively how to build this bottom up approach in the months ahead on a demonstration project basis. Companies such as Google and Microsoft have expressed interest in seeing how WaveTek and Nkommo can create more receptivity to their products and services. So as the committed team of Apache Wave looks at issues such as offline performance and OT for P2P-style communications in a high-performance mobile mode, bear in mind that there may be a very real, cutting-edge project that may benefit from these concepts - in other words, you're not just designing to wind, you're designing something that will hopefully help real people with real needs. On the other side of the equation, my contact for an enterprise project targeting movie production collaboration has fielded an initial proposal with investors, who are reviewing the opportunity. I think that this may take a while to unfold, but as you may know things can happen either way unexpectedly when it comes to funding entrepreneurial adventures. For funding Nkommo, I am looking at a combination of nonprofit grants, corporate investment and crowdsourcing. If you have some specific thoughts and recommendations on these fronts, especially on the crowdfunding side, I'd be grateful to hear your thoughts offline. There are so many choices now that I may not be up to speed on the most fruitful channels. That's it for now, I am so very excited to see Apache Wave moving forward at a time when it may just be the next big thing for the next big step in Internet growth.
Re: Delving into OT
Sounds like we need a Hangout with an online whiteboard or such to work this out...? John On Tue, Jun 25, 2013 at 4:53 PM, Sam Nelson so...@orcon.net.nz wrote: +1 for structured wiki pages. I re-read the original email a few times now and I still get a little bit lost around the bit of ancestor count - compare history lists A B C and D B X Y, when trying to apply X the ancestor count will match both, how does that work? X will have a parent of B like C has a parent of B. Both C and X have an ancestor count of 2. Or have I mistaken this, in that it should be impossible for two peers to have operation B, without having identical history lists up to that point? I'll keep going through your tp2stuff as I have time and eventually, I might be able to contribute intelligently in some way (: -Sam On 25/06/2013 14:20, Joseph Gentle wrote: Yep, probably right. - sounds good. On Mon, Jun 24, 2013 at 5:53 PM, Michael MacFadden michael.macfad...@gmail.com wrote: I will respond to this section by section in a bit. However my general comment is that there is a lot to digest here and I think we need to start putting this stuff in a wiki page(s). I think it will get buried here. I think we might need individual pages on each protocol idea. And the a pro/con page where we compare them based on discussions on the list. ~Michael On Jun 24, 2013, at 1:06 PM, Joseph Gentle jose...@gmail.com wrote: I want to start the discussion around what OT algorithms to use. This is going to get technical. This is not a bug. Please ask simple but tangential questions (like how does wave's current crypto system work?) in a new thread instead of this one. Requirements: - Arbitrary peers can syncronize data - We can collaboratively edit tree structures, key-value pairs and rich text. (I'd like arbitrary JSON editing) - Fast enough to work on mobile devices. Protocol needs to be low bandwidth and require a low number of network round-trips. - Ideally a low storage overhead Nice-to-have: - End-to-end encryption of content. (In the wake of PRISM, the less information my wave server needs to know about me, the better.) - Some wave version of OTR[1] - Presence cursors - Simple. At least, as simple as we can manage. Lets at least try :/ Is there anything else I'm missing? Some of this stuff is only tangentially related to OT (like cursors and encryption), but its still important we bring it up. Given that we want to be able to connect arbitrary peers, I think it makes sense to use a message encryption signing system. Currently, wave servers sign their user's messages. To support users collaborating over a LAN without servers, we should allow users to sign ( encrypt) their own messages. Unfortunately, the signature will become invalid if the operation is transformed. Consider peers A and B (communicating over a LAN), and disconnected peer C. A and B each generate simultaneous operations and sign their operations. A sends its operation to B, who transforms it. B then connects to C and sends both operations. For C to verify A's operation, C must see the original (untransformed) version of the operation. I think the only way we can make this work securely is by only sending original operations instead of sending operations after they've been transformed. As far as I know, there's three broad directions we could take algorithmically: 1. CRDTs (like Logoot[1]) 2. 'Classical' OT using vector clocks for versioning. 3. The OT system that Torben Weis was working on. (Some might remember him from the wave summit a few years ago). I have been chatting on and off with him about this since the summit. He hasn't published anything on it yet though. Its similar to classical OT, except using git style version hashes. CRDTs are probably the most elegant solution. They avoid the entire complicated mess of transformation. However: - They add a significant overhead to the document size (we must store a unique name between every two characters in the wave) - As far as I know, nobody has implemented arbitrary JSON editing using CRDTs. Implementing a set is very difficult. - Even without transform, we'll still have to store operations anyway so peers can verify signatures. I'd like to know what we should expect the actual document size overhead to be. I expect it to be at least a 5x size increase, but I don't know for sure. The papers I've read cleverly minimize the overhead by only doing OT on a line-by-line basis, but thats unacceptable for wave. As I understand it, vector clocks are the size of the number of unique peers which have ever connected to the network. (They contain an integer version number per peer on the wave). As I understand them, a vector clock must be stored in each operation - which to me always seemed unpalatable enough I didn't explore them further. Note that this is per *peer*, not per user. If we want full p2p, this is one per
Re: John's Wiki Permissions
Thank you, Michael, for my new vast, cosmic powers! ;-) On Thu, Jun 27, 2013 at 9:04 PM, Michael MacFadden michael.macfad...@gmail.com wrote: John, I have given you wiki permissions! ~Michael
Re: Joining as a Mentor
Michael, I do have a confluence login on the Apache Wave wiki, thanks for your help All the best, John Blossom email: jblos...@gmail.com phone: 203.293.8511 google+: https://google.com/+JohnBlossom On Tue, Jun 25, 2013 at 11:23 AM, Michael MacFadden michael.macfad...@gmail.com wrote: John, If you have a username on confluence, then I can give you permissions. ~Michael On 6/25/13 8:12 AM, John Blossom jblos...@gmail.com wrote: Thank you! Glad to have your help. BTW, how does one add oneself to be an editor of the wiki? Anyone? Thanks. John Blossom On Tue, Jun 25, 2013 at 5:01 AM, Christian Grobmeier grobme...@gmail.comwrote: Thanks all! I have subscribed myself now On Sat, Jun 22, 2013 at 6:45 PM, John Blossom jblos...@gmail.com wrote: I've appreciated your help and insight, glad to have you aboard. Best, John On Fri, Jun 21, 2013 at 12:19 PM, Christian Grobmeier grobme...@gmail.comwrote: Hello Wave'rs, as you might know, I am Apache Member and involved in various projects. I also have mentored a bunch of podlings, like for example OpenOffice, OGNL and Onami. Currently I am helping the Ripple podling. You also have already seen in this list. Currently there is Upayavira who does a great job with mentoring. With the new activity in this podling I would like to help him, because he is the only active mentor currently. Now I would like to ask the project if they would like to see me stepping up as a mentor. Basically I would do the things I currently do, but would also be able to sign the reports. If there are no objections, I will notify the IPMC and update the mentors list for Wave. Cheers, Christian -- http://www.grobmeier.de https://www.timeandbill.de -- http://www.grobmeier.de https://www.timeandbill.de
Re: Demo Server
Thanks so much, Michael, that's a great help. If we can get some funding for Wave project development perhaps some of the funding can be reserved for open source hosting services on an ongoing basis via a nonprofit entity. All the best, John Blossom On Fri, Jun 21, 2013 at 6:20 PM, Michael MacFadden michael.macfad...@gmail.com wrote: All, As soon as we have a release, I am going to put the stable release on two servers. One will be my personal server. Another one will be a server hosted by my company. I think we we have a couple environments up and running it will help. Also, I may be able to set up some sandboxes where we can actually deploy some of our experiments when we start looking at P2P / Server / Hybrid OT. ~Michael
Re: Welcome (Back) Joseph Gentle
We're getting ready to rock...J On Fri, Jun 21, 2013 at 10:22 PM, Zachary “Gamer_Z.” Yaro zmy...@gmail.comwrote: Congratulations! —Zachary “Gamer_Z.” Yaro On 21 June 2013 18:37, Bruno Gonzalez (aka stenyak) sten...@gmail.com wrote: Nice, can't wait to test your P2P experiments :-) On Fri, Jun 21, 2013 at 11:45 PM, Joseph Gentle jose...@gmail.com wrote: ^_^ Cheers guys On Fri, Jun 21, 2013 at 2:28 PM, Yuri Z vega...@gmail.com wrote: Congrats Joseph! On Sat, Jun 22, 2013 at 12:18 AM, Michael MacFadden michael.macfad...@gmail.com wrote: Wavers, Please welcome Joseph Gentle as an active Apache Wave Committer. Joseph has been with the project since the beginning in some for or another and has been active in wave like projects for the last three years. Joseph has now become a full and active committer and we are thrilled to have him on board! ~Michael -- Saludos, Bruno González ___ Jabber: stenyak AT gmail.com http://www.stenyak.com
Re: Joining as a Mentor
I've appreciated your help and insight, glad to have you aboard. Best, John On Fri, Jun 21, 2013 at 12:19 PM, Christian Grobmeier grobme...@gmail.comwrote: Hello Wave'rs, as you might know, I am Apache Member and involved in various projects. I also have mentored a bunch of podlings, like for example OpenOffice, OGNL and Onami. Currently I am helping the Ripple podling. You also have already seen in this list. Currently there is Upayavira who does a great job with mentoring. With the new activity in this podling I would like to help him, because he is the only active mentor currently. Now I would like to ask the project if they would like to see me stepping up as a mentor. Basically I would do the things I currently do, but would also be able to sign the reports. If there are no objections, I will notify the IPMC and update the mentors list for Wave. Cheers, Christian -- http://www.grobmeier.de https://www.timeandbill.de
Re: IRC discussion on P2P waving
Michael, I like that way that you put it. Hopefully what we wind up with is a protocol that is fundamentally P2P but which interacts with servers as ultra-efficient UI-less peers equipped with some super-powers and services that may not be present in the P2P domain persistently. Call it p2p2P, so to speak. John On Fri, Jun 21, 2013 at 10:04 PM, Michael MacFadden michael.macfad...@gmail.com wrote: MY humble opinion on the P2P issue is as follows. I think if we develop algorithms that can work in a P2P mode, then we can also support a client/server architecture as well by just controlling who the peers talk to. I think the problem with wave was not the client server architecture, but rather the way the servers interacted with each other. The servers themselves implemented something like a client/server relationship within federation. This meant that even if you were connected to your local wave server, if that wave server could not communicate with the wave server that initiated the wave, you were out of luck. I am not against having servers at all. In fact I think that things get very complicated if you have no servers what so ever (document storage, discovery, users, etc.). But if we need to make sure servers are peers. So we need a P2P style OT algorithm. Again do not confuse a P2P network topology (DHT, etc) with P2P OT Algorithms. A P2P OT Algorithm can also easily be made to behave like a Client/Server OT algorithm, where as the reverse is not feasible. ~Michael On 6/21/13 5:46 PM, Sam Nelson so...@orcon.net.nz wrote: Wow, that was some heavy reading (: This section raised some questions for me: *4) Routing p2p messages/events in a pure P2P system (5 parts)* How to manage to route all wave-stuff if we want to completely get rid of servers completely, and only use peers. The closest way would be to use a DHT, but huge latency is an unsolved problem, and makes it impossible to use for real-time waving. No other solution has been proposed. My question is simply, perhaps naively: why pure p2p? Originally when I heard of p2p OT I saw it as a way to collaboratively work offline in a LAN environment, and to sync pairs that are almost always offline, by means of a proxy peer that moves between WAN and the offline LAN. The peers would talk in much the same way that two federating servers would, using their offline caches as a datasource instead I'm guessingthis is like the MESH network John refers to. When talking about P2P between peers /over the internet/ - could somebody please explain to be the purpose of and vision for this? Why not just use a server, it seems to simplify things alot? (Firewalls, authentication - can do offline like Windows 8 does with Microsoft Account) Is purep2p just for privacy? Or is it really for alternate uses of the protocol - other than the the documents and conversation use cases we saw in Google Wave? Just an idea, in order to open the eyes of those drawn to this mailing list, might it be beneficial to build up a wiki page of accepted use cases so that everyone can read them and take them into account when considering different ideas? That'd facilitate discussions like well this works for all our use cases except #13 discussion ensues about this case Sam On 22/06/2013 01:06, John Blossom wrote: Bruno, Thanks, this is an excellent summary. It helps me to get the gist of things more clearly. On the P2P latency, I don't think that it would be unacceptable to draw a line and say that P2P provides limited, non-guaranteed realtime OT or that it's not realtime OT and more of a syncing mode than a conversation mode. That would probably be sufficient for what needs to be done, especially since in some instances P2P-enabled Wave sessions may be using MESH networks for transport - a key factor in how a lot of experimental communications services are being deployed in developing nations (not just the Project Loon concept). In the MESH model, you're likely to have one node within range of another temporarily, which may sync with it, and then pass along data to another node when it comes in range of it. That's the most probable scenario for P2P in many instances, I would think. The other potential scenario: two people in a remote location, for the sake of argument two movie script-writers who have holed themselves up in a remote location to collaborate on a common script. They're on two devices that are very proximate to one another, so perhaps the latency issues will not be so severe. Things to think about, I will look at this more carefully later today. All the best, John Blossom On Fri, Jun 21, 2013 at 8:05 AM, Bruno Gonzalez (aka stenyak) sten...@gmail.com wrote: Following Joseph's A Very Wavey Plan (P2P!) thread, a couple of discussions have taken place at the irc.freenode.net #wiab channel, all related to P2P. I've
Re: IRC discussion on P2P waving
Michael, Agreed, we're talking about application and presentation layer P2P at this point. Thomas, The answers to your question are probably open-ended at this time, I would think, but if we work backwards from some of the desirable scenarios then we can think of potential solutions that can work in a well-layered model. Think of the village-market town scenarios that I outlined earlier as one potential paradigm - work from the worst P2P networking conditions on up to the best, perhaps - from sneakernet to Bluetooth/WiFiDirect to Mesh to IP. Ideal scenario - people are waving without even knowing it as they walk by people who are in their waves. Food for thought. John On Sat, Jun 22, 2013 at 3:26 PM, Michael MacFadden michael.macfad...@gmail.com wrote: Thomas, At the moment we are talking about the OT algorithms, not how the nodes physically communicate. As was previously discussed, there very well could still be one or more servers in the picture. This is about where and how the concurrency control occurs. At the moment a single sever (even when federating) is in control of all concurrency control. This is what we are trying to avoid. Even if there are still servers, the OT should be a P2P OT algorithm. ~Michael On 6/22/13 12:03 PM, Thomas Wrobel darkfl...@gmail.com wrote: Sorry as this has probably been explained - but if client p2p is a possibility, how will clients find eachother :? Surely everyone would need static external IPs - which simply isn't the case with the web today. This is mostly all over my head - but I have never even seen a web based p2p chat program before. I thought it simply wasn't possible to communicate between two browsers without a sever between them. or does p2p mean something different in this context? On 22 June 2013 18:53, John Blossom jblos...@gmail.com wrote: Michael, I like that way that you put it. Hopefully what we wind up with is a protocol that is fundamentally P2P but which interacts with servers as ultra-efficient UI-less peers equipped with some super-powers and services that may not be present in the P2P domain persistently. Call it p2p2P, so to speak. John On Fri, Jun 21, 2013 at 10:04 PM, Michael MacFadden michael.macfad...@gmail.com wrote: MY humble opinion on the P2P issue is as follows. I think if we develop algorithms that can work in a P2P mode, then we can also support a client/server architecture as well by just controlling who the peers talk to. I think the problem with wave was not the client server architecture, but rather the way the servers interacted with each other. The servers themselves implemented something like a client/server relationship within federation. This meant that even if you were connected to your local wave server, if that wave server could not communicate with the wave server that initiated the wave, you were out of luck. I am not against having servers at all. In fact I think that things get very complicated if you have no servers what so ever (document storage, discovery, users, etc.). But if we need to make sure servers are peers. So we need a P2P style OT algorithm. Again do not confuse a P2P network topology (DHT, etc) with P2P OT Algorithms. A P2P OT Algorithm can also easily be made to behave like a Client/Server OT algorithm, where as the reverse is not feasible. ~Michael On 6/21/13 5:46 PM, Sam Nelson so...@orcon.net.nz wrote: Wow, that was some heavy reading (: This section raised some questions for me: *4) Routing p2p messages/events in a pure P2P system (5 parts)* How to manage to route all wave-stuff if we want to completely get rid of servers completely, and only use peers. The closest way would be to use a DHT, but huge latency is an unsolved problem, and makes it impossible to use for real-time waving. No other solution has been proposed. My question is simply, perhaps naively: why pure p2p? Originally when I heard of p2p OT I saw it as a way to collaboratively work offline in a LAN environment, and to sync pairs that are almost always offline, by means of a proxy peer that moves between WAN and the offline LAN. The peers would talk in much the same way that two federating servers would, using their offline caches as a datasource instead I'm guessingthis is like the MESH network John refers to. When talking about P2P between peers /over the internet/ - could somebody please explain to be the purpose of and vision for this? Why not just use a server, it seems to simplify things alot? (Firewalls, authentication - can do offline like Windows 8 does with Microsoft Account) Is purep2p just for privacy? Or is it really for alternate uses of the protocol - other than the the documents and conversation use cases we saw in Google Wave? Just an idea, in order to open the eyes of those drawn to this mailing list, might
Re: IRC discussion on P2P waving
Bruno, Thanks, this is an excellent summary. It helps me to get the gist of things more clearly. On the P2P latency, I don't think that it would be unacceptable to draw a line and say that P2P provides limited, non-guaranteed realtime OT or that it's not realtime OT and more of a syncing mode than a conversation mode. That would probably be sufficient for what needs to be done, especially since in some instances P2P-enabled Wave sessions may be using MESH networks for transport - a key factor in how a lot of experimental communications services are being deployed in developing nations (not just the Project Loon concept). In the MESH model, you're likely to have one node within range of another temporarily, which may sync with it, and then pass along data to another node when it comes in range of it. That's the most probable scenario for P2P in many instances, I would think. The other potential scenario: two people in a remote location, for the sake of argument two movie script-writers who have holed themselves up in a remote location to collaborate on a common script. They're on two devices that are very proximate to one another, so perhaps the latency issues will not be so severe. Things to think about, I will look at this more carefully later today. All the best, John Blossom On Fri, Jun 21, 2013 at 8:05 AM, Bruno Gonzalez (aka stenyak) sten...@gmail.com wrote: Following Joseph's A Very Wavey Plan (P2P!) thread, a couple of discussions have taken place at the irc.freenode.net #wiab channel, all related to P2P. I've taken the liberty to restructure the IRC logs, remove some chitchat, and divide it into sub-discussions. Feel free to reply to any part of this email to continue a discussion. *Summary of discussions:* ** *1) Underlying protocol for P2P federation* Currently XMPP is used. HTTP and raw TCP are two suggested candidates (HTTP allowing to much more easily reach restricted networks). *2) Message/event types needed for P2P federation to work* We'd need something similar in concept to certain git operations (git clone, git push...). All will be based on hashes (not incremental integers). *3) Routing p2p messages/events in a server-aided network* One option is to somehow detect server clusters, send data to one of them, and let the rest of the cluster servers synchronize to it (locally). Alternatively, the originator server can naively send stuff to all possible destination servers, regardless of the cost. *4) Routing p2p messages/events in a pure P2P system (5 parts)* How to manage to route all wave-stuff if we want to completely get rid of servers completely, and only use peers. The closest way would be to use a DHT, but huge latency is an unsolved problem, and makes it impossible to use for real-time waving. No other solution has been proposed. *5) Implementing undo: invertibility, tombstones, edge cases, TP2* No server means no canonical order of commits, which means that undo is hard to do correctly. (uhm... not sure if that's a good summary, some stuff went over my head :-D, please read the log instead) *6) Usability of a pure p2p system in Real Life (tm)* Being pragmatic, pure P2P is probably only usable in peers with good connectivity. Rest of peers will need to rely on a server/proxy that *does* have good connectivity. *7) Comparison with BitTorrent and P2P-TV technologies* Both technologies are much less restricted than wave with regards to real-time responsiveness. So none are really a good reference for our purposes. *8) Identifying participants (3 parts)* Pure p2p means many peers don't have a n...@centralized-server.com user handle, so an alternative has to be used. However, it's easy to provide a traditional friendly handle, if the user prefers the tradeoff of having to often rely on a permanent server. This tradeoff can be mitigated by using a sort of userhandle cache. *9) P2P anonymity (lurking in a wave) (2 parts)* In a pure p2p wave network, anonymous peers may want to read a public wave, without other peers knowing. A solution could be to make private the required wavelets (where the anonymous participants IDs are stored). *10) Encryption of waves* It's been proposed to use an AES key to encrypt all the wave data, and only allow participants to decrypt it. *11) Addition and removal of participants, and their ability to read past and future wave versions/deltas* The aforementioned AES key can change over time, allowing a finer-grained restriction of what deltas new/removed participants can read. * * *Actual conversations:* ** * * *1) Underlying protocol for P2P federation:* [in response to Joseph's email] [23:42] alown I [...] agree with option 2 (make every root a JSON blob) [23:43] alown You haven't really detailed (at all) how the P2P federation is actually going to work (beyond 'not like IRC') [23:44] josephg Personally, I'd love some raw TCP
Re: A Very Wavey Plan (P2P!)
Glad to participate as requested, though this is primarily the developers' discussion. John B On Thu, Jun 20, 2013 at 4:31 AM, Upayavira u...@odoko.co.uk wrote: Perfect. On Thu, Jun 20, 2013, at 03:57 AM, Michael MacFadden wrote: Upayavira, We will put a wiki page together. We will also have the discussion here. That said, I would like to select at least three people who sign up to shepherd the discussion. Everyone is welcome and the committee members won't have any specific authority. I am just looking for people to form a working group and commit to making sure we can define and meet some objectives. ~Michael On 6/19/13 6:25 PM, Upayavira u...@odoko.co.uk wrote: I'd encourage you to fire up a wiki page and start the discussion here. I suspect due to te nature of the topic, participants will quickly be self selecting. Upayavira On Wed, Jun 19, 2013, at 10:11 PM, Joseph Gentle wrote: On Wed, Jun 19, 2013 at 1:26 PM, Michael MacFadden michael.macfad...@gmail.com wrote: To start, I want to build a generic P2P OT container. This is a simple wrapper that contains a set of OT documents and defines a network protocol for keeping them in sync. The container needs to be able to talk to another instance of itself running somewhere else and syncronize documents between the two instances. Thats all I want this container to do - it should be as lightweight as possible, so we can port it to lots of different languages and environments. I want that code running in websites, in giant server farms, in vim, and everywhere in between. It won't have any database code, network code, users or a user interface (though it'll need APIs to support all of that stuff). At its core it just does OT + protocol work to syncronize documents. I strongly suggest we separate the OT Algorithms, the application level protocol, and the network transport layer. The network transport layer should definitely be separated out. I'd also like to separate out the OT functions themselves (a la share/ottypes). I'm imagining coupling the concurrency control system and the application level protocol. This coupling might not be needed - I don't know enough yet to be able to tell. I think we should focus on figuring out what OT system(s) to use first. The OT itself I imagine building along the lines of Torben Weis's P2P OT theory that he made in Lightwave: https://code.google.com/p/lightwave/ . Briefly, every operation gets a hash (like git). We add tombstones to wave's OT type and remove invertability, so the transform function supports TP2. We also add a prune function (inverse transform) which allows the history list to be reordered (so you don't have to transform out on every site). The hard part is figuring out which operations to sync, and which operations need to be reordered. I'd like to go over the details with Michael MacFadden and anyone else who's interested - there may well be a better system that we should use instead. If there is, I'd like to know about it now. I think this is another interesting area. One thing to consider is that I am not sure if the linear model that wave used is even the right option. If we start manipulating things like JSON Objects, Java Object, XML, or nested documents, a hierarchical path mechanism may be best. Yes. For ShareJS's JSON OT type, operations are defined by a path (a list) and an operation at that path. I'm not convinced by this design anymore - we should definitely discuss it. My other instinct here is, we should make sure that we base the OT on something that has been proven to be correct. There has been some work to evaluate OT systems and prove that they are correct and solve the proper OT Puzzles and support the required properties. Two other things that we need to consider. Beyond TP1 and TP2, there are also IP1, IP2, and IP3 that you need to think about if you are going to support group undo, which in my opinion wave needs to support. If you can't undo things in collaboration, then you have problems. Using tombstones, I don't know how you can implement IP3. I've a mind to abandon formal invertibility, and simply rely on undo stacks for user level actions. But if we can find an architecture which meets our needs and can support invertibility, then that would be even better. Basically, I am not confident that we know that wave's OT or what is in lightwave is really what we want. I am not saying that they are not, I am just saying that I don't think we really have stated what we NEED from the OT and then proved that a particular approach salsifies those needs. Simply having a demo of something that works in a toy environment is likely to have holes that we don't see until
Re: A Very Wavey Plan (P2P!)
Joseph, This is exactly the sort of transformational architecture that I have been hoping that you and others would pursue. Being fundamentally P2P but readily adaptable for scalable client-server architecture seems to fit today's mobile Web well. The three options that you outline might not wind up being either-or - perhaps different environments offer one or more handshake options. I'd love to sit in on this thread and glad to participate as needed and to work out documents etc. Thanks, Johm On Jun 19, 2013 2:23 PM, Joseph Gentle jose...@gmail.com wrote: I've given half a dozen talks about ShareJS over the last 3 years, and almost every time I give a talk, someone asks me whether you can use ShareJS in a peer-to-peer way instead of just through a single server. You say it works like subversion. Can it work like Git? Can you have a document shared between multiple servers? Sigh no. ShareJS Wave's algorithms were invented in 1995. Back then, it was news when someone put up a new website. What about Wave Federation? Appropriately, it works like IRC, but using XML. Its complicated, its vulnerable to netsplits and its buggy. I guess its like IRC except it doesn't actually work. So lets fix that! Lets modernize wave and make it federate properly. On the way we have a great opportunity to make it simpler and cleaner. To start, I want to build a generic P2P OT container. This is a simple wrapper that contains a set of OT documents and defines a network protocol for keeping them in sync. The container needs to be able to talk to another instance of itself running somewhere else and syncronize documents between the two instances. Thats all I want this container to do - it should be as lightweight as possible, so we can port it to lots of different languages and environments. I want that code running in websites, in giant server farms, in vim, and everywhere in between. It won't have any database code, network code, users or a user interface (though it'll need APIs to support all of that stuff). At its core it just does OT + protocol work to syncronize documents. What are the documents? Well, like ShareJS, I'd like to support multiple different kinds of data. We'll need to be able to support wave's conversation model, but I'd also like to support arbitrary JSON. Doing OT over arbitrary JSON structures would allow other applications to be built on top of wave, using wave as a data platform (Glorious messaging bus in the sky). It'd also be super useful for gadgets and user data. There's three models I can imagine for what wavelets could look like: Option 1: All documents in the container have a unique name and a type. This is how ShareJS works. We could have a JSON type and a wavelet type. This is simple, but not particularly extensible (it makes it hard to embed JSON inside a conversation, and vice versa). Option 2: At the root of every document is a JSON object. Leaves in the JSON structure can be subdocuments, which could be rich text for blips, or any other type we think of down the road. Option 3: We make another layer, which can contain a set of documents. So, a wavelet could contain a JSON document describing the conversation structure, some rich text documents for blips and another JSON document containing gadget data or something. Access control rules are at the container level. This is (sort of) how wavelets work today. The OT itself I imagine building along the lines of Torben Weis's P2P OT theory that he made in Lightwave: https://code.google.com/p/lightwave/ . Briefly, every operation gets a hash (like git). We add tombstones to wave's OT type and remove invertability, so the transform function supports TP2. We also add a prune function (inverse transform) which allows the history list to be reordered (so you don't have to transform out on every site). The hard part is figuring out which operations to sync, and which operations need to be reordered. I'd like to go over the details with Michael MacFadden and anyone else who's interested - there may well be a better system that we should use instead. If there is, I'd like to know about it now. Once thats built, we can start integrating it into WIAB. The simplest way to do the client-server protocol and federation will be to simply reuse the container's protocol (obviously wrapped for access control). We could also strip it down for pure client-server interaction if we want, to make it less chatty. (If we decide thats worthwhile.) I'm also thinking about full end-to-end encryption. Especially in the wake of the PRISM stuff, I'd quite like to make something secure. Snowden: Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. -- http://www.guardian.co.uk/world/2013/jun/17/edward-snowden-nsa-files-whistleblower
Re: wiab server overview diagram
Thanks for the diagram, Dave, it helps me to visualize Wave's components. How much is the wave bus a reality as opposed to a potential division in programming? That is, in terms of how one binds/opens the bus, does it really function as an API. John Blossom On Sun, Jun 16, 2013 at 12:11 PM, Dave w...@glark.co.uk wrote: I couldn't find an overview of the various bits of the wiab server, and how they plumb together. So from a couple of hours digging into the codebase, I knocked up the attached diagram. I didn't include the Concurrency and Document/Conversation structure, as I suspect these are better visualised differently / separately. Is there anything inaccurate or that should be added this diagram, and is it worth including in the wiki? Dave
Re: OpenOffice and Wave
In-person would be great. I am NYC/Boston area, where is everyone else. In the meantime much can be done on Hangouts to make in-person as productive as possible. J On Mon, Jun 17, 2013 at 3:53 AM, Joseph Gentle jose...@gmail.com wrote: Yep, I agree. Where should _that_ discussion happen? -J On Sun, Jun 16, 2013 at 10:42 PM, Michael MacFadden michael.macfad...@gmail.com wrote: A google hang out amongst wave developers is a great idea. However this is not a substitute for presenting and discussing the future of OT with the active research community. ~Michael On Jun 16, 2013, at 5:32 PM, John Blossom jblos...@gmail.com wrote: Joseph, my thought is that we can have a Google+ Hangout and invite everyone in the Wave community and beyond interested in OT and related issues. Doesn't have to be perfect, we just need to get the dialogue.rolling, it seems. We can always have more. Say Weds or Thursday around 1700 UT+1? Pick a number. John All the best, John Blossom email: jblos...@gmail.com phone: 203.293.8511 google+: https://google.com/+JohnBlossom On Sun, Jun 16, 2013 at 8:15 PM, Joseph Gentle jose...@gmail.com wrote: Sounds interesting. Where is this going to be held? It might be interesting for a few people on this list, too. -J On Sun, Jun 16, 2013 at 4:08 PM, Michael MacFadden michael.macfad...@gmail.com wrote: After hooking up with Google for wave. I have been the lead architect for an OT framework much like the real time drive API being built at my company. I am encouraging my developers to reengage the apache community so we can actively contribute back. We have also done a in depth literature review regarding OT and have worked with many other teams adding OT to several projects. I personally will be chairing the 14th International Workshop on Collaborative Editing Systems (IWCES) at the ACM Computer Supported Collaborative Work (CSCW) conference next February. This workshop is one of the primary places where leading OT researchers, industry, and open source projects come to exchange ideas. I think this would be a very good community for you to get involved with if you are looking at OT. There are a lot of lessons learned, especially on using OT for rich document editing (word, PowerPoint, Vim, etc. ). I am sure there are more than enough extremely smart folks on the Open Office team, but perhaps I/we could help out if you are not to far along. Regards, ~Michael On Jun 16, 2013, at 6:50 PM, Rob Weir robw...@apache.org wrote: Adding Svante Schubert to the thread, from the ODF Toolkit project. He also chairs the subcommittee at OASIS that has been looking at OT for change tracking in ODF. On Sun, Jun 16, 2013 at 6:15 PM, Michael MacFadden michael.macfad...@gmail.com wrote: On 6/16/13 2:51 PM, Michael MacFadden michael.macfad...@gmail.com wrote: Rob, I would be interested in continuing this conversation. I have been working with the top minds in OT for the past few years. I am excited to hear the OO is interested in an OT supported mechanism. How far along are you in the process? It is very early and mainly happening in the standards committee at OASIS. The ultimate aim is to have something that could work across applications, not just between two OpenOffice instances. So this requires a sensitivity to the document model abstraction, to work at the ODF level, not just with an application's internal view of a document. OpenOffice committers are involved in the standardization side of this, as well as LibreOffice and Calligra and Gnumeric, as well as Microsoft. Initially it is about defining the document model, in a way that makes sense to the user. Since tracked changes are visible to the user, to approve or reject, we need it at a granularity that makes sense to them. Then based on those primitives, and the associated actions, we can develop an XML-based notation for expressing the state transformations. That gets us to the static/stored form of traditional change tracking. Not in plan officially is the next step, which would be the protocols for exchanging such information in real-time. But it is a possibility (even a likelihood) that is informing our design decisions. We're mindful that the real-time collaborative editing is the logical next step and we're trying to lay the right foundations for that at the format level. One sub-goal, for enabling the real-time side of this, would be to standardize the protocols at some level, so clients from different vendors could do this kind of collaboration in a heterogeneous kind of way. Is there anything in Wave that would be a good basis for a standard? Of course a perfectly valid approach would be to prototype first and then standardize. Regards, -Rob ~Michael On Jun 16, 2013, at 11:00 AM
Re: OpenOffice and Wave
Upayavira, Understood, I will provide a link to such an event to everyone here on the list. John On Mon, Jun 17, 2013 at 9:30 AM, Upayavira u...@odoko.co.uk wrote: Please do remember, that while in person meetups or synchronous hangouts can be useful, they are also by their nature somewhat exclusive. Therefore, please use them with restraint, and keep as much discussion, and all decisions, here on the list. Thanks! Upayavira On Mon, Jun 17, 2013, at 01:37 PM, John Blossom - Shore Communications Inc. wrote: In-person would be great. I am NYC/Boston area, where is everyone else. In the meantime much can be done on Hangouts to make in-person as productive as possible. J On Mon, Jun 17, 2013 at 3:53 AM, Joseph Gentle jose...@gmail.com wrote: Yep, I agree. Where should _that_ discussion happen? -J On Sun, Jun 16, 2013 at 10:42 PM, Michael MacFadden michael.macfad...@gmail.com wrote: A google hang out amongst wave developers is a great idea. However this is not a substitute for presenting and discussing the future of OT with the active research community. ~Michael On Jun 16, 2013, at 5:32 PM, John Blossom jblos...@gmail.com wrote: Joseph, my thought is that we can have a Google+ Hangout and invite everyone in the Wave community and beyond interested in OT and related issues. Doesn't have to be perfect, we just need to get the dialogue.rolling, it seems. We can always have more. Say Weds or Thursday around 1700 UT+1? Pick a number. John All the best, John Blossom email: jblos...@gmail.com phone: 203.293.8511 google+: https://google.com/+JohnBlossom On Sun, Jun 16, 2013 at 8:15 PM, Joseph Gentle jose...@gmail.com wrote: Sounds interesting. Where is this going to be held? It might be interesting for a few people on this list, too. -J On Sun, Jun 16, 2013 at 4:08 PM, Michael MacFadden michael.macfad...@gmail.com wrote: After hooking up with Google for wave. I have been the lead architect for an OT framework much like the real time drive API being built at my company. I am encouraging my developers to reengage the apache community so we can actively contribute back. We have also done a in depth literature review regarding OT and have worked with many other teams adding OT to several projects. I personally will be chairing the 14th International Workshop on Collaborative Editing Systems (IWCES) at the ACM Computer Supported Collaborative Work (CSCW) conference next February. This workshop is one of the primary places where leading OT researchers, industry, and open source projects come to exchange ideas. I think this would be a very good community for you to get involved with if you are looking at OT. There are a lot of lessons learned, especially on using OT for rich document editing (word, PowerPoint, Vim, etc. ). I am sure there are more than enough extremely smart folks on the Open Office team, but perhaps I/we could help out if you are not to far along. Regards, ~Michael On Jun 16, 2013, at 6:50 PM, Rob Weir robw...@apache.org wrote: Adding Svante Schubert to the thread, from the ODF Toolkit project. He also chairs the subcommittee at OASIS that has been looking at OT for change tracking in ODF. On Sun, Jun 16, 2013 at 6:15 PM, Michael MacFadden michael.macfad...@gmail.com wrote: On 6/16/13 2:51 PM, Michael MacFadden michael.macfad...@gmail.com wrote: Rob, I would be interested in continuing this conversation. I have been working with the top minds in OT for the past few years. I am excited to hear the OO is interested in an OT supported mechanism. How far along are you in the process? It is very early and mainly happening in the standards committee at OASIS. The ultimate aim is to have something that could work across applications, not just between two OpenOffice instances. So this requires a sensitivity to the document model abstraction, to work at the ODF level, not just with an application's internal view of a document. OpenOffice committers are involved in the standardization side of this, as well as LibreOffice and Calligra and Gnumeric, as well as Microsoft. Initially it is about defining the document model, in a way that makes sense to the user. Since tracked changes are visible to the user, to approve or reject, we need it at a granularity that makes sense to them. Then based on those primitives, and the associated actions, we can develop an XML-based notation for expressing the state transformations. That gets us to the static/stored form of traditional change tracking. Not in plan officially
Re: Wave and OpenOffice
problem i had with it was that i couldnt 'publish' static updates to a front facing page to share with people who didnt feel like registering on my wave server. an openoffice for wave would be extremely usefull, and could have an extremely large impact imo. wave is also already very very close to having this funcitonality. etherpad lite sortof already does this, but i kept going back to wave because it was actually more responsive, featurefull, and actually crashed less. On Sat, Jun 15, 2013 at 9:29 AM, John Blossom jblos...@gmail.com wrote: I had the down-the-road thought just now that I wanted to put into circulation before I forgot about it. One of the challenges that we will face in developing open source Wave is that Google and others - but mostly Google - are out there using operational transform technologies also. So far the Google Drive Realtime API hasn't had much impact, but it's being demoed successfully in Drive apps like Docs and Presentations. The advantages of an open source Wave implementation are, of course, that people can own their own data and identity management without having to rely on a specific vendor's infrastructure. But the flip side of that is that you have to look carefully at infrastructure that integrates OT and understand what you have to do similarly to showcase your technologies. That brings me to OpenOffice. At some point it will be beneficial to consider how the Wave API can enable apps in the OpenOffice suite to take advantage of OT technologies in Wave and its other various features. In fact, it's not unthinkable that an OpenOffice for Wave variant might not be feasible at some point, maintaining a familiar office automation paradigm as a user interface for those who relate to that sort of tool but having the power of Wave to drive collaborative document editing, comments, embedded apps and so on, with Wave data structures underneath the OO interface. Just idle thoughts for now, but if we make good progress over the next several months, it's a sub-project that may help to attract more developers to Wave technologies. All the best, John Blossom
Re: OpenOffice and Wave
Thanks, Rob, it seems that this opens up interesting doors for down-the-road variants of OpenOffice based on Wave editing models and data models. The challenge and the opportunity is that Wave's OT model acts on the body of a document, so conversations and collaborations can become the body of a more polished document over time. The data model for Wave could be adapted for more traditional body-plus-comments data models via the wavelet construct, though. Thanks for joining this thread, let's keep the communication flowing. Best, John On Jun 16, 2013 11:02 AM, Rob Weir robw...@apache.org wrote: I'm not subscribed to this list, but Christian Grobmeier pointed me to John's post about how OT and Wave could be relevant to OpenOffice. I wanted to mention that the idea is being discussed, but at the standards level. The default document format for OpenOffice is Open Document Format (ODF), which is standardized at OASIS and ISO. (I chair the committee at OASIS). We're currently working on ODF 1.3 and as part of that we're adding a new change tracking mechanism based on OT. This is the traditional asynchronous change tracking that office suites have had for years, but modeled on OT terms. And, although not specified at this point, we're also aware that OT enables more interesting modes of collaboration, including synchronous/real-time, co-editing, etc. That's the main reason the OT approach is attractive, is that we can have a single model that will work for change tracking as well as co-editing. Once we get the standard side of this elaborated in more details, then the next step will be to get it implemented in Apache OpenOffice as well as the Apache ODF Toolit (incubating). But the pace of standardization is slow, and I wouldn't expect this before 2014. Regards, -Rob
Re: FW: OpenOffice and Wave
Thanks for joining the conversation, Rob. I think that one key difference in Wave - both as it is and as it could be - is that the data model is based on how ideas and conversations form, not necessarily a final artifact. It feasible, for example for Wave data structures to encapsulate chat/conversation flows and embedded applications messages and have some of those messages surface in one app as a filtered stream of content, with some aspects relevant to a formatted document and others for other purposes. So while Wave overlaps with other platforms in terms of OT it's ultimate objective is not necessarily the same in terms of data models. All the best, John Blossom On Sun, Jun 16, 2013 at 6:50 PM, Rob Weir robw...@apache.org wrote: Adding Svante Schubert to the thread, from the ODF Toolkit project. He also chairs the subcommittee at OASIS that has been looking at OT for change tracking in ODF. On Sun, Jun 16, 2013 at 6:15 PM, Michael MacFadden michael.macfad...@gmail.com wrote: On 6/16/13 2:51 PM, Michael MacFadden michael.macfad...@gmail.com wrote: Rob, I would be interested in continuing this conversation. I have been working with the top minds in OT for the past few years. I am excited to hear the OO is interested in an OT supported mechanism. How far along are you in the process? It is very early and mainly happening in the standards committee at OASIS. The ultimate aim is to have something that could work across applications, not just between two OpenOffice instances. So this requires a sensitivity to the document model abstraction, to work at the ODF level, not just with an application's internal view of a document. OpenOffice committers are involved in the standardization side of this, as well as LibreOffice and Calligra and Gnumeric, as well as Microsoft. Initially it is about defining the document model, in a way that makes sense to the user. Since tracked changes are visible to the user, to approve or reject, we need it at a granularity that makes sense to them. Then based on those primitives, and the associated actions, we can develop an XML-based notation for expressing the state transformations. That gets us to the static/stored form of traditional change tracking. Not in plan officially is the next step, which would be the protocols for exchanging such information in real-time. But it is a possibility (even a likelihood) that is informing our design decisions. We're mindful that the real-time collaborative editing is the logical next step and we're trying to lay the right foundations for that at the format level. One sub-goal, for enabling the real-time side of this, would be to standardize the protocols at some level, so clients from different vendors could do this kind of collaboration in a heterogeneous kind of way. Is there anything in Wave that would be a good basis for a standard? Of course a perfectly valid approach would be to prototype first and then standardize. Regards, -Rob ~Michael On Jun 16, 2013, at 11:00 AM, Rob Weir robw...@apache.org wrote: I'm not subscribed to this list, but Christian Grobmeier pointed me to John's post about how OT and Wave could be relevant to OpenOffice. I wanted to mention that the idea is being discussed, but at the standards level. The default document format for OpenOffice is Open Document Format (ODF), which is standardized at OASIS and ISO. (I chair the committee at OASIS). We're currently working on ODF 1.3 and as part of that we're adding a new change tracking mechanism based on OT. This is the traditional asynchronous change tracking that office suites have had for years, but modeled on OT terms. And, although not specified at this point, we're also aware that OT enables more interesting modes of collaboration, including synchronous/real-time, co-editing, etc. That's the main reason the OT approach is attractive, is that we can have a single model that will work for change tracking as well as co-editing. Once we get the standard side of this elaborated in more details, then the next step will be to get it implemented in Apache OpenOffice as well as the Apache ODF Toolit (incubating). But the pace of standardization is slow, and I wouldn't expect this before 2014. Regards, -Rob -- Opinions expressed in this communication reflect the author's individual personal view, not necessarily that of an amorphous collective. The above statements do not reflect an official position of any organization, corporation, religion (organized or disorganized) or national football association. The contents of said note are not guaranteed to have been spell checked, grammar checked or reviewed for metrical infelicities. The contents of this post may not be suitable for those whose native language is not logic. Caution should be exercised when operating heavy machinery when reading this note, or even
Re: OpenOffice and Wave
Joseph, my thought is that we can have a Google+ Hangout and invite everyone in the Wave community and beyond interested in OT and related issues. Doesn't have to be perfect, we just need to get the dialogue.rolling, it seems. We can always have more. Say Weds or Thursday around 1700 UT+1? Pick a number. John All the best, John Blossom email: jblos...@gmail.com phone: 203.293.8511 google+: https://google.com/+JohnBlossom On Sun, Jun 16, 2013 at 8:15 PM, Joseph Gentle jose...@gmail.com wrote: Sounds interesting. Where is this going to be held? It might be interesting for a few people on this list, too. -J On Sun, Jun 16, 2013 at 4:08 PM, Michael MacFadden michael.macfad...@gmail.com wrote: After hooking up with Google for wave. I have been the lead architect for an OT framework much like the real time drive API being built at my company. I am encouraging my developers to reengage the apache community so we can actively contribute back. We have also done a in depth literature review regarding OT and have worked with many other teams adding OT to several projects. I personally will be chairing the 14th International Workshop on Collaborative Editing Systems (IWCES) at the ACM Computer Supported Collaborative Work (CSCW) conference next February. This workshop is one of the primary places where leading OT researchers, industry, and open source projects come to exchange ideas. I think this would be a very good community for you to get involved with if you are looking at OT. There are a lot of lessons learned, especially on using OT for rich document editing (word, PowerPoint, Vim, etc. ). I am sure there are more than enough extremely smart folks on the Open Office team, but perhaps I/we could help out if you are not to far along. Regards, ~Michael On Jun 16, 2013, at 6:50 PM, Rob Weir robw...@apache.org wrote: Adding Svante Schubert to the thread, from the ODF Toolkit project. He also chairs the subcommittee at OASIS that has been looking at OT for change tracking in ODF. On Sun, Jun 16, 2013 at 6:15 PM, Michael MacFadden michael.macfad...@gmail.com wrote: On 6/16/13 2:51 PM, Michael MacFadden michael.macfad...@gmail.com wrote: Rob, I would be interested in continuing this conversation. I have been working with the top minds in OT for the past few years. I am excited to hear the OO is interested in an OT supported mechanism. How far along are you in the process? It is very early and mainly happening in the standards committee at OASIS. The ultimate aim is to have something that could work across applications, not just between two OpenOffice instances. So this requires a sensitivity to the document model abstraction, to work at the ODF level, not just with an application's internal view of a document. OpenOffice committers are involved in the standardization side of this, as well as LibreOffice and Calligra and Gnumeric, as well as Microsoft. Initially it is about defining the document model, in a way that makes sense to the user. Since tracked changes are visible to the user, to approve or reject, we need it at a granularity that makes sense to them. Then based on those primitives, and the associated actions, we can develop an XML-based notation for expressing the state transformations. That gets us to the static/stored form of traditional change tracking. Not in plan officially is the next step, which would be the protocols for exchanging such information in real-time. But it is a possibility (even a likelihood) that is informing our design decisions. We're mindful that the real-time collaborative editing is the logical next step and we're trying to lay the right foundations for that at the format level. One sub-goal, for enabling the real-time side of this, would be to standardize the protocols at some level, so clients from different vendors could do this kind of collaboration in a heterogeneous kind of way. Is there anything in Wave that would be a good basis for a standard? Of course a perfectly valid approach would be to prototype first and then standardize. Regards, -Rob ~Michael On Jun 16, 2013, at 11:00 AM, Rob Weir robw...@apache.org wrote: I'm not subscribed to this list, but Christian Grobmeier pointed me to John's post about how OT and Wave could be relevant to OpenOffice. I wanted to mention that the idea is being discussed, but at the standards level. The default document format for OpenOffice is Open Document Format (ODF), which is standardized at OASIS and ISO. (I chair the committee at OASIS). We're currently working on ODF 1.3 and as part of that we're adding a new change tracking mechanism based on OT. This is the traditional asynchronous change tracking that office suites have had for years, but modeled on OT terms. And, although not specified at this point, we're also
Re: Wave and OpenOffice
Thanks, Fleeky, that's useful feedback. I, too, tried to use Wave as a document development tool and it's powerful in some ways, but the raw interface didn't always adapt itself well for final presentations. It was doable, though. For example, I gave a talk at a conference about Wave using Wave as the slide set - I just advanced from one blip to another to turn slides. Not ideal, but it worked. So put that same data paradigm behind a slide presentation UI, and use one tool to talk about ideas, collaborate on them and then present them through an OpenOffice slide presenter. And so on. I think that there are at least a few UIs that we can use for an open Wave UI set: - native demo interface - exercise all of Wave's features for PC Web and mobile Web environments - Email replacement - use presentation-layer adapters on Wave protocol to provide native-like email support but which can also view the underlying data via more powerful UIs - OpenOffice for Wave - productivity tools for print-oriented presentation - Blogging - root blip for rich text posts, trailing blips for comments, with formatting a la other blogging environments - Chat/Hangout - person-to-person text streams - again, as with other UIs, you can use other UIs on the same data set to collaborate more richly - Collaborative tool replacement - a bit like Kune.cc, perhaps, though I think that their metaphors are quite limited Obviously we have to walk before we can run, but hopefully this stimulates some thinking. Best, John On Sat, Jun 15, 2013 at 12:34 PM, Fleeky Flanco fle...@gmail.com wrote: john, i was infact using wave as a google docs replacement for a while it worked pretty good the only problem i had with it was that i couldnt 'publish' static updates to a front facing page to share with people who didnt feel like registering on my wave server. an openoffice for wave would be extremely usefull, and could have an extremely large impact imo. wave is also already very very close to having this funcitonality. etherpad lite sortof already does this, but i kept going back to wave because it was actually more responsive, featurefull, and actually crashed less. On Sat, Jun 15, 2013 at 9:29 AM, John Blossom jblos...@gmail.com wrote: I had the down-the-road thought just now that I wanted to put into circulation before I forgot about it. One of the challenges that we will face in developing open source Wave is that Google and others - but mostly Google - are out there using operational transform technologies also. So far the Google Drive Realtime API hasn't had much impact, but it's being demoed successfully in Drive apps like Docs and Presentations. The advantages of an open source Wave implementation are, of course, that people can own their own data and identity management without having to rely on a specific vendor's infrastructure. But the flip side of that is that you have to look carefully at infrastructure that integrates OT and understand what you have to do similarly to showcase your technologies. That brings me to OpenOffice. At some point it will be beneficial to consider how the Wave API can enable apps in the OpenOffice suite to take advantage of OT technologies in Wave and its other various features. In fact, it's not unthinkable that an OpenOffice for Wave variant might not be feasible at some point, maintaining a familiar office automation paradigm as a user interface for those who relate to that sort of tool but having the power of Wave to drive collaborative document editing, comments, embedded apps and so on, with Wave data structures underneath the OO interface. Just idle thoughts for now, but if we make good progress over the next several months, it's a sub-project that may help to attract more developers to Wave technologies. All the best, John Blossom
Re: A Call To Developers
Christian, I leave it up to the developers to make those decisions. Whatever tools help the project to move forward best for both the immediate efforts and the long-term managing of the brand are the right tools. Knowing that GitHub is a community that attracts many leading edge developers in its own right, having at least a mirror of the code in that environment certainly can't hurt. All the best, John Blossom On Fri, Jun 14, 2013 at 4:17 AM, Christian Grobmeier grobme...@gmail.comwrote: On Fri, Jun 14, 2013 at 3:27 AM, John Blossom jblos...@gmail.com wrote: Github+Apache+Wave=awesomeness. John Please be aware, that for legal reasons all code must live on ASF platforms first. We have a mirror on github: https://github.com/apache But in first place, we need to deal with code ourselves. We cannot utilize GitHub as first class repository and sync back. This has already caused some pain points in the past, but our infra managed to set up Git natively at Apache. So every project is free to move to Git meanwhile. We can even take over the mentioned project from Github to ASF and then mirror back to GitHub. If folks decide that GitHub is the canonical place of code, it would end this incubation. its of course perfectly reasonable, not every project makes a good fit at Apache. That said, I believe Wave would benefit from the foundation. But in the end, its a decision being made by the project. Cheers On Thu, Jun 13, 2013 at 11:56 AM, Scott Wilson scott.bradley.wil...@gmail.com wrote: On 12 Jun 2013, at 22:08, Upayavira wrote: All I can say is, well said. We need to consider Wave as a young project - one that really doesn't yet have anything set in stone. I've heard Apache described as a 'do-ocracy', that is, he who does, decides. If there's an approach you think would be good, start coding, show us your work (stick it on Github or somewhere), and we can see about getting it a place in the Wave repo itself. In the end, what the Wave project exists for is to release products. To release products, we need real code. Let's get started with some experiments that, if successful, can eventually morph into real products. When Wave first entered the Incubator I offered my Node implementation of the Wave Gadgets API as a contribution: https://github.com/scottbw/wave-node At that time the Wave project was still in the middle of sorting itself out so couldn't really think about absorbing more products. However, maybe its worth considering again? The module above also has integration with Apache Wookie (Wookie also implements the Wave Gadgets API, but the default implementation uses comet and isn't as fast). Wookie is deployed automatically as part of Apache Rave, which then offers a practical distribution method for Wave-related products as part of enterprise social portals. Its also worth pointing out I think that ShareJS + Wave-Node = basically Wave in Node but without the federation stuff ... though unlike Joseph I'm quite happy to give up maintaining my code in Github for a chance to be part of something bigger :) S Upayavira On Wed, Jun 12, 2013, at 09:04 PM, Thomas Wrobel wrote: I have been working on a geolocation (/augmented reality) specific Wave project: arwave.org I am not sure how suitable this is. Its effectively a client that I (badly) want to be compatible with any standard wave server. As there was no standard client/server protocol for the last few years, I gave up, and instead made it work with XMPP/jabber chat. Obviously, losing persistency along the way and crippling its usefulness. Would this project fit under the apache wave umbrella? I still want to make it a wave server client - but untill the servers have the protocol in place to allow that, it will be effectively just a xmpp client for a specific use. -Thomas Wrobel. ps. Of course, I am happy to help out any wave developments I am skilled enough to do anyway. On 12 June 2013 21:48, Michael MacFadden michael.macfad...@gmail.com wrote: Wavers, It has become clear that there a MANY more people are interested in Wave that we had previously thought. There recent explosion of interest is fantastic. However, what I am seeing is that the wave community is splintered and fragmented. There are a lot of people who have been doing development work on wave related concepts like OT, federation, etc outside of Apache Wave. Maybe they thought they were not welcome. Maybe they though the existing code base was headed in the wrong direction. Maybe they thought we would not be open to their project ideas. Who knows. Whatever the reason, there have been many side projects all over the web some how related to wave. Either inspired by wave, or developed to explore some
Re: Future of Apache wave [Was: Re: Advantages of P2P messaging?]
Michael, Joseph, I am reading this part of the thread with great interest. It sounds as is the OT paradigms that you and Joseph are suggesting might support different types of formats for different messages/blips within a common document/wavelet. That would seem to be an important objective, potentially, as it will make it easier for conversations to turn into rich collaborative environments. You can keep a typical exchange in Wave very texty and compact, and then punch it out message by message at certain points in the conversation create deeper engagement. At the same time, I am wondering out loud about how to provide data models that can enable multiple apps or applets to access the same documents/messages to provide a variety of services for those messages. So I am wondering how these OT models might manage their data models such that a wide variety of apps can look at a message's construct and not be locked out due to data formatting too specific to an app or applet/gadget. Thanks, John On Fri, Jun 14, 2013 at 4:39 AM, Michael MacFadden michael.macfad...@gmail.com wrote: Bruno / Sam, This is the tricky part. You can abstract some parts of the operation but not all. The whole point of the OT Stack is to adjust the parameters of you operations so that they have the same meaning in multiple contexts. We can't abstract away all of those parameters because the transformation functions must define rules to transform those parameters. That said, in an object oriented language you typically have two types of entities. Object Types and Primitive Types. You may need operations than handle both. For example, the things you may do to an int, may be different than what you would do with a Person object. The things you do with an Array may be different than that things you do with a Map. Correctly defining this set of operations is tricky and, as I said, part of ongoing research. But the approach is sound from an idealistic standpoint. Whether it is practical or not is another story. ~Michael On 6/13/13 9:15 PM, Bruno Gonzalez (aka stenyak) sten...@gmail.com wrote: I assume the path or index would be abstracted too. This way, OT can also handle the (x,y) position of a pixel in an image, or any other kind of position or range in which the operation must be applied. On Thu, Jun 13, 2013 at 10:06 PM, Sam Nelson so...@orcon.net.nz wrote: Hi Michael, I'm trying to wrap my head around this too. Say you have some JSON object: { i : 5 s : string c : { i : 2 } a : [ { i : 3 } ] } What would the parameters be to delete s since a path is really required isn't it, rather than an index? (i.e. parameters are specific to the type they operate on) And further, what would a delete operation do in this case? remove the s member of the object, or just set its value to null? That decision could be application implementation specific, sure, but if the application needed both concepts, how can you now define two abstract delete operations, in order for the application to implement them both for each case? -Sam On 14/06/2013 07:45, Michael MacFadden wrote: Joseph, We are almost in sync now. Lets go one step further. Let's so you were designing an application to be a rich text editor. Forget OT, you just making an editor. I assume your editor has to have some sort of model right? Let's temporarily forget the persistence format. You may save the rich text to xml, or rtf, or whatever, but I am not worried about that. I am saying what is the in memory model that your editor uses to interact with the document? Build that. Build it any way you like. Ok so now you have a rich text object model. Your editor is going to interact with that though some sort of object model API. When the user selects some text and presses the bold button, the editor makes some API call to the model and says, make this part bold. For the sake of conversation, I don't care how that internally happens in the object data model. OK. So now if we have a sufficiently powerful OT operation set can describe manipulating objects, we can manipulate the object model with OT. Really what OT services are, are robust message busses that describe how one user is changing the objects to another user, and accounting for context transformations along the way. So if you can build an abstract OT operation set that lets you mess with objects and objects structures, then you have a shot at then adapting that operation set to a whole slew of applications. This is actually an ongoing area of research, that I presented a paper on to the collaborative editing workshop at the ACM CSCW conference last year. ~Michael On 6/13/13 8:34 PM, Joseph Gentle jose...@gmail.com wrote: Interesting... The abstraction I use is to have a bunch of data types. Each data type defines what
Re: A Call To Developers
Christian, You're preaching to the choir. I understand clearly. John On Fri, Jun 14, 2013 at 2:48 PM, Christian Grobmeier grobme...@gmail.comwrote: On Fri, Jun 14, 2013 at 4:46 PM, John Blossom jblos...@gmail.com wrote: Christian, I leave it up to the developers to make those decisions. Whatever tools help the project to move forward best for both the immediate efforts and the long-term managing of the brand are the right tools. Knowing that GitHub is a community that attracts many leading edge developers in its own right, having at least a mirror of the code in that environment certainly can't hurt. Sure, its about the project community to decide. That being said, one needs to know that GitHub is a tool, but the ASF is more than just that. The ASF is a Foundation which protects you (as a developer) and the project from legal problems. The whole ASF is a big community. GitHub is a set of tools, and the people forking and pull-requesting there are not necessary a community (of course they can become one). Still, the legal umbrella is non-existent there, except you build it up on your own. There are lot more of differences between a place like GitHub and the ASF. For example, GitHub is a company which hosts your code. In most cases you have no chance to join the board or influence company decisions. At the ASF you can become a member - or lets say shareholder - of the foundation. You can join the board (if elected) and have an influence as member. The ASF of course requires a few things to successfully protect people/projects. One of them is a canonical hosted scm. A mirror to GitHub is of course possible and never the problem. From ASF view it would be a problem to use GitHub as main scm. If there are more questions on exactly these things, I can offer to join a Google Hangout and of course will try to answer all questions by mailing list. Upayavira has huge knowledge what the ASF offers too. Cheers Christian All the best, John Blossom On Fri, Jun 14, 2013 at 4:17 AM, Christian Grobmeier grobme...@gmail.comwrote: On Fri, Jun 14, 2013 at 3:27 AM, John Blossom jblos...@gmail.com wrote: Github+Apache+Wave=awesomeness. John Please be aware, that for legal reasons all code must live on ASF platforms first. We have a mirror on github: https://github.com/apache But in first place, we need to deal with code ourselves. We cannot utilize GitHub as first class repository and sync back. This has already caused some pain points in the past, but our infra managed to set up Git natively at Apache. So every project is free to move to Git meanwhile. We can even take over the mentioned project from Github to ASF and then mirror back to GitHub. If folks decide that GitHub is the canonical place of code, it would end this incubation. its of course perfectly reasonable, not every project makes a good fit at Apache. That said, I believe Wave would benefit from the foundation. But in the end, its a decision being made by the project. Cheers On Thu, Jun 13, 2013 at 11:56 AM, Scott Wilson scott.bradley.wil...@gmail.com wrote: On 12 Jun 2013, at 22:08, Upayavira wrote: All I can say is, well said. We need to consider Wave as a young project - one that really doesn't yet have anything set in stone. I've heard Apache described as a 'do-ocracy', that is, he who does, decides. If there's an approach you think would be good, start coding, show us your work (stick it on Github or somewhere), and we can see about getting it a place in the Wave repo itself. In the end, what the Wave project exists for is to release products. To release products, we need real code. Let's get started with some experiments that, if successful, can eventually morph into real products. When Wave first entered the Incubator I offered my Node implementation of the Wave Gadgets API as a contribution: https://github.com/scottbw/wave-node At that time the Wave project was still in the middle of sorting itself out so couldn't really think about absorbing more products. However, maybe its worth considering again? The module above also has integration with Apache Wookie (Wookie also implements the Wave Gadgets API, but the default implementation uses comet and isn't as fast). Wookie is deployed automatically as part of Apache Rave, which then offers a practical distribution method for Wave-related products as part of enterprise social portals. Its also worth pointing out I think that ShareJS + Wave-Node = basically Wave in Node but without the federation stuff ... though unlike Joseph I'm quite happy to give up maintaining my code in Github for a chance to be part of something bigger :) S Upayavira On Wed, Jun 12, 2013, at 09:04 PM, Thomas Wrobel wrote
Re: Adding experiments into the repository
Sounds like a good idea to have multiple experiments moving forward. Lots of great ideas floating around now that are worth trying out. Fast-fail is the order of the day for the moment, which should allow us to decide things such as what goes on which side of the API, etc. John On Fri, Jun 14, 2013 at 3:49 PM, Joseph Gentle jose...@gmail.com wrote: Following from Michael MacFadden's suggestion to put related (hopefully integrated) technologies into the same wave repository, I propose adding an experiments directory into SVN. (Do we vote on this or something, or should I just do it?) Experimental code should be exempt from code review, although there should be an expectation that unused experimental code may be cleaned up if it isn't actively worked on for more than 3 months or so. I want a place where we can collaboratively iterate on fresh ideas design. We want to produce things that are eventually useful to the wave project. I think we should place experiments outside of the trunk directory, here: https://svn.apache.org/repos/asf/incubator/wave/experiments Thoughts? -J
Re: Wave Future Options
Agreed, Dave. Lots to do, but some agreement needed up front on where to cut the overall architecture and how to phase it. Glad to help in that process as required. John On Thu, Jun 13, 2013 at 9:25 AM, Dave w...@glark.co.uk wrote: On 12/06/13 23:08, Joseph Gentle wrote: I don't think we should bully contributors into using the languages we prefer. I agree completely - and the Apache wave community could host multiple projects in different languages (assuming the contributions come). i.e. once we have a clear client/server split, then we could support multiple clients in different languages. Or eventually even complete interoperable stacks (as in the apache Qpid project etc.), if there are the contributions to support it. So it's about identifying the common ground / principles that we want Apache wave to represent - which could be wider than the wiab codebase. Dave
Re: A Call To Developers
Github+Apache+Wave=awesomeness. John On Thu, Jun 13, 2013 at 11:56 AM, Scott Wilson scott.bradley.wil...@gmail.com wrote: On 12 Jun 2013, at 22:08, Upayavira wrote: All I can say is, well said. We need to consider Wave as a young project - one that really doesn't yet have anything set in stone. I've heard Apache described as a 'do-ocracy', that is, he who does, decides. If there's an approach you think would be good, start coding, show us your work (stick it on Github or somewhere), and we can see about getting it a place in the Wave repo itself. In the end, what the Wave project exists for is to release products. To release products, we need real code. Let's get started with some experiments that, if successful, can eventually morph into real products. When Wave first entered the Incubator I offered my Node implementation of the Wave Gadgets API as a contribution: https://github.com/scottbw/wave-node At that time the Wave project was still in the middle of sorting itself out so couldn't really think about absorbing more products. However, maybe its worth considering again? The module above also has integration with Apache Wookie (Wookie also implements the Wave Gadgets API, but the default implementation uses comet and isn't as fast). Wookie is deployed automatically as part of Apache Rave, which then offers a practical distribution method for Wave-related products as part of enterprise social portals. Its also worth pointing out I think that ShareJS + Wave-Node = basically Wave in Node but without the federation stuff ... though unlike Joseph I'm quite happy to give up maintaining my code in Github for a chance to be part of something bigger :) S Upayavira On Wed, Jun 12, 2013, at 09:04 PM, Thomas Wrobel wrote: I have been working on a geolocation (/augmented reality) specific Wave project: arwave.org I am not sure how suitable this is. Its effectively a client that I (badly) want to be compatible with any standard wave server. As there was no standard client/server protocol for the last few years, I gave up, and instead made it work with XMPP/jabber chat. Obviously, losing persistency along the way and crippling its usefulness. Would this project fit under the apache wave umbrella? I still want to make it a wave server client - but untill the servers have the protocol in place to allow that, it will be effectively just a xmpp client for a specific use. -Thomas Wrobel. ps. Of course, I am happy to help out any wave developments I am skilled enough to do anyway. On 12 June 2013 21:48, Michael MacFadden michael.macfad...@gmail.com wrote: Wavers, It has become clear that there a MANY more people are interested in Wave that we had previously thought. There recent explosion of interest is fantastic. However, what I am seeing is that the wave community is splintered and fragmented. There are a lot of people who have been doing development work on wave related concepts like OT, federation, etc outside of Apache Wave. Maybe they thought they were not welcome. Maybe they though the existing code base was headed in the wrong direction. Maybe they thought we would not be open to their project ideas. Who knows. Whatever the reason, there have been many side projects all over the web some how related to wave. Either inspired by wave, or developed to explore some alternative to the way wave did something. I would like to try to unite these efforts in to one umbrella project. From a code base perspective, we can create multiple folders in our repository were proof of concepts and side projects can exist along side WiaB. If this drives activity and interest to Apache Wave, then fantastic. Sure we would love to have 20 people jump in and help us with the current issues directly in WiaB. If people want to do that, by all means PLEASE HELP. But if that is not what you are interested in, but you ARE interested in some other path forward, please join our community. Please use Apache Wave as your home to develop Wave technology. Be it OT, Clients, Protocols, what have you. There is nothing that says the WiaB in its current form has to be the only product produced by this project. We could have a generic core OT Engine / API that powers wave. We could have the core server that leverages this engine. We could have multiple clients, etc. I specifically named the project Apache Wave and not Apache Wave in a Box, because the vision was the eventually this project would become the home of a whole ecosystem of wave related things. If there is one current truth, it is that none of our groups has been independently successful in developing and distributing a widely used and adopted OT based collaboration project. I think together we can be more successful than apart. Yes that means we have to hash things out
Re: Wave Future Options
PP, Thanks, all very good points. I don't want to try to split the hair too finely, but since compile time and object sizes are key factors in perceived performance, perhaps there's some overlap there. To your point, if we do have a GWT environment for an app, then it could be used to develop clients that can be used when its traits are most optimal, but for other types of use and data, other clients can be potentially lighter, faster and receive more wide adoption more rapidly, perhaps, whilst the APIs allow access to the same underlying data sets. So as I suggested, I am not sure that we have a clear-cut baby-versus-bathwater situation. However, I'd like to see the default demo client default to the highest performance options for mobile platforms. My guess is that this will not be a GWT-based client, but let's see what you folks come up with. It's true that many/most of the available options will work in HTML5, the question is which ones will take advantage of the most advanced features of HTML5 in a way that will ensure access to the best performance and the most inputs from sources such as mobile sensors using the most advanced libraries and runtime environments. Like an army getting ready for battle, we need to me mindful of what the war is that we're fighting today, not the best way to fight yesterday's wars. This is especially important in terms of Google's initiatives towards so-called Packaged Apps for Chrome browsers, for example, and similar efforts by Mozilla for Firefox. About a year from now this sort of apps methodology is likely to start having some real impact on how people develop, package and use apps on both mobile and desktop/laptop platforms. So think about that one to three year horizon, in which Wave marketing will be unfolding more robustly. How can we make the best technology decisions now to meet the market where it's moving? Many thanks, John On Wed, Jun 12, 2013 at 3:08 PM, Pratik Paranjape pratikparanj...@gmail.com wrote: Two points John, someone has to speak for GWT :) GWT has its demerits (compilation time, monolithic output), but the 2 mentioned above are not among them. 1) GWT produces large output because that is the kind of projects it is used for. No one uses GWT for average size website or general dom manipulation. But, if you use GWT and Javascript for the same _heavy-weight_ project, in general GWT trumps in performance and size. There are experiments online to prove that. a) http://www.youtube.com/watch?feature=player_embeddedv=sl5em1UPuoI#t=1543s(gwtquery vs others selector engine benchmarks, 2009, but still makes a point. very funny too) b) Open two pages: http://www.smartclient.com/smartgwt/showcase/#main (GWT demos) http://smartclient.com/#Welcome (JS demos) Check memory and CPU usage in chrome's task manager. In fact, GWT makes micro-optimizations and obfuscation which practically, manually can't be done 2) Except for Webworkers, everything in HTML5 can be used in GWT. I am using it, I am sure others are using them too. Even webworkers are usable, but its not as straightforward. On Thu, Jun 13, 2013 at 12:04 AM, John Blossom jblos...@gmail.com wrote: To all, I have been reading this thread carefully, and I am very appreciative of the strong contributions from the community. This could go a number of ways, obviously, but perhaps I can provide some focus, especially in light of some specific projects that I am trying to get funded that could benefit from Wave technologies: - Light and fast is best - highly portable, even better. One of the heavy downsides to GWT from my perspective is that it seemed to result in big, resource-hungry apps and runtime environments. If we are to have Wave succeed in a mobile-dominated Web world - almost two-thirds of Web users are now mobile-first users - efficiency is key. To that point, more recent client-side technologies that center around JS and its variants in an HTML5 environment would seem to provide a powerful intersection of runtime performance, the most advanced mobile Web integration tools and wide developer awareness and support. It's not a matter of trendiness, it's a matter of going where performance meets available talents. - There seems to be a fairly broad consensus that splitting client/server functions is the best thing to do. The sooner the better, so that a well-defined API and toolkit can enable a wide array of apps to be developed. Conceivably one variant might be GWT adapted to the API, to satisfy those people still having project commitments to it. Server-side you can argue any number of ways, but the light and fast paradigm should apply there also as much as complex data management issues warrant. The Wave data model is the core of its potential success, so anything that serves the data model efficiently is good. - It's true that we should leave the door open for people to code
Re: A Call To Developers
Michael, Thanks very much for taking the initiative to make your statement. It is for developers themselves to decide this, but I see some of the best talents available beginning to coalesce around the Apache framework, now. I agree that there are many good ideas on the table, and that there will be a competition amongst those ideas for the things that work best and that meet the market's needs. If the Apache framework can manage those ideas and the people behind them effectively and fairly in a way that can accelerate the deliverable of highly functional and supportable Wave components, I am all for it. Wave needs a strong open source management framework to succeed in its goals. While we may debate about the specific tools that are best for managing a rapidly evolving project effectively, I don't think that there's much disagreement about needing not just excellent ideas and skills but a community with guidelines and mentorship that encourage the best efforts. In some ways this effort is somewhat unique within the Apache framework, which provides opportunities as well as challenges. The example of Apache OpenOffice has been used as a potential model of a user-oriented Apache product platform, and I think that there are many aspects of that project that might serve as a model for Apache Wave marketing. The main difference is that it's well-established technology and a small and specific set of applications. What we're discussing so far as of late is a data model and applications development toolkit that can enable many user interface applications as well as embedded applications, all of which are headed towards like what appears to be a rapid development regimen. Wave is also being reborn in a mobile era that's used to accessing applications in other sorts of channels that maximize their market penetration. So I would hope that the Apache community would be open to considering ways in which the resulting outputs from its Wave project can be marketed in more modern ways. So I am very excited to see the responses surfacing on this thread. I hope that this energy can be channeled towards maximum market impact. I don't want Wave to be just great - I want it to rock the world, top to bottom. All the best, John Blossom On Wed, Jun 12, 2013 at 3:48 PM, Michael MacFadden michael.macfad...@gmail.com wrote: Wavers, It has become clear that there a MANY more people are interested in Wave that we had previously thought. There recent explosion of interest is fantastic. However, what I am seeing is that the wave community is splintered and fragmented. There are a lot of people who have been doing development work on wave related concepts like OT, federation, etc outside of Apache Wave. Maybe they thought they were not welcome. Maybe they though the existing code base was headed in the wrong direction. Maybe they thought we would not be open to their project ideas. Who knows. Whatever the reason, there have been many side projects all over the web some how related to wave. Either inspired by wave, or developed to explore some alternative to the way wave did something. I would like to try to unite these efforts in to one umbrella project. From a code base perspective, we can create multiple folders in our repository were proof of concepts and side projects can exist along side WiaB. If this drives activity and interest to Apache Wave, then fantastic. Sure we would love to have 20 people jump in and help us with the current issues directly in WiaB. If people want to do that, by all means PLEASE HELP. But if that is not what you are interested in, but you ARE interested in some other path forward, please join our community. Please use Apache Wave as your home to develop Wave technology. Be it OT, Clients, Protocols, what have you. There is nothing that says the WiaB in its current form has to be the only product produced by this project. We could have a generic core OT Engine / API that powers wave. We could have the core server that leverages this engine. We could have multiple clients, etc. I specifically named the project Apache Wave and not Apache Wave in a Box, because the vision was the eventually this project would become the home of a whole ecosystem of wave related things. If there is one current truth, it is that none of our groups has been independently successful in developing and distributing a widely used and adopted OT based collaboration project. I think together we can be more successful than apart. Yes that means we have to hash things out on the mailing list occasionally, but I think we are all open to input from anyone. If we can create a place for side projects, then perhaps people will be more free to bring their ideas and efforts here. To that end, I would put a call out to people who are currently working on related projects to officially joint the Apache Wave community. Contribute some code, whatever that may be. Help
Re: Email bridge bot
sounds like a very interesting bridge to keep the community both efficient and in formed. Thanks! John On Fri, Jun 7, 2013 at 5:48 PM, Bruno Gonzalez (aka stenyak) sten...@gmail.com wrote: So I've been working on this for the past days. Still a work-in-progress, and will need at least another week of development hours (read: 2-4 weeks of actual time) before we can really think about migrating to wave. The apache mailing list is rejecting the emails from my bot, it thinks they're spam. So for the time being, here's a screenshot-based preview: http://imgur.com/a/GtGY6 -- Saludos, Bruno González ___ Jabber: stenyak AT gmail.com http://www.stenyak.com
Re: Community mailing list?
Upayavira, Thanks, those are my thoughts exactly. I will not inundate this community unnecessarily with communications, but I agree that focusing on having a community that's vibrant and engaged is a key function of this list. If we get more developers excited and engaged then that's a good thing - and that's what we need to focus on. Once there's more consensus on development direction, then we can think about a platform-product channel as necessary. Perhaps in the meantime we can agree to some subject line protocol that will make it easier for people to filter messages, such as a hashtag (#waveforward). Best, John email: jblos...@gmail.com phone: 203.293.8511 google+: https://google.com/+JohnBlossom On Thu, Jun 6, 2013 at 10:08 AM, Upayavira u...@odoko.co.uk wrote: Paulo, I'm not saying we won't separate, I'm just saying I want us to wait a bit. I'm asking you to sit with the pain for a bit longer, so we can allow what the other, non-coding discussions are really about to emerge, and for others to show up and start engaging with the coding part of this project - that's the most important thing in the end. Talk is easy, actually doing takes more effort. Upayavira On Thu, Jun 6, 2013, at 02:51 PM, Paulo Pires wrote: Please, separate things! Political management stuff one way, development/user support another. It's really painful to get dozens of e-mails just because of logo stuff and such, no matter how important the subject is. And yes, I can use filters, but still they're not perfect and are PITA to maintain. PP On Jun 6, 2013, at 1:58 PM, John Blossom - Shore Communications Inc. jblos...@shore.com wrote: Good points all. I am content to continue the Wave:Forward level of discussion in this venue, as long as we're focusing on the re-architecture of the Wave platform it's very much a development focus. Perhaps another list will make sense when there's more of a product management focus for Wave - but first we need a more marketable platform. So I will continue to feed ideas on market requirements and product specifications here for now, unless something else evolves. And yes, it will be nice to eat our own dog food and use Wave itself as the communications platform. John
Re: Wave Logo
Copyright is claimed for the logo by Google but the word Wave is too generic and used too widely to be likely to be trademarked in association with the logo. The main concern that I have is that Apache should ensure a more clear ownership of the logo. But if it is used only on open source projects, then by definition CC should be fine for now anyway. On Jun 4, 2013 3:04 PM, Alfredo Abambres alfredoabamb...@gmail.com wrote: Was the OpenWave logo submitted to the organization responsible for certification of TM or R in the US or any other country by Google or Apache? If not, then we cannot (legally) use the TM symbol or the trademark word. AFAIK, (and I don't know much) the logo was designed and set to use a CC attribution license. No legal registration happened, but I may be wrong about the registration. Anyhow, if that happened, then a legal document should be in someone's archive. Wave On. http://alfredo.abambres.com *Moving, always moving, and living inside movement. Rainer Maria Rilke* On Tue, Jun 4, 2013 at 12:10 PM, John Blossom jblos...@gmail.com wrote: That does seem to be the one that's referenced in the rights page. I am not sure where they stand in clarifying the rights ownership transfer with Google, but either way it seems to be the right one. All the best, John Blossom at 6:20 AM, Yuri Z vega...@gmail.com wrote: Yep, I think we have rights only for the open wave logo. On Tue, Jun 4, 2013 at 12:38 PM, Angus Turner angusisf...@gmail.com wrote: I know for sure we have the rights for the Open Wave one, not sure about the wiab. I personally think we should go for the openwave, and can add the trademark to it if needed. Thanks Angus Turner angusisf...@gmail.com On Tue, Jun 4, 2013 at 7:35 PM, Ali Lown a...@lown.me.uk wrote: Christian has raised the point that we need to attach 'Trademark' to the wave logo before we can release. We seem to be using a different logo in the project to the one on the website: https://svn.apache.org/repos/asf/incubator/wave/branches/wave-0.4-release/war/static/logo.png https://incubator.apache.org/wave/images/OpenWaveLogo.png Which of these should we be using going forward? (Presumably the Open Wave logo?) (Do we have rights over the wave-in-a-box one?) Comments? Ali
Re: Community mailing list?
How about platform@ ? On Jun 5, 2013 4:59 PM, Upayavira u...@odoko.co.uk wrote: Except, this isn't for users of WIAB, it is for general discussion about Wave, so user@ doesn't really fit. There are other general@ lists, so there's precedence there. The other issue though, is that mailing lists work when there's a shared project to discuss. I'm not yet clear what the shared project is that would be discussed on the general@ list - what the shared goal would be. I'd say let's continue the conversations for a while longer, and when the time comes, I can create the list (I have the necessary karma). Upayavira On Wed, Jun 5, 2013, at 08:51 PM, Ed - 0x1b, Inc. wrote: On Wed, Jun 5, 2013 at 12:09 PM, Christian Grobmeier grobme...@gmail.com wrote: On Wed, Jun 5, 2013 at 8:41 PM, Ali Lown a...@lown.me.uk wrote: Following on from the talk, if we intend to develop Apache Wave as an end-product focused project, we should probably migrate talks of 'visions' and 'community' to a separate mailing list from to allow wave-dev to be kept as a developer list related to work on the code-base and documentation. How about would people feel about a wave-general list for the non-dev focused discussions? Sure, we can give it a try. Other apache projects usually have wave-user@ (later to be renamed to u...@wave.apache.org) +1 General would be ok too. But I think user would be better, as it follows old patterns. If there is a need to for example discuss the protocol later and the users list is getting to much traffic it could be separated once more. Ali -- http://www.grobmeier.de https://www.timeandbill.de
Re: Invitation to On-Air Hangout
Christian, Thanks so much for your great hangout contributions. I hope that it was a good experience for you. On the new mailing list I'd like to get into more detail on programme construction so that we pick the right model. Best, John On Jun 5, 2013 12:27 PM, Christian Grobmeier grobme...@gmail.com wrote: hello folks, i am around, but i cannot join somehow. Cheers On Wed, Jun 5, 2013 at 1:13 PM, Alfredo Abambres alfredoabamb...@gmail.com wrote: Christian: Thank you. John (he will be the HoA moderator) knows a bit more of what will or not be asked, but since this is an Apache project, there will probably be some questions about the ASF, how it works and why to bet on communities within an Apache environment is a good thing. Audience participants may also have questions about that... so, a slot for you may be the right thing to do. --- IMPORTANT recommendations to Apache Wave community guest speakers: Since is the Wave Watchers official account that will probably invite us, to ensure that everything works fine, you advisable that you follow their G+ page: https://plus.google.com/117473852478348637128/ https://plus.google.com/117473852478348637128/posts Invitations will start to be sent 15 to 30 minutes before the event goes live. The Live broadcasting starts at 17:00 GMT+1 (London time). More info could be found at the Events page: https://plus.google.com/events/cboctmpnt5503f0km2b0s5iritk During the day and prior to the event, more info will be added to that page and other backchannels (including the http://www.youtube.com/TheWaveWatcherschannel). History on the makes, don't you think? :-) Wave On. PS: I'll personally be helping the team behind the event. So fire away if you need help or to know more how these things called Hangouts on Air and Events on Air work. Alfredo http://alfredo.abambres.com *Moving, always moving, and living inside movement. Rainer Maria Rilke* On Wed, Jun 5, 2013 at 9:21 AM, Christian Grobmeier grobme...@gmail.com wrote: Hi Alfredo, On Tue, Jun 4, 2013 at 9:23 PM, Alfredo Abambres alfredoabamb...@gmail.com wrote: John: Does anyone from the Apache Wave team already confirmed the participation on the Hangouts on Air as a speakers? Christian: Will you join as a speaker? SPEAKERS of the Apache Wave community I would personally love to see/hear tomorrow: Besides Christian, I think Upayavira, Ali Lown (the person leading the release of 0.4 version) and Yuri Zelikov (the only maintainer I know of a *sort of* public WIAB instance http://waveinabox.net/) would be excellent representatives. I just can tell things on the ASF, but not really on Wave itself. Not sure if it makes sense to give a speaker slot to me. Anyway, chances are good I am there, and if there are questions on incubating, i might be able to answer them. Cheers http://alfredo.abambres.com *Moving, always moving, and living inside movement. Rainer Maria Rilke* On Tue, Jun 4, 2013 at 4:11 AM, John Blossom jblos...@gmail.com wrote: Hi, Just reminding folks of our On-Air Hangout tomorrow, if you have some time please join us for the discussion, event page at: https://plus.google.com/events/cboctmpnt5503f0km2b0s5iritk All the best, John Blossom email: jblos...@gmail.com phone: 203.293.8511 google+: https://google.com/+JohnBlossom On Mon, Jun 3, 2013 at 12:14 AM, John Blossom jblos...@gmail.com wrote: Hi, In celebration of the packaging of the Apache Wave 0.4 release the Wave Watchers thought that it would be nice to invite the release team to an On-Air Hangout to chat about the release and to participate in a discussion about the future of Wave. The event is scheduled for 1700 GMT on Weds 5 June and will be recorded on YouTube. Event link: https://plus.google.com/events/cboctmpnt5503f0km2b0s5iritk It would be great if committers who participated in this release could join in the discussion so that we can all celebrate this milestone and the future of Wave. Thanks! John Blossom -- http://www.grobmeier.de https://www.timeandbill.de -- http://www.grobmeier.de https://www.timeandbill.de
Re: Wave Logo
Understood, so per our earlier interchange I'd hope that more clear Apache ownership of the current logo can help to simplify rights and claims. Nest, John On Jun 5, 2013 12:49 PM, Upayavira u...@odoko.co.uk wrote: While a logo might be open source, trademark law will restrict what you can do with it. It is important to recognise that logos are kind of a special case in open source. Upayavira On Wed, Jun 5, 2013, at 02:23 PM, John Blossom wrote: Copyright is claimed for the logo by Google but the word Wave is too generic and used too widely to be likely to be trademarked in association with the logo. The main concern that I have is that Apache should ensure a more clear ownership of the logo. But if it is used only on open source projects, then by definition CC should be fine for now anyway. On Jun 4, 2013 3:04 PM, Alfredo Abambres alfredoabamb...@gmail.com wrote: Was the OpenWave logo submitted to the organization responsible for certification of TM or R in the US or any other country by Google or Apache? If not, then we cannot (legally) use the TM symbol or the trademark word. AFAIK, (and I don't know much) the logo was designed and set to use a CC attribution license. No legal registration happened, but I may be wrong about the registration. Anyhow, if that happened, then a legal document should be in someone's archive. Wave On. http://alfredo.abambres.com *Moving, always moving, and living inside movement. Rainer Maria Rilke* On Tue, Jun 4, 2013 at 12:10 PM, John Blossom jblos...@gmail.com wrote: That does seem to be the one that's referenced in the rights page. I am not sure where they stand in clarifying the rights ownership transfer with Google, but either way it seems to be the right one. All the best, John Blossom at 6:20 AM, Yuri Z vega...@gmail.com wrote: Yep, I think we have rights only for the open wave logo. On Tue, Jun 4, 2013 at 12:38 PM, Angus Turner angusisf...@gmail.com wrote: I know for sure we have the rights for the Open Wave one, not sure about the wiab. I personally think we should go for the openwave, and can add the trademark to it if needed. Thanks Angus Turner angusisf...@gmail.com On Tue, Jun 4, 2013 at 7:35 PM, Ali Lown a...@lown.me.uk wrote: Christian has raised the point that we need to attach 'Trademark' to the wave logo before we can release. We seem to be using a different logo in the project to the one on the website: https://svn.apache.org/repos/asf/incubator/wave/branches/wave-0.4-release/war/static/logo.png https://incubator.apache.org/wave/images/OpenWaveLogo.png Which of these should we be using going forward? (Presumably the Open Wave logo?) (Do we have rights over the wave-in-a-box one?) Comments? Ali
Re: Wave Logo
That does seem to be the one that's referenced in the rights page. I am not sure where they stand in clarifying the rights ownership transfer with Google, but either way it seems to be the right one. All the best, John Blossom at 6:20 AM, Yuri Z vega...@gmail.com wrote: Yep, I think we have rights only for the open wave logo. On Tue, Jun 4, 2013 at 12:38 PM, Angus Turner angusisf...@gmail.com wrote: I know for sure we have the rights for the Open Wave one, not sure about the wiab. I personally think we should go for the openwave, and can add the trademark to it if needed. Thanks Angus Turner angusisf...@gmail.com On Tue, Jun 4, 2013 at 7:35 PM, Ali Lown a...@lown.me.uk wrote: Christian has raised the point that we need to attach 'Trademark' to the wave logo before we can release. We seem to be using a different logo in the project to the one on the website: https://svn.apache.org/repos/asf/incubator/wave/branches/wave-0.4-release/war/static/logo.png https://incubator.apache.org/wave/images/OpenWaveLogo.png Which of these should we be using going forward? (Presumably the Open Wave logo?) (Do we have rights over the wave-in-a-box one?) Comments? Ali
Invitation to On-Air Hangout
Hi, In celebration of the packaging of the Apache Wave 0.4 release the Wave Watchers thought that it would be nice to invite the release team to an On-Air Hangout to chat about the release and to participate in a discussion about the future of Wave. The event is scheduled for 1700 GMT on Weds 5 June and will be recorded on YouTube. Event link: https://plus.google.com/events/cboctmpnt5503f0km2b0s5iritk It would be great if committers who participated in this release could join in the discussion so that we can all celebrate this milestone and the future of Wave. Thanks! John Blossom
Re: Invitation to On-Air Hangout
BTW, I know that you're still working on packaging the release, this just seemed as good a time as any to celebrate what everyone's doing. Best, John On Mon, Jun 3, 2013 at 12:14 AM, John Blossom jblos...@gmail.com wrote: Hi, In celebration of the packaging of the Apache Wave 0.4 release the Wave Watchers thought that it would be nice to invite the release team to an On-Air Hangout to chat about the release and to participate in a discussion about the future of Wave. The event is scheduled for 1700 GMT on Weds 5 June and will be recorded on YouTube. Event link: https://plus.google.com/events/cboctmpnt5503f0km2b0s5iritk It would be great if committers who participated in this release could join in the discussion so that we can all celebrate this milestone and the future of Wave. Thanks! John Blossom
New Vision Pitch Script
Hi, just to keep everyone in sync, I am working on a script for a video that might key funding for coders, etc., which can be refined into much more succinct materials in a compelling slide deck, etc. This is being edited and developed via Rizzoma for now. Current draft follows. All the best, John Blossom Today's Web is changing like it never has before. More than a billion people use it today and a billion more will be using it in just a few years - mostly on mobile devices. Those Web users will live in a world that is being transformed by the mobile Web. Trillions of sensors that generate Web data and machines that use Web data are everywhere, creating a Web of everything connected to everyone. New devices and services merge the world that we live in with the world of Web information in new and powerful ways. How do we organize and manage our communications with both people and machines to build up knowledge together that leads to successful actions in such a fast-changing world? That's what Wave does - by helping people to communicate in ways designed specifically for a world that lives in the Web. Wave software merges Web conversations, information and apps into evolving, dynamic Web documents that get people sharing, creating and acting on complex information streams more easily and more rapidly than ever before. Instead of having dozens of apps or Web sites for dozens of different kinds of documents, Wave enables you to organize all of your communications and information around a specific topic, relationship or other focus into a single document that many people and apps can use and update. Wave documents are modeled on the way people speak and share ideas - little bits of information gathered over time, sometimes put together by many people working intensely on exactly the same thing at the same time. Wave works like the real world works - it reflects the exploring nature of how we discover and understand today's world together. You don't have to send people Wave documents - you bring people into them, just like you'd add a person to a conversation. Apps can contribute to Wave documents, too - machines and online services can be part of the conversation in Wave. Wave documents are designed to evolve easily and flexibly over time, with a structure that can easily transform conversations into insights into actions. Different apps can use all or just portions of Wave documents, or organize them in any way you'd like. Instead of having to use specific software for specific types of information, Wave documents can help you to use any software that helps them to become more valuable - allowing you to eliminate the need for many other kinds of software, documents and communications services. Many types of services try to do what Wave does, but none try to work the way that the world really works today. Take email, for example. When we respond to someone in a conversation, do we repeat everything that someone said in that conversation before saying something new? Does the next person do the same thing, repeating all of their names, and so on? And yet that's exactly what happens in emails all the time. In Wave, you only need to communicate something once in exactly the right spot, and everyone who's involved in that topic will see what's new - without repeating anything. They can watch Wave documents being changed before their very eyes as people and apps add new information - and they can even see one another adding things as they type or add people and apps to a Wave document. But even better, you can use another completely different app for the same Wave document and get a completely different view of its information, making it easy for people with different kinds of focus to see and add to the information that's most important to them. Wave documents can power many different types of apps, and are not tied to any specific app for their structure or storage. This allows people to have more ownership of their data in Waves and more ability to shift from one app to another without having to deal with data format issues. Wave can work on any common mobile device, with or without an active Internet connection, enabling people to collect and analyze information in their own documents, share them with others on a person-to-person basis or add them into a global network of Wave services in which local and personal knowledge can feed valuable services and transactions. Wave started as a demonstration project sponsored by Google in 2008. In 2009, Google gave the software from that demonstration project to the Apache Software Foundation, which enabled several new Apache Wave-derived products to come to market. Wave has been used successfully in enterprises, media, medicine, education, law enforcement, startups and many situations where highly efficient and flexible information sharing is key to rapid problem solving and clear communications in complex situations. Today Wave is preparing for a new
Re: Release planning
You can argue it either way, it really comes down to how you want to position the new architecture. If Yuri's comfortable with 0.4, then I am. J
Re: wave test server
Thomas, That certainly seems like the right paradigm. J On Fri, May 31, 2013 at 8:23 AM, Thomas Wrobel darkfl...@gmail.com wrote: At the moment, I think so yes. I dont think its possible to communicate directly with any arbitrary Wave server like you can with a email server. I think, untill we have that client/server protocol, the way to send information from a new client to a wave server has to be: Client (something) Your Sever (DataAPI) Destination Wave Server However, I dont think Your Server needs to be a actual wave server. I think it can be something else running on, say, Google app engine. You will really need someone else's guidence further then this though, as its not something I have knowledge of, or attempted. -- Here is a link to the old, no longer working, lib that let me connect directly to any Wave server from android without my own inbetween: http://darkflame.co.uk/sharespace/fedone-android-client-api-0.3.jar I believe it worked with the server release just after Wave changed hands to Apache. (so, the first after Google). It broke sometime after that. -Thomas Wrobel ~~~ Thomas Bertines online review show: http://randomreviewshow.com/index.html Try it! You might even feel ambivalent about it :) On 22 February 2013 08:18, Ahmet Rasit ah...@seyrah.com wrote: It would be very helpful thank you. but I couldn't understand exactly system design. lets say I have a client running native app android or ios so I need a wave server to interact . and that server can interact with other wave servers also their clients. is that correct? how client speak to server is xmpp or sth different? On Fri, Feb 22, 2013 at 1:37 AM, Thomas Wrobel darkfl...@gmail.com wrote: I believe SOP issues shouldn't apply to non-web based clients. If developing for Android or iOS natively, it really should be possible to run a client without needing to also run a server. (Indeed, upto very early apache Wiab versions I saw examples of this done - I personally had both a Android and a QT Wave client prototype using some library that I foundI could dig this up if helps). Whether its possible by using the Data API, however, I don't know. Id love it to be true though. On 22 February 2013 00:10, Yuri Z vega...@gmail.com wrote: I think you still need a server of some sorts, cause you can't issue requests from the client to other domain. Also, you would need to authenticate with OAuth. What I intended to say is that Data/Robot API are still mostly supported and one can use to create a custom client - similar to micro-box. On Fri, Feb 22, 2013 at 12:44 AM, Thomas Wrobel darkfl...@gmail.com wrote: I thought using the Data APIs required an additional server side component? At least, all the examples seemed to use app-engine or servlets of some sort (so clientseverwiab rather then clientwiab) Is this just there implementation rather then a requirement? I was (for years) always just looking for a wave equivalent of Pop3 or IMAP. The ability for a client to login and read/write to waves on any wave server. Have I really been so stupid? I wouldn't be surprised... On 21 February 2013 20:07, Yuri Z vega...@gmail.com wrote: I think the java client compatibility is still intact. Look at micro-box.appspot.com - it still functions fine using Robot/Data API On Thu, Feb 21, 2013 at 7:57 PM, Thomas Wrobel darkfl...@gmail.com wrote: Id be interested in how you get on - I have been struggling making a Android client for awhile. Back when it was Google wave, there was some libs for client/server interfacing, but since then compatibility was broken and (to my knowledge) no one has done it since. On 21 February 2013 10:01, Ahmet Rasit ah...@seyrah.com wrote: hi I am planning to develop wave client for ios platform and is there any actual running wave server I can use for testing. also what is the future for wave? I think interest is getting lower then before. -- ahmet raşit demirkan SeyRah bilişim www.seyrah.com +902125217678 -- ahmet raşit demirkan SeyRah bilişim www.seyrah.com +902125217678
Re: NodeJS for Sever-Side Wave Code
PP, Great comments, I agree that brilliance without maintainability can be risky. We need both. Here's hoping that we can set the right BHAGs with the right metrics and messaging that will excite the world as much as we're excited. One step at a time, but I think that we're getting there. Many thanks, John On May 30, 2013 11:59 AM, Paulo Pires pjpi...@ubiwhere.com wrote: See inline. Cheers, PP On May 30, 2013, at 4:26 PM, Michael MacFadden michael.macfad...@gmail.com wrote: In my humble opinion we need: 1) A vision and marketing to attract people. It's hard to attract coders if they don't know what they are coding. Forget node.js or any other world-changer-wannabe frameworks. As Michael states, most developers don't understand (or are even scared of) this project architecture/structure. Fixing this would be a great start! 2) We need a road map. I'd start with reorganizing code and simplifying the learning-curve for developers. Without developers, there's no product! 3) We need a design. Important in the long-term. 4) Then we need coders. Yes, yes, yes! Mainly we need coders to help with the release. Potentially finish off the migration to Maven. Then we need to start splitting the client and server (along with designing the protocols as we have discussed). Maven integration kept going (privately) and I have most, if not all of the code updated to the last commit. Thing is that Michael prepared a discussion because of simple but very important things like renaming packages and module structure and there was little to no feedback from the community. This was more than enough for (at least) me to think there was no common interest in what me and Michael were doing and therefore I stopped. Perhaps then we redesign the UI, or maybe simply making it more flashy. Maybe we focus on a mobile client. Not sure. ~Michael On 5/30/13 4:15 AM, John Blossom jblos...@gmail.com wrote: Interesting remarks so far from everyone, thanks very much, keep them coming. I see others coming in. Here are some thoughts regarding your thoughts: - There seems to be a commitment to get a release out. If that's a near-term objective, then good, let's allow people to have pride in their work and to have a complete Wave 1.0 kit. If it's a someday goal, then I'd suggest that we need to think about how best we can get resources to move more towards the vision that I have outlined in my presentation deck, assuming that there's consensus that it be refined into a concrete roadmap and powerful pitch deck. My personal concern at this point is not ship it. My personal concern is to make Wave awesome and powerful as soon as possible using every resource available, using those currently committed and those yet to be committed. - Resources are an issue. So is funding, as a corollary. Both respond to the right vision for the marketplace. I feel pretty confident that with some refinement, what is captured in the presentation is funding-worthy and will attract funding. However, I am concerned about branding issues and program management - people putting their money down will want effective results in a meaningful timeframe, because competitive pressures don't sleep. - I am willing to put my reputation and efforts into being a committer for Apache Wave, if a) there is a strong consensus that the presentation is the basis for forming an effective short-term and long-term roadmap for Wave, b) my role as an initial fund-raiser, marketer, product manager and brand developer as a committer is acceptable, c) if we can get agreement on the right branding and brand management that will be appropriate for Wave being successful commercially, and d) there is agreement that this will require not just some initial code funding but a framework that will ensure some level of ongoing support for committers. - I am not a coder of any substance anymore, but I designed, coded and managed coders on Unix-based systems for realtime applications in the financial industry and have developed and hacked in many Web sites as well as little projects like monkeying around with Arduino. I have spent most of my career in strategic marketing and product management for content and technology products such as Wave. I have spoken globally on visionary content and technology topics, I have a very good base of social media followers, I have been quoted in the mainstream press often and I have appeared on television news shows. Often technology people put me in the non-tech box and often non-tech people put me in the tech box. I don't care. I have always worked at the intersection of content, technology and people, so as long as the right thing gets done, you can call me whatever you want. That's what you'd get, no more, no less. - I want Wave to succeed. You want Wave to succeed. Others want
Re: NodeJS for Sever-Side Wave Code
PP, On current release, if you're really that close to the goal line, I encourage the community to carry on, and let's hope that others on this list will get excited enough to dig in and help and start to get messy with the pieces a bit in the process. That will help in the long run. Agreed that everything in the presentation is not equally achievable and not equally important in the short term. It's a starting point. But key things, such as separating client/server, concentrating on code efficient enough to excel in cross-platform mobile applications, enabling multiple UIs for common waves, data typing at the message/blip level, ensuring smooth and efficient federation and mobile syncing - those are the key bits. In the process of doing this we need to reduce existing complexity where possible - if the Wave platform can't be as efficient as other popular platforms at both small and huge scale, it won't succeed. Hopefully good things come out of further discussions on brand management. We all want Wave to rock, no matter what, and I too believe that an independent Wave engineered for today and the future is critical - it's a key potential factor in breaking down walled garden control of our knowledge. Back to solving for X. Thanks again. Best, John On Thu, May 30, 2013 at 12:53 PM, Pratik Paranjape pratikparanj...@gmail.com wrote: I haven't been actively involved in development of the project, but I have studied it extensively in past, including the code, and I enjoy answering new people coming to wave whenever I can. Having another pressing project in hands close to release, I am yet not able to contribute code wise, but I will try to take up on John's point and take discussion forward. I hope its acceptable as Christian so elegantly mentioned different roles people can take on through Apache model. :) Opinions, but may help. Please see inline On Thu, May 30, 2013 at 4:45 PM, John Blossom jblos...@gmail.com wrote: Interesting remarks so far from everyone, thanks very much, keep them coming. I see others coming in. Here are some thoughts regarding your thoughts: - There seems to be a commitment to get a release out. If that's a near-term objective, then good, let's allow people to have pride in their work and to have a complete Wave 1.0 kit. If it's a someday goal, then I'd suggest that we need to think about how best we can get resources to move more towards the vision that I have outlined in my presentation deck, assuming that there's consensus that it be refined into a concrete roadmap and powerful pitch deck. My personal concern at this point is not ship it. My personal concern is to make Wave awesome and powerful as soon as possible using every resource available, using those currently committed and those yet to be committed. A release has been an objective since a long time now and we are on the verge of making one, with all the licenses updated and dependencies solved (am I right?) thanks to efforts from current contributors. As I have gathered from the mailing list discussion, a release is also an important requirement in Apache's project model, and it will only help on all counts, including developer moral. That said, it should not affect at all inversely if we continue discussing a direction and new ideas while the release is being done. We can work on an agreeable road-map and start working on it for subsequent releases. As I recall from messages I read only couple of days back, most were thinking of giving this release a minor version number only considering the low maturity of the code. - Resources are an issue. So is funding, as a corollary. Both respond to the right vision for the marketplace. I feel pretty confident that with some refinement, what is captured in the presentation is funding-worthy and will attract funding. This point is true in any context, and encouraging if we can take extra help for Wave, wouldn't hurt. As long as all the stakeholders agree to protect the project and it's independence (within Apache model), funding may help to get the momentum going. However, I am concerned about branding issues and program management - people putting their money down will want effective results in a meaningful timeframe, because competitive pressures don't sleep. I think this is to be resolved by John and senior members from Apache, discussing the concrete points John may have concerns about. If required and allowed by legal issues, semi-involved people like me can chime in for thoughts. We may get exact discussion going if John list outs exact ideas and concerns he has about branding (?) Again, this seems like a regulation choice, and I understand Apache board members will be authorities, I am just trying to chip in for a direction. - I am willing to put my reputation and efforts into being a committer for Apache Wave, if a) there is a strong consensus
Re: NodeJS for Sever-Side Wave Code
Bruno, I think that some of the urgency is that the future is now. While Wave was incubating, we now have robust HTML5 apps, mobile devices dominating the Web, the internet of everything as a reality and not a promise, things like Google Glass offering new modes of conversational experiences and more than a billion more people expected to come online by 2016. I believe strongly that with the proper changes, Wave can be the ideal platform for all of this as soon as it's coded up to the market's needs. Our first conference may not be a Google I/O or WWDC, but I think that it will be one to watch. As many have observed, the current project is working with demo code. As we all know, waving a wand over a code base and calling it open source doesn't mean that it's ready for open source coding and maintenance. Symbian seems to be the poster child for this. So a complete release gives us a good base from which to say, what next? Will take a look at the roadmap link. More to be done on that and on refining the overview into an awesome pitch deck and something more of a consensus about the roadmap I really appreciate everyone coming out of the woodwork, it will help our next step, no matter what. Thanks, John On Thu, May 30, 2013 at 1:00 PM, Bruno Gonzalez sten...@gmail.com wrote: @jblossom given the scarse resources, I too think that having a proper short/long term plan is essential, in order to try to direct efforts where they're the most needed. We can't force anyone to work on any particular issue, but we can certainly get better at showcasing the places where they're needed. Personally, I'm not good at guessing the long-term future. 15 years ago I didn't think servers would store most of our documents and apps, and here we are now with the cloud everywhere! So I prefer to leave that to other people with a bit more vision, even if I can sometimes contribute to that kind of discussions. @pipires, @michael: On Thu, May 30, 2013 at 5:58 PM, Paulo Pires pjpi...@ubiwhere.com wrote: On May 30, 2013, at 4:26 PM, Michael MacFadden michael.macfad...@gmail.com wrote: 1) A vision and marketing to attract people. It's hard to attract coders if they don't know what they are coding. Forget node.js or any other world-changer-wannabe frameworks. As Michael states, most developers don't understand (or are even scared of) this project architecture/structure. Fixing this would be a great start! +1 I tried to contribute to Wiab, a pretty simple UI modification, and I found myself lost in the code a few hours, nagging poor yuri with questions, before I could do anything simple (being new to modern web development, gwt, etc was of no help either). 2) We need a road map. I'd start with reorganizing code and simplifying the learning-curve for developers. Without developers, there's no product! Would this be a good place to consolidate a roadmap? https://issues.apache.org/jira/browse/WAVE#selectedTab=com.atlassian.jira.plugin.system.project%3Aroadmap-panel Even if the discussion takes place mostly elsewhere (in this mailing list, for example), the results could be consolidated as tasks (with sub-tasks and what not), and then grouped with names such as v1.0, public_release_marketing, etc. Or is that tracker reserved for coding issues, and we should look into using the wiki instead? Thing is that Michael prepared a discussion because of simple but very important things like renaming packages and module structure and there was little to no feedback from the community. This was more than enough for (at least) me to think there was no common interest in what me and Michael were doing and therefore I stopped. I'm not familiar enough with your work, so I cannot comment on that and on many other issues. However, if you deemed it appropriate and even started work, I'd say, go ahead whenever you feel like it. I'm sure there's many lurkers here in the same situation as me, thinking that it's great that people work on what they feel necessary, even if we don't voice ourselves every time :-) -- Saludos, Bruno González ___ Jabber: stenyak AT gmail.com http://www.stenyak.com
Re: NodeJS for Sever-Side Wave Code
Thomas, Specific to my objectives RE your skills, I would appreciate a hand with making a kick-butt video for the Wave pitch. Not now, but at the right time. RE the right tool for some of the project communications, I have to say it, some of these processes might work really well in Wave...just sayin'. John All the best, John Blossom On Thu, May 30, 2013 at 1:08 PM, Thomas Wrobel darkfl...@gmail.com wrote: Is there any suggested way to organize volunteers? I know the current method is basically a todo list isnt it? which is fine in itself. But possibly having a list of commiters together with notes of their skillset could also help. I can, for example do the following; * client side GWT coding. * Android/Java coding * php * 3d graphics and animations (possibly to help presentations/diagrams) * film editing * html I haven't a clue when/if any of these things would be usefull - but I wouldn't mind being put on a list for anyone to contact if Wave related help is needed in those areas. Forget node.js or any other world-changer-wannabe frameworks. As Michael states, most developers don't understand (or are even scared of) this project architecture/structure. Fixing this would be a great start! +1 I tried to contribute to Wiab, a pretty simple UI modification, and I found myself lost in the code a few hours, nagging poor yuri with questions, before I could do anything simple (being new to modern web development, gwt, etc was of no help either). +1 I also tried to do the same thing. Despite being very familiar with both Java and GWT, and a few web-apps behind me, I still struggled. I haven't seen the codebase in almost a year now, however. Would it benefit from some very simple first stepslike better commenting? removing redundant/legacy stuff? If separating the client is a step too big for anyone to commit too right now, there might still be more basic messures to help move the existing codebase to something easier to deal with.
Re: Mailing Lists vs Wave
The acid test, is it not. Hopefully it's done in a way that enables both listserv/email integration and synchronisation as well as the ability to drop other UIs on top of the API to expose different aspects of the data set. The most compelling use case will be a) I really can replace my email server with Wave for collaborative communications whilst synchronising with those who are still on email servers and b) I don't have to duplicate data sets to get more value - I just use different components of a given wave, sometimes with other UIs. All the best, John Blossom On Thu, May 30, 2013 at 3:58 PM, Alfredo Abambres alfredoabamb...@gmail.com wrote: *Upayavira* * * Thanks for your explanation, the reasons you stated are extremely valid and important. --- About *Upayavira *and *Pratik Paranjape *idea/suggestion of setting up a test project for this * * I can't help much in terms of servers and hard-code, but I can assist on UI design and, if needed?, promoting and helping discussions (the What is Wave? link that I shared before is an example of what we're doing) Would a Wiab like this http://waveinabox.net/http://waveinabox.net/auth/signin?r=/ be enough or we would need to develop a different kind of client? http://alfredo.abambres.com *Moving, always moving, and living inside movement. Rainer Maria Rilke* On Thu, May 30, 2013 at 8:45 PM, Pratik Paranjape pratikparanj...@gmail.com wrote: Awesome! Then perhaps we should take it as our first use case both to showcase Wave to others and to test how well we are doing. It will drive us towards most of the functional goals we want to have in the end. Most engineers will feel better if they know what the purpose of the building is and where it is supposed to be placed. On Fri, May 31, 2013 at 1:02 AM, Upayavira u...@odoko.co.uk wrote: On Thu, May 30, 2013, at 08:28 PM, Pratik Paranjape wrote: There can be a workaround at some point though. We can have discussions going on a Wave server for Wave project and make sure that all messages are forwarded to this mailing list as well. If someone responds here, we can have wave pull it out and merge into wave discussion. Interesting use case and fits with what we are trying accomplish. Realistically, its not going to be easy for a whole organization to replace its primary communication platform unless something equally proven comes along. Another point will be: who reliably pays for the server once it has traffic? In such places, like John mentioned, funding comes handy. The sorts of intermediates you mention would be the right kind of approach - maintaining the accessibility people currently appreciate with mailing lists, while providing another approach also. As to funding, while Apache doesn't pay people to develop software, it does have funds to cover server hardware, if a good case can be put forwards. If folks wanted a place to run a test wave server, for 'collective play', it wouldn't be too hard to arrange a VM for the purpose. Upayavira
Re: Moving Wave Forward
Bruno, Thanks so much for sharing your experience. No doubt there is someone who has succeeded with federation and uses it, but I cannot think of anyone offhand. The existing commercially oriented products don't use it, AFAIK. Especially if some form of federation powers peer-to-peer mobile sharing for Wave, then basic setup needs to be baked in. Think of email - it's a little geekish to input your SMTP and POP addresses, but in general that's all it takes for a user to connect to email - perhaps it needs to be at least as simple for default Wave federation. But also there is the issue of one app per server, which seems to be fairly baked into Wave at the moment. This makes it an app-centric platform, rather than a data-centric platform as currently configured. As I suggest in the deck, if you enable multiple UIs to access a common Wave server, then to some degree you can overcome some of the problems with vendors not wanting to federate with their competition. If the platform can enable many UIs for a common wave, then the vendors are forced to compete to present and manipulate that data on the user's terms - and that my be better both for the users and for spurring more focused and useful apps. At least that's what I am trying to suggest in my deck. So in sum, let's make federation really work, both for people like you trying to set up Web servers, let's make it work on a more granular level in peer to peer, and let's enable waves to work with multiple UI clients, so that we don't have to have federation to have choice in UIs. Thanks, John On Wed, May 29, 2013 at 3:30 AM, Bruno Gonzalez sten...@gmail.com wrote: On Tue, May 28, 2013 at 11:56 PM, Ali Lown a...@apache.org wrote: A slide deck outlining this strawman model of where Wave could head may be found at the following address: https://docs.google.com/presentation/d/1pNsrX26947QH89Ot3k62nlKKSRFLmVgBWxcIEne8VYI/edit?usp=sharing I would just like to remind people that Apache Wave has had working federation support in the code base since creation. (Nullifying some of the points in slides 3,4 and 16). The problem is not the lack of federation support in Apache Wave, rather the lack of a roll-out of its use between currently active Wave servers. (Which requires the server admins at both ends of a federation link to make configuration changes). Beyond reminding people of this feature, I am unsure how we can increase adoption of it. Suggestions welcome? My take on this: long ago I tried to set up a WiaB server, and I wanted it to support federation. The aftermath of the few hours I dedicated to WiaB was a working wave server, but no federation. The main reason, in my case, was the lack of step-by-step documentation regarding federation, since I'm not familiar with all the stuff relative to certificates and wasn't able to figure it out quickly. I have no idea how many other people have tried to set up a wave server with federation, or what their reasons for failing are, but there's my two cents :-) By the way, I recently purchased a static IP address for my shitty shared-hosting server, so I could give it a try again and try to set up WiaB there, but I'm limited in the amount of time I can dedicate to it, so I cannot give any promises regarding federation support... Also I'm not sure what other wave servers out there support federation? -- Saludos, Bruno González ___ Jabber: stenyak AT gmail.com http://www.stenyak.com
Re: Moving Wave Forward
of concept. It has some potential, but I think most of us would agree that some time spent re-architecting how we want things to work and morphing the code base into that (or rewriting it) would be in the projects best interests. Again if we have a roadmap and people who feel strongly about working on those areas, we can divide and concours. Thanks for acknowledging this . Coming from someone who has been involved with Wave since very early, it makes the point official. It will indeed first step to prepare a road map and get agreement on a list of necessary changes. I had posted a list in one of the earlier messages. Of course as Upayavira has pointed out, everything of it will depend on the developer interest, which is not up to the same level as proposed changes at this moment. Wishing best for Wave. Pratik Paranjape On Wed, May 29, 2013 at 9:10 AM, John Blossom jblos...@gmail.com wrote: Dave, Thanks, I think that we're on the same page. No doubt that Wave federation holds out tremendous promise. Hopefully the Apache community can move towards deciding how they'd like to progress towards more advanced goals. I welcome any and all suggestions to that end. Best, John On May 28, 2013 11:08 PM, Dave w...@glark.co.uk wrote: John, Sorry, I wasn't trying to say that wiab provides the mobile client that you are looking for, just that the wave federation concepts and their implementation in the wiab server are likely to be a good fit for your usecases. You suggested that the federation paradigms needed a complete re-think for a mobile-first world, and my understanding is that this isn't the case. So while federation and the server component sound like a reasonable fit, the mobile _client_ (supporting off-line access etc.) doesn't exist yet. Over the years there have been a few discussions about formalising the client/server protocols within wiab - but so far there hasn't been the manpower to implement it. Dave On 29/05/13 03:30, John Blossom wrote: Dave, I think that you've captured much of both the paradigm and the paradox. Wave could - and should - be able to do these things, but in the existing kit you really cannot do it for many of these points, and where it does do it one cannot say that the mobile-Web interface is elegant. In none of the cases, AFAIK, does it deal with the case of people initiating new Waves offline on a mobile device and adding in applets or shifting to different UIs for the same wave. Also not covered in the mobile client is the potential for peer-to-peer mobile Wave communication. This will be of particular importance to next billion online people markets. I agree that with connectivity, the client may communicate to a primary server for further downstream federation for specific waves (other servers for other waves, if done properly, if there is not node-to-node credentials, as in company X only wants to communicate with mobile clients directly). The email analogy is certainly clear, but Wave federation and client-server functions need to focus first on getting waves to support multiple Wave UIs, so that there will be compelling reasons to build out federation for email support, via presentation layer adapters. So if the client/server break is/can be formalised in code, then we can move towards a mobile-capable HTML5/JS client which is efficient, robust, supports multiple UIs on top of the same data sets, and which can have offline, server-like functions which can enable peer-to-peer federation. I may not be completely up to speed on the current architecture's status, but so far the responses that I am receiving seem to confirm where the architecture needs to adapt to modern requirements and performance expectations. Hopefully we can all work together to address the huge opportunities that those requirements present. Thanks, John On Tue, May 28, 2013 at 9:54 PM, Dave w...@glark.co.uk wrote: John, I'm not a committer, but I have some familiarity with the wave stack. On 29/05/13 01:23, John Blossom wrote: People need their waves to live on their mobile devices, not just on cloud Web servers. After all, email provides local mobile offline capabilities. I think you might not be 100% up to speed with some of the Wave architecture. In an email world, people have mobile off-line access, but they still use email servers. The email server often has the definitive copy of their email [i.e. imap], and mobile just retains a cached copy. In a mobile world, you still need a permanent server address to deliver mail to, or send it through. This is the same with wave: client ---c--- server ---f--- server ---c--- client The federation protocol [f] sits between
Re: Moving Wave Forward
divide and concours. Thanks for acknowledging this . Coming from someone who has been involved with Wave since very early, it makes the point official. It will indeed first step to prepare a road map and get agreement on a list of necessary changes. I had posted a list in one of the earlier messages. Of course as Upayavira has pointed out, everything of it will depend on the developer interest, which is not up to the same level as proposed changes at this moment. Wishing best for Wave. Pratik Paranjape On Wed, May 29, 2013 at 9:10 AM, John Blossom jblos...@gmail.com wrote: Dave, Thanks, I think that we're on the same page. No doubt that Wave federation holds out tremendous promise. Hopefully the Apache community can move towards deciding how they'd like to progress towards more advanced goals. I welcome any and all suggestions to that end. Best, John On May 28, 2013 11:08 PM, Dave w...@glark.co.uk wrote: John, Sorry, I wasn't trying to say that wiab provides the mobile client that you are looking for, just that the wave federation concepts and their implementation in the wiab server are likely to be a good fit for your usecases. You suggested that the federation paradigms needed a complete re-think for a mobile-first world, and my understanding is that this isn't the case. So while federation and the server component sound like a reasonable fit, the mobile _client_ (supporting off-line access etc.) doesn't exist yet. Over the years there have been a few discussions about formalising the client/server protocols within wiab - but so far there hasn't been the manpower to implement it. Dave On 29/05/13 03:30, John Blossom wrote: Dave, I think that you've captured much of both the paradigm and the paradox. Wave could - and should - be able to do these things, but in the existing kit you really cannot do it for many of these points, and where it does do it one cannot say that the mobile-Web interface is elegant. In none of the cases, AFAIK, does it deal with the case of people initiating new Waves offline on a mobile device and adding in applets or shifting to different UIs for the same wave. Also not covered in the mobile client is the potential for peer-to-peer mobile Wave communication. This will be of particular importance to next billion online people markets. I agree that with connectivity, the client may communicate to a primary server for further downstream federation for specific waves (other servers for other waves, if done properly, if there is not node-to-node credentials, as in company X only wants to communicate with mobile clients directly). The email analogy is certainly clear, but Wave federation and client-server functions need to focus first on getting waves to support multiple Wave UIs, so that there will be compelling reasons to build out federation for email support, via presentation layer adapters. So if the client/server break is/can be formalised in code, then we can move towards a mobile-capable HTML5/JS client which is efficient, robust, supports multiple UIs on top of the same data sets, and which can have offline, server-like functions which can enable peer-to-peer federation. I may not be completely up to speed on the current architecture's status, but so far the responses that I am receiving seem to confirm where the architecture needs to adapt to modern requirements and performance expectations. Hopefully we can all work together to address the huge opportunities that those requirements present. Thanks, John On Tue, May 28, 2013 at 9:54 PM, Dave w...@glark.co.uk wrote: John, I'm not a committer, but I have some familiarity with the wave stack. On 29/05/13 01:23, John Blossom wrote: People need their waves to live on their mobile devices, not just on cloud Web servers. After all, email provides local mobile offline capabilities. I think you might not be 100% up to speed with some of the Wave architecture. In an email world, people have mobile off-line access, but they still use email servers. The email server often has the definitive copy of their email [i.e. imap], and mobile just retains a cached copy. In a mobile world, you still need a permanent server address to deliver mail to, or send it through. This is the same with wave: client ---c--- server ---f--- server ---c--- client The federation protocol [f] sits between the two servers, and to support mobile clients you would expect those clients to: - maintain cached waves - allow
Re: Moving Wave Forward
necessary, will have to evolve through this path. Hello Michael, 2) The current codebase is largely a proof of concept. It has some potential, but I think most of us would agree that some time spent re-architecting how we want things to work and morphing the code base into that (or rewriting it) would be in the projects best interests. Again if we have a roadmap and people who feel strongly about working on those areas, we can divide and concours. Thanks for acknowledging this . Coming from someone who has been involved with Wave since very early, it makes the point official. It will indeed first step to prepare a road map and get agreement on a list of necessary changes. I had posted a list in one of the earlier messages. Of course as Upayavira has pointed out, everything of it will depend on the developer interest, which is not up to the same level as proposed changes at this moment. Wishing best for Wave. Pratik Paranjape On Wed, May 29, 2013 at 9:10 AM, John Blossom jblos...@gmail.com wrote: Dave, Thanks, I think that we're on the same page. No doubt that Wave federation holds out tremendous promise. Hopefully the Apache community can move towards deciding how they'd like to progress towards more advanced goals. I welcome any and all suggestions to that end. Best, John On May 28, 2013 11:08 PM, Dave w...@glark.co.uk wrote: John, Sorry, I wasn't trying to say that wiab provides the mobile client that you are looking for, just that the wave federation concepts and their implementation in the wiab server are likely to be a good fit for your usecases. You suggested that the federation paradigms needed a complete re-think for a mobile-first world, and my understanding is that this isn't the case. So while federation and the server component sound like a reasonable fit, the mobile _client_ (supporting off-line access etc.) doesn't exist yet. Over the years there have been a few discussions about formalising the client/server protocols within wiab - but so far there hasn't been the manpower to implement it. Dave On 29/05/13 03:30, John Blossom wrote: Dave, I think that you've captured much of both the paradigm and the paradox. Wave could - and should - be able to do these things, but in the existing kit you really cannot do it for many of these points, and where it does do it one cannot say that the mobile-Web interface is elegant. In none of the cases, AFAIK, does it deal with the case of people initiating new Waves offline on a mobile device and adding in applets or shifting to different UIs for the same wave. Also not covered in the mobile client is the potential for peer-to-peer mobile Wave communication. This will be of particular importance to next billion online people markets. I agree that with connectivity, the client may communicate to a primary server for further downstream federation for specific waves (other servers for other waves, if done properly, if there is not node-to-node credentials, as in company X only wants to communicate with mobile clients directly). The email analogy is certainly clear, but Wave federation and client-server functions need to focus first on getting waves to support multiple Wave UIs, so that there will be compelling reasons to build out federation for email support, via presentation layer adapters. So if the client/server break is/can be formalised in code, then we can move towards a mobile-capable HTML5/JS client which is efficient, robust, supports multiple UIs on top of the same data sets, and which can have offline, server-like functions which can enable peer-to-peer federation. I may not be completely up to speed on the current architecture's status, but so far the responses that I am receiving seem to confirm where the architecture needs to adapt to modern requirements and performance expectations. Hopefully we can all work together to address the huge opportunities that those requirements present. Thanks, John On Tue, May 28, 2013 at 9:54 PM, Dave w...@glark.co.uk wrote: John, I'm not a committer, but I have some familiarity with the wave stack. On 29/05/13 01:23, John Blossom wrote: People need their waves to live on their mobile devices, not just on cloud Web servers. After all, email provides local mobile offline capabilities. I think you might not be 100% up to speed
Re: Moving Wave Forward
Thanks, Bruno, this is initial thinking, so it does require some refinement. Let me try to clarify this a bit. On your point a), that's definitely part of the idea - provide email-like synchronization with their remote Wave server(s) of choice to enable people to work in offline mode. Offline mode would also enable people to create new waves, add in applets available in the offline environment, which could include applets designed to interact with mobile phone sensors, etc.- in other words, data inputs and outputs not Web-dependent for their functions. When back online, the local cache syncs with the HTML5 offline space. How much of that is truly federation as it exists today at the server level is up for grabs, but that's the idea. The net result is certainly LIKE federation - you're treating the mobile device as a node requiring synchronization. On b), not so much the idea, though as you laid it out it's intriguing, of course. For b), the thought is that we enable mobile devices to federate with one another directly on some limited basis via side-door communications methods such a NFC, bluetooth, mobile hotspot, etc. I know that there are some tricky things in this, but this is the concept - not so much going through the Web but sharing knowledge more in a mode of multiple offline devices, which eventually get to sync with Web servers via a). So, for example. I am a farmer in Ghana, I went to my market town, where FINALLY there was Internet connectivity, and I got syncing for many of my waves into the local device - the ones that matter most to me and my community when I am offline. I return from the market town to my village, and others want to learn about what's happening in those waves. I use Bluetooth or whatever comms are available (even USB or sneakernet, potentially) and other devices in the community can get a copy of what I found. This may include devices in the local school, which may be equipped with a true server node, which can make it available to multiple users via a LAN within the school environment. Now b) is where some of my personal passion lies, but I recognize that for commercialization a) is a far higher priority. I hope that this helps. Many thanks, John On Wed, May 29, 2013 at 10:48 AM, Bruno Gonzalez sten...@gmail.com wrote: On Wed, May 29, 2013 at 3:59 PM, John Blossom jblos...@gmail.com wrote: Especially if some form of federation powers peer-to-peer mobile sharing for Wave, then basic setup needs to be baked in. Think of email - it's a little geekish to input your SMTP and POP addresses, but in general that's all it takes for a user to connect to email - perhaps it needs to be at least as simple for default Wave federation. I feel confused about this point. In the GoogleDoc slide #4, it's mentioned that any device can federate with any other. Does it refer to: a) re-using the server-to-server federation protocol for client-to-server communication, but still having a wave server located between both clients; or b) deploying a wave server together with each client (e.g. deploying a server+client in my cellphone connected to the wifi at work, and deploying a server+client in a laptop connected tomy home ethernet network), and magically punching through firewalls, nats and the likes in order to directly connect the two devices without a server? Point a) would be interesting, because the work is mostly done (federation may be easy or difficult to get working, but it does work), and it could help a client that has been offline for a while and needs to synchronize with the wave server, by dealing with all possible conflicts between client and server operations (which I guess is what current federation implementation in WiaB may already be doing, merging OT operations coming from a different, federated, server?). Regarding point b), I fail to see how it can work without a dedicated 24/7 server that bridges firewalled clients. Just like the recently released BittorrentSync peer software still relies on an official 3rd party server in order to deal with the (numerous!) cases when clients are behind a NAT or whatever, even when the software claims to be P2P. Please forgive me if what I said doesn't make sense, i'm not really too well versed in these matters so maybe I'm seeing obstacles that don't really exist :-) -- Saludos, Bruno González ___ Jabber: stenyak AT gmail.com http://www.stenyak.com
Re: Moving Wave Forward
Thomas, On the demo client, you're absolutely right - the Google Wave demo app became by default a user app, and that's where most of the trouble came in. I think of the demo client a little like a database viewing utility programme - available as an alternative for people wanting to get into the tech of it all, but definitely not optimized for mass market use and managed as such. It's main purpose is to effectively demonstrate all of the underlying features of Wave, which can then be made more attractive and useful by others. You are right, this is all about great clients. If the client had been bundled with SMTP/POP, for example, we'd never have had the array of email services that we have today using Apache severs. So separating the client and API from Apache will ultimately help Apache license more servers. Apache can focus on well designed, secure and scalable server code, others can focus on making that code worth using. Looks like we're in sync on the role that JS-derived code can play. For native client apps, if you have well-formed JS in HTML5 that can live as a container in a native app, my guess is that it's not so hard - many mobile apps appear to go that route. I see a battle plan for concrete and achievable action forming... Thank you, John On Wed, May 29, 2013 at 11:35 AM, Thomas Wrobel darkfl...@gmail.com wrote: we need an updated version of a demo app in the most ideal language - generic as in today's WiaB client but a testbed for services that can be adopted easily into much more targeted apps. Id agree with that, although I'd suggest that app be targeted towards developers rather then end users. That is, it doesn't have to be refined, or cutting edge, but it does have to clearly provide a framework from which others can see exactly how to use the protocol. I think that will be the surest way to actually get great clients - not to try to take it all on at Apache, but provide a framework for other developers to do so. I would guess theres probably hundreds of times more mobile developers able to make nice clients then there is those able to work on the sever. I admit this is just a hunch - but I personally know at least 3 people who would do so given a chance. -- Regarding ideal language - that one might be a tough call; For web clients GWT is still a very good choice for desktop. It has to be Javascript running on the browser alternatives simply arnt anywhere mature yet. But GWT provides a nice way to make that javascript. Theres alternatives that should be looked into , but its certainly still one of the easiest ways to build webapps that are highly optimized and yet work almost identically on all browsers. By using gwt to write Java which compiles to Javascript it saves a lot of time and effort. How well GWT preforms on mobile, however, I really dont know. Small GWT apps tend to be a lot bigger then working directly in javascript...however...big GWT apps tend to be a lot smaller. That is, it starts bigger, but scales very well. So it probably depends on the form of the end client the best way to do it. In either case, Id suggest any c/s library itself would just be made in Javascript. GWT clients would have to make a wrapper for it (but this is a easy task), meanwhile by having the library j/s means people not wanting to use GWT for web apps can still use the lib. This gives client developers a lot more options. The only downside would be ports would be need to be made for Native clients. But thats pretty unavoidable whatever we do. On 29 May 2013 16:59, John Blossom jblos...@gmail.com wrote: Thomas, You have laid out the correct roadmap overall, I think. I'd add a little icing on the cake - in addition to a well-defined developer API toolkit (my interpretation of 1-4), we need an updated version of a demo app in the most ideal language - generic as in today's WiaB client but a testbed for services that can be adopted easily into much more targeted apps. Perhaps we would need two or more generic apps, to show general use capabilities and how to target them. I think that you bring up an important point - Apache owns the whole stack, which apparently is still an intertwining of server-side and client-side functionality. I agree that Apache's role is best suited for 1-3. With that said, though, if the rest is up to other people, we will need Apache's support in allowing the Wave brand to encompass the Apache Wave Web server components supported by them and the API-plus-apps-toolkit supported in open source format by another organization. I don't want to presume what's right or wrong here, I am only laying out what seems logical so that ASF can consider this and help us to formulate an appropriate course of action. Thanks, John On Wed, May 29, 2013 at 6:43 AM, Thomas Wrobel darkfl...@gmail.com wrote: Would it be correct to say the steps towards multiple clients (both
Re: Moving Wave Forward
Michael, Sounds like we're all starting to sync up on this bit by bit. The SMTP/IMAP analogy is correct, though with different services, of course. I am certainly open to who maintains the raw reference client. Given that the platforms for that client are not really in Apache's typical line of projects, AFAIK, perhaps the API is where we draw the line, but there would have to be an equivalent body providing similar development and maintenance services as the Apache server code evolves. It may start one way, then go another way, whatever, it's doable either way. Regardless of who develops the reference client, clearly testing via the reference client would be part of the Apache Wave server release process. The key thing is to enable client apps to evolve rapidly with the right organizational structure focused on client apps commercialization, evangelization and education. If we can get a little more clarity on feasibility and roles, perhaps we can start to move this to a more public realm. I don't think that we're quite there yet, but we're a lot closer than we were 24 hours ago. Thanks, John On Wed, May 29, 2013 at 11:46 AM, Michael MacFadden michael.macfad...@gmail.com wrote: In my opinion, we don't really have a client server protocol at all. What we have is have code passing protobuffs over web sockets or SocketIO. The current situation is that the client and server code are intertwined due to its implementation in GWT and the desire to use the same code in both, just cross compiling parts into the web client. I think the server and client should be divorced. My opinion is that we should pattern after email where the federation protocol would equate to SMTP and the client server protocol would equate to IMAP. That said I think apache would still be responsible for developing a REFERENCE client to demonstrate the server. I think we could also offer client APIs written in different languages to facilitate client development. The rest of the client development could happen in other projects. Again just my opinion. ~Michael On May 29, 2013, at 8:35 AM, Thomas Wrobel darkfl...@gmail.com wrote: we need an updated version of a demo app in the most ideal language - generic as in today's WiaB client but a testbed for services that can be adopted easily into much more targeted apps. Id agree with that, although I'd suggest that app be targeted towards developers rather then end users. That is, it doesn't have to be refined, or cutting edge, but it does have to clearly provide a framework from which others can see exactly how to use the protocol. I think that will be the surest way to actually get great clients - not to try to take it all on at Apache, but provide a framework for other developers to do so. I would guess theres probably hundreds of times more mobile developers able to make nice clients then there is those able to work on the sever. I admit this is just a hunch - but I personally know at least 3 people who would do so given a chance. -- Regarding ideal language - that one might be a tough call; For web clients GWT is still a very good choice for desktop. It has to be Javascript running on the browser alternatives simply arnt anywhere mature yet. But GWT provides a nice way to make that javascript. Theres alternatives that should be looked into , but its certainly still one of the easiest ways to build webapps that are highly optimized and yet work almost identically on all browsers. By using gwt to write Java which compiles to Javascript it saves a lot of time and effort. How well GWT preforms on mobile, however, I really dont know. Small GWT apps tend to be a lot bigger then working directly in javascript...however...big GWT apps tend to be a lot smaller. That is, it starts bigger, but scales very well. So it probably depends on the form of the end client the best way to do it. In either case, Id suggest any c/s library itself would just be made in Javascript. GWT clients would have to make a wrapper for it (but this is a easy task), meanwhile by having the library j/s means people not wanting to use GWT for web apps can still use the lib. This gives client developers a lot more options. The only downside would be ports would be need to be made for Native clients. But thats pretty unavoidable whatever we do. On 29 May 2013 16:59, John Blossom jblos...@gmail.com wrote: Thomas, You have laid out the correct roadmap overall, I think. I'd add a little icing on the cake - in addition to a well-defined developer API toolkit (my interpretation of 1-4), we need an updated version of a demo app in the most ideal language - generic as in today's WiaB client but a testbed for services that can be adopted easily into much more targeted apps. Perhaps we would need two or more generic apps, to show general use capabilities and how to target them. I
Re: Moving Wave Forward
Upayavira, You raise a very interesting point with OpenOffice. I note that there is an openoffice.org Web site to help promote this product. Wave would benefit from a similar branded domain. Wave.org is owned by Google, so as a part of this greater exercise it would help if the appropriate body were to take over that domain, if Google were inclined to do so. That would certainly help to align the marketing of Wave appropriately with other open source platforms. I can see where this could work out well, and that Apache could provide a suitable framework. The one difference that I'd like to have people consider is that whereas OpenOffice focuses on a specific product, what we're proposing for Wave is a platform that would enable multiple client products to be developed - as well as demo apps, presumably for both PC and mobile devices. From that perspective, a hypothetical wave.org might wind up being a hybrid of openoffice.org and linux.org. Linux.org includes links to popular distributions, education and opportunities for Linux partner organizations such as Ubuntu to promote their products and services. So if that sort of thing seemed to fit into the ASF framework, then perhaps that's a good solution. I am not sure how the administration of OpenOffice works within the Apache framework, so if you could forward a link to appropriate information I'd be glad to educate myself. Many thanks, John On Wed, May 29, 2013 at 1:44 PM, Upayavira u...@odoko.co.uk wrote: On Wed, May 29, 2013, at 05:06 PM, John Blossom wrote: Michael, Sounds like we're all starting to sync up on this bit by bit. The SMTP/IMAP analogy is correct, though with different services, of course. I am certainly open to who maintains the raw reference client. Given that the platforms for that client are not really in Apache's typical line of projects, AFAIK, perhaps the API is where we draw the line, but there would have to be an equivalent body providing similar development and maintenance services as the Apache server code evolves. It may start one way, then go another way, whatever, it's doable either way. Regardless of who develops the reference client, clearly testing via the reference client would be part of the Apache Wave server release process. The key thing is to enable client apps to evolve rapidly with the right organizational structure focused on client apps commercialization, evangelization and education. If we can get a little more clarity on feasibility and roles, perhaps we can start to move this to a more public realm. I don't think that we're quite there yet, but we're a lot closer than we were 24 hours ago. John, While much of the code that is developed at Apache is developer focused (e.g. servers, libraries, etc), don't assume that that is a constraint or anything other than chance. There's no reason why user focused code (e.g. clients) can't be developed here, it is simply a question of who is interested in developing such things. If OpenOffice can succeed at developing user focused code at Apache, then the Wave project should be able to also. Upayavira