This document summarizes a presentation about SwellRT, an open-source platform for building real-time collaborative applications. SwellRT allows for rapid development of apps like real-time text editing, workflows, chat, and push notifications. It uses a backend-as-a-service architecture with a REST API and supports features like data autonomy, interoperability, and privacy for collaborative objects. The platform aims to avoid vendor lock-in and has origins in Apache Wave. JetPad, a collaborative document editor built on SwellRT, is highlighted as a prototype for citizen participation apps.
1. Fast App
development
with SwellRT
February 7
Brussels
Samer Hassan
@samerP2P
Universidad Complutense de Madrid
Berkman Klein Center at Harvard University
Pablo Ojanguren
@pablojan
Founder & Lead developer
Software Engineer. Project manager, PMP
13. We may want to build...
New ad hoc applications, such as a collaborative blackboard with certain features
14. We may want to build...
An application for managing the (private) medical history and files of a patient, shared
across different hospitals and clinics, that can collaborate on its contents
16. User Interface
UI controller
REST API client
Network protocols
Network protocols
REST API server
Business Logic
Data Access Layer
Database
Integration
SwellRT
applications
architecture
17. Backend
as a service
User Interface
UI controller
Storage
SwellRT API client
SwellRT backend server
Concurrency/RT Auth
User profiles
Search Engine Event Hub
App
Frontend
18. Backend
as a service
User Interface
UI controller
Storage
SwellRT API client
SwellRT backend server
Concurrency/RT Auth
User profiles
Search Engine Event Hub
App
Frontend
19. Storage
SwellRT backend server
Concurrency/RT Auth
User profiles
Search Engine Event Hub
New Frontend
SwellRT API client SwellRT API clientSwellRT API client
Legacy Frontend Legacy Frontend
Legacy
Backend
Legacy
Backend
Events Events
20. ● Java Backend
○ For any provider to adapt
● API for Java, JavaScript, Android, iOS*
● Integration with REST & events
● Scalable
● Microservice
Technical Features
29. Internet: trust
In 10 years, I may not mind if my old chat conversations are suddenly public.
However, I would certainly mind if my patient data is suddenly public.
Trust in
cryptography
Trust in
servervs
31. Objects shared across
servers
● Object embeds its
Access Control List
● Real-time access
● Each shared object has an owner
● Owner’s server retains master
copy, coordinates sync.
Federation: servers
32. Federation: servers
Objects shared across
servers
● Object embeds its
Access Control List
● Real-time access
● Each shared object has an owner
● Owner’s server retains master
copy, coordinates sync.
34. ✓ Real-time collaboration
✓ Federated
✘ Free/Open Source
✘ API
✓ Real-time collaboration
✓ Federated
✓ Free/Open Source
✘ API
✓ Real-time collaboration
✘ Federated
✘ Free/Open Source
✓ API
✓ Real-time collaboration
✓ Federated
✓ Free/Open Source
✓ API
History
35. SwellRT codebase accepted
under the umbrella of the
Apache Foundation
✓ Real-time collaboration
✓ Federated
✓ Free/Open Source
✓ API
Free / Open Source
36. ● Open Source guarantees
○ Transparency
○ Security
○ Quality Control
● No vendor lock-in
○ Multiple providers could develop using it (Java)
Free / Open Source
38. ● 2008: Etherpad (Google buys it 1y later)
● 2010: Google Wave
● 2012: Google Wave dies; Google Docs re-launch (rework of Google Wave)
● 2012: Apache Wave
● 2012: Etherpad dies; Etherpad Lite
● 2013: Hackpad (Dropbox buys it 1y later)
● 2014: UCM takes Apache Wave and reworks it into SwellRT
● 2015: Dropbox launches Dropbox Paper
● 2016: Titanpad, main Pad provider, dies
● 2016: Apache Wave decides to use SwellRT codebase
● 2016: UCM launches Demo of JetPad
History of collaborative editors
41. ● Used as base for prototypes of citizen participation
○ Collaborative edition of laws with JetPad
● Interest from
○ Municipalities (Madrid, Barcelona)
○ Regions (France)
Interest on SwellRT & JetPad
42. ● Audrey Tang
○ Digital Agenda Minister, Taiwan
Government
○ Free/Open Source developer
○ Endorser in Mozilla Open Source Support
grant for SwellRT/Jetpad
Interest on SwellRT & JetPad
43. ● Built by UCM within FP7 CAPS P2Pvalue
● Searching funding / investors to establish Spin-off
○ Open source business models
● Launch of JetPad
○ this February
● 2 full-time developers
○ seeking larger team
● Institutional support
○ Samer Hassan & GRASIA research group (UCM)
Behind it
45. Questions?
Samer Hassan
Berkman Klein Center at Harvard University
Universidad Complutense de Madrid
http://samer.hassan.name
@samerP2P
This presentation is a composition of text and images. The text is released as Creative Commons Attribution 4.0
International. The images are mostly copyrighted and used under Fair Use. The image logos belong to their
corresponding brands/ projects/ institutions. Sources of copyrighted images: Baran (1964), P2Pvalue, GRASIA
UCM, Wikipedia, Microsoft, Google, Trello, Slack, Medialab-Prado and unknown others