You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 14 Next »

A Wavy Future - Project Brief

 

Overview

Apache Wave is a successor to Google Wave -> FedOne > Wave In A Box. Wave is a real-time communication tool. Wave is a server that hosts and federates waves, supports extensive APIs, and provides a rich web client. This project aims to rewrite the original implementation of Wave that is currently available at www.github.com/apache/incubator-wave. This rewrite is to ensure a scalable and universal OT server implementation to allow Apache Wave to be used for much more than just a communication-tool that is its only service available at the time. The client implementation of the currently available tool will be extended across multiple platforms to show solutions to OT editor implementations on varying devices.

please note the project proposal for a rewrite was given here: https://docs.google.com/document/d/1YnhcupFtReZyq5Y5QheIbYFO2epEhXGucNZE04r_oA4/edit.

Server:

The Apache Wave server is to be designed as such to be a authenticated server with inbuilt data redundancy to perform OT operations on Wave data structures. Wave data structures are customised xml-like documents due to limitations in OT algorithiums, some of these challenges and decisions can be seen in this video: https://www.youtube.com/watch?v=6ZqpeFydq4A. These structures are not exclusive to the conversational structure which can be viewed here: http://wave-protocol.googlecode.com/hg/spec/conversation/convspec.html. The development of these data specifications outside the servers implementation allow for a more general use OT (operational transform) server back end and allows clients to handle the implementations.

This makes the server responsible for storage, authentication and consistency

Client:

 

Project Background

Note: The project background will cover most of the original implementation of Google Wave and some of the developments outside of Apache and how the project has evolved inside Apache.

Note: Basic knowledge of OT is assumed.

 

 

Project Objectives/Outcomes

Incubator Related:

The Apache Incubator is a place where young projects with basis can be further grown into top level projects at Apache, all new projects must go through the incubator before becoming top level. Most restrictions the incubator puts around graduation is about having a stable project with a community of developers and users. 

  • Build a community of developers and users, this is to ensure growth after the project has left the incubator and that the project doesn't lose traction.
  • Have a stable source code repository.
  • JIRA issues dealt with timely manner.
  • Well documented, If no one can learn how to use Wave then how will it get used.
  • License compliant. This refers to the legal issues with opensource licensing requirements. 

Server:


Client:

 

Project Scope

Project Organisation

Timeframes

Project Approach

Major Deliverables

Constraints

Risks

Recommendations

  • No labels