Top Banner
This project has received funding from the European Union’s Seventh Framework Programme for research, technological development and demonstration under grant agreement no 610961 SwellRT: Awakening Decentralized Collaboration Samer Hassan, Pablo Ojanguren @samerP2P
31

SwellRT: Awakening Decentralized Collaboration

Jan 22, 2017

Download

Technology

Samer Hassan
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: SwellRT: Awakening Decentralized Collaboration

This project has received funding from the European Union’s Seventh Framework Programme for research, technological development and demonstration under grant agreement no 610961

SwellRT: Awakening Decentralized Collaboration

Samer Hassan, Pablo Ojanguren

@samerP2P

Page 2: SwellRT: Awakening Decentralized Collaboration

Centralization

● For-profit

● Surveillance

● Monopoly

● Centralised Control

● Top-down

● US-centric

● Proprietary Software

● Single Ownership

Page 3: SwellRT: Awakening Decentralized Collaboration

Decentralization

● Privacy

● Anonymity

● Decentralised Control

● Bottom-up

● Diversity

Page 4: SwellRT: Awakening Decentralized Collaboration

Emerging Alternatives

Page 5: SwellRT: Awakening Decentralized Collaboration

How do we collaborate?

Page 6: SwellRT: Awakening Decentralized Collaboration

Collaboration App Types

ProjectManagement Communication

Text / File based Collaboration Blend RT

Collaboration

Page 7: SwellRT: Awakening Decentralized Collaboration

Email

Federated

Open Standard

Free/Open Source

Universal?

Page 8: SwellRT: Awakening Decentralized Collaboration

The collaboration we want...

Real-Time Collaboration

Federated Infrastructure

Free/Open Source

Flexible, Extensible… API

Page 9: SwellRT: Awakening Decentralized Collaboration

History

Page 10: SwellRT: Awakening Decentralized Collaboration

SwellRT History

Page 11: SwellRT: Awakening Decentralized Collaboration

SwellRT History

✓ Real-time collaboration

✓ Federated

✘ Free/Libre Open Source

✘ API

✓ Real-time collaboration

✓ Federated

✓ Free/Libre Open Source

✘ API

✓ Real-time collaboration

✘ Federated

✘ Free/Libre Open Source

✓ API

✓ Real-time collaboration

✓ Federated

✓ Free/Libre Open Source

✓ API

Page 12: SwellRT: Awakening Decentralized Collaboration

Collaboration Technologies

CentralizedCloud

Decentralized

Monolithic app / service

Low Level API / LibraryTogetherJS

WebRTC, YJS

More value for developers

ShareJSDerbyJS

SwellRT

Page 13: SwellRT: Awakening Decentralized Collaboration

What is SwellRT?

Page 14: SwellRT: Awakening Decentralized Collaboration

SwellRT

Development Framework for Decentralized Real-Time Collaborative Apps

Page 15: SwellRT: Awakening Decentralized Collaboration

Federated Database for Collaborative Objects

Page 16: SwellRT: Awakening Decentralized Collaboration

Objects Have a global ID on Internet

myserver.net/s+zpk87MzATiA

Page 17: SwellRT: Awakening Decentralized Collaboration

Objects =

JSON Documentswith steroids

“Hello World” 325.00

0€

Page 18: SwellRT: Awakening Decentralized Collaboration

{ "wave_id":"local.net/s+zpk87MzATiA",

"participants":[ "[email protected]", "@local.net", "[email protected]", "[email protected]", "[email protected]", "[email protected]" ],

"root":{ "id":"local.net/s+zpk87MzATiA",

"Pad":{

"Annotations":"",

"xml":"<body acl=\"\" ap=\"default\" p=\"root.pad\"><line/>Hu hu hu<line/><line/>Di dii<line/><line/>Trolorolo<line/><line/>Dipistrofia</body>",

"author":"[email protected]",

"contributors":[ "[email protected]", "[email protected]", "[email protected]", "[email protected]", "[email protected]" ],

"lastmodtime":1455131731414 },

"promoter":"[email protected]", "title":"SwellRT X", "contributors":[ "[email protected]", "[email protected]", "[email protected]", "[email protected]" ], "communities":[ "local.net/s+5Mnx1Mu4_mA" ],

Page 19: SwellRT: Awakening Decentralized Collaboration

Participants

Humans &

Bots

Collaborative Objects

Access ControlRules

Object

Page 20: SwellRT: Awakening Decentralized Collaboration

Participantshave a global ID

on Internet

[email protected]

Page 21: SwellRT: Awakening Decentralized Collaboration

Database / Framework

SwellRT API

App (Frontend)

SwellRT(Backend)

Page 22: SwellRT: Awakening Decentralized Collaboration

Database

Framework

● Persistence● Search engine● Real-time access control

(concurrency control)

● Email integration● Notifications ● Identity provider● Multi Platform Reactive API ● Pre-built Components● Backend Management Tools

Page 23: SwellRT: Awakening Decentralized Collaboration

Federated

Server Server

Server Server

Page 24: SwellRT: Awakening Decentralized Collaboration

Changes

Real-time changepropagation

Collaborative Object

Page 25: SwellRT: Awakening Decentralized Collaboration

More features...

● JavaScript, Java, Android clients

● Rich Text Editor with Widgets

● Provided as Docker Image

● Mobile Notifications

Page 26: SwellRT: Awakening Decentralized Collaboration

Benefits for Developers

Hiding complexity, avoiding extra code for

- Data storage

- Data sharing, communications, sync...

- User identity management

- Federation

- New UX patterns like Reactive UI

Page 27: SwellRT: Awakening Decentralized Collaboration

Technologies Quadrant

CentralizedCloud

Decentralized

Monolithic app / service

Low Level API / LibraryTogetherJS

WebRTC, YJS

End-user products / services

Hard adoption

Platform

More value for developers

Page 28: SwellRT: Awakening Decentralized Collaboration

Useful to build...

...a new Slack

...a new GDrive

...a new Trello

Page 29: SwellRT: Awakening Decentralized Collaboration

An example?

Web App: http://teem.works

Android App: http://tiny.cc/teemapp

Page 30: SwellRT: Awakening Decentralized Collaboration

Web http://swellrt.org

https://github.com/P2Pvalue/swellrt

SwellRT

Page 31: SwellRT: Awakening Decentralized Collaboration

Thank you

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: P2Pvalue, GRASIA UCM, Wikipedia, Microsoft and unknown others

@samerP2P