Awakening Decentralised Real-Time Collaboration: Re-engineering Apache Wave into a General-Purpose Federated and Collaborative Platform

  • Pablo Ojanguren-MenendezEmail author
  • Antonio Tenorio-Fornés
  • Samer Hassan
Conference paper
Part of the Advances in Intelligent Systems and Computing book series (AISC, volume 373)


Real-time collaboration is being offered by plenty of libraries and APIs (Google Drive Real-time API, Microsoft Real-Time Communications API, TogetherJS, ShareJS), rapidly becoming a mainstream option for web-services developers. However, they are offered as centralised services running in a single server, regardless if they are free/open source or proprietary software. After re-engineering Apache Wave (former Google Wave), we can now provide the first decentralised and federated free/open source alternative. The new API allows to develop new real-time collaborative web applications in both JavaScript and Java environments.


Apache Wave API Collaborative Edition Federation Operational Transformation Real-time 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    West, J.A., West, M.L.: Using Wikis for Online Collaboration: The Power of the Read-Write Web. John Wiley & Sons (2008)Google Scholar
  2. 2.
    Berliner, B.: CVS II: Parallelizing software development. In: USENIX Winter 1990 Technical Conference, pp. 341–352. USENIX, Berkeley (1990)Google Scholar
  3. 3.
    Sun, C., Ellis, C.: Operational transformation in real-time group editors: Issues, algorithms, and achievements. In: Proceedings of the 1998 ACM Conference on Computer Supported Cooperative Work, pp. 59–68. ACM, New York (1998)Google Scholar
  4. 4.
    Yeung, C., Liccardi, I., Lu, K., Seneviratne, O., Berners-Lee, T.: Decentralization: The future of online social networking. In: W3C Workshop on the Future of Social Networking Position Papers, W3C (2009)Google Scholar
  5. 5.
    Ellis, C.A., Gibbs, S.J.: Concurrency control in groupware systems. In: Proceedings of the 1989 ACM SIGMOD International Conference on Management of Data, SIGMOD 1989, pp. 399–407. ACM, New York (1989)Google Scholar
  6. 6.
    Bigler, M., Raess, S., Zbinden, L.: ACE - a collaborative editor,
  7. 7.
    Ferrate, A.: Google Wave: Up and Running. O’Reilly Media, Inc. (2010)Google Scholar
  8. 8.
    Nichols, D.A., Curtis, P., Dixon, M., Lamping, J.: High-latency, low-bandwidth windowing in the jupiter collaboration system. In: Proceedings of 8th ACM Symposium on User Interface and Software Technology, pp. 111–120. ACM, New York (1995)Google Scholar
  9. 9.
    Baxter, A., Bekmann, J., Berlin, D., Gregorio, J., Lassen, S., Thorogood, S.: Google Wave Federation Protocol Over XMPP (2009),
  10. 10.
    Mozilla Labs: Togetherjs,
  11. 11.
    Joseph, G.: ShareJS,
  12. 12.
    Chuanwu, T.: Google docs–style collaboration via the use of operational transforms,
  13. 13.
    Google Inc.: Google Drive SDK: Realtime API,
  14. 14.
    North, A.: Google Wave Developer Blog: Wave open source next steps: Wave in a Box, (2010)
  15. 15.
    Google Inc.: Google Wave Protocol,
  16. 16.
    Cooper, R., Collins, C.: GWT in Practice. Manning Publications (2008)Google Scholar
  17. 17.
    Pivotal Labs: Jasmine, Behavior-Driven JavaScript,
  18. 18.
    Ojanguren-Menendez, P.: Real-time collaboration API for Wave,
  19. 19.
  20. 20.
    Gregorio, J., North, A.: Google Wave Conversation Model (2009),
  21. 21.
    Lassen, S., Mah, A., Wang, D.: Google Wave Operational Transformation (2010),
  22. 22.
    Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Pearson Education (1994)Google Scholar
  23. 23.
    The Jetty Project: Jetty,
  24. 24.
    Roth, G.: Architecture of a highly scalable nio-based server (2007),

Copyright information

© Springer International Publishing Switzerland 2015

Authors and Affiliations

  • Pablo Ojanguren-Menendez
    • 1
    Email author
  • Antonio Tenorio-Fornés
    • 1
  • Samer Hassan
    • 1
  1. 1.GRASIA: Grupo de Agentes Software, Ingeniería y Aplicaciones, Departamento de Ingeniería del Software e Inteligencia ArtificialUniversidad Complutense de MadridMadridSpain

Personalised recommendations