Skip to main content

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

  • Conference paper
  • 1143 Accesses

Part of the book series: Advances in Intelligent Systems and Computing ((AISC,volume 373))

Abstract

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.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   129.00
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   169.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  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. Berliner, B.: CVS II: Parallelizing software development. In: USENIX Winter 1990 Technical Conference, pp. 341–352. USENIX, Berkeley (1990)

    Google Scholar 

  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. 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. 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. Bigler, M., Raess, S., Zbinden, L.: ACE - a collaborative editor, http://sourceforge.net/projects/ace/

  7. Ferrate, A.: Google Wave: Up and Running. O’Reilly Media, Inc. (2010)

    Google Scholar 

  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. Baxter, A., Bekmann, J., Berlin, D., Gregorio, J., Lassen, S., Thorogood, S.: Google Wave Federation Protocol Over XMPP (2009), http://wave-protocol.googlecode.com/hg/spec/federation/wavespec.html

  10. Mozilla Labs: Togetherjs, https://togetherjs.com/

  11. Joseph, G.: ShareJS, http://sharejs.org/

  12. Chuanwu, T.: Google docs–style collaboration via the use of operational transforms, https://github.com/goodow

  13. Google Inc.: Google Drive SDK: Realtime API, https://developers.google.com/drive/realtime/

  14. North, A.: Google Wave Developer Blog: Wave open source next steps: Wave in a Box, http://googlewavedev.blogspot.com.es/2010/09/wave-open-source-next-steps-wave-in-box.html (2010)

  15. Google Inc.: Google Wave Protocol, http://www.waveprotocol.org/

  16. Cooper, R., Collins, C.: GWT in Practice. Manning Publications (2008)

    Google Scholar 

  17. Pivotal Labs: Jasmine, Behavior-Driven JavaScript, http://jasmine.github.io/

  18. Ojanguren-Menendez, P.: Real-time collaboration API for Wave, https://github.com/P2Pvalue/incubator-wave

  19. North, A.: Wave model deep dive (2010), https://cwiki.apache.org/confluence/display/WAVE/Wave+Summit+Talks

  20. Gregorio, J., North, A.: Google Wave Conversation Model (2009), http://wave-protocol.googlecode.com/hg/spec/conversation/convspec.html

  21. Lassen, S., Mah, A., Wang, D.: Google Wave Operational Transformation (2010), http://wave-protocol.googlecode.com/hg/whitepapers/operational-transform/operational-transform.html

  22. Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Pearson Education (1994)

    Google Scholar 

  23. The Jetty Project: Jetty, http://www.eclipse.org/jetty/

  24. Roth, G.: Architecture of a highly scalable nio-based server (2007), https://today.java.net/pub/a/today/2007/02/13/architecture-of-highly-scalable-nio-server.html

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Pablo Ojanguren-Menendez .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2015 Springer International Publishing Switzerland

About this paper

Cite this paper

Ojanguren-Menendez, P., Tenorio-Fornés, A., Hassan, S. (2015). Awakening Decentralised Real-Time Collaboration: Re-engineering Apache Wave into a General-Purpose Federated and Collaborative Platform. In: Omatu, S., et al. Distributed Computing and Artificial Intelligence, 12th International Conference. Advances in Intelligent Systems and Computing, vol 373. Springer, Cham. https://doi.org/10.1007/978-3-319-19638-1_31

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-19638-1_31

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-19637-4

  • Online ISBN: 978-3-319-19638-1

  • eBook Packages: EngineeringEngineering (R0)

Publish with us

Policies and ethics