A “Crosscloud” Social Web Architecture, with CIMBA …Research Agenda and the Linked Data...

1
Research Agenda and the Linked Data Platform (LDP) This vision requires technology which not only works in a lab, but will actually be adopted in industry, so we are working closely with relevant standards bodies, especially the W3C Linked Data Platform (LDP) Working Group. As this group completes its basic initial version and begins to plan for future versions, we are using CIMBA to validate the group’s decisions and help show what features are needed next. The standardization context gives us rapid technology transfer and strongly favors active participation, simple designs, and “running code”. In order to make CIMBA and other crosscloud apps competitive with centralized software, standards are needed which provide: Fast and scalable distribution of data and queries, along the lattice from data producers to data consumers Trust management for data sources, including applications and software modules Vocabulary Conversion, so software written for one vocabulary can interoperate with software written for equivalent but different vocabularies Multilingual data management, so the non-English-speaking world can fully participate Flexible Read Access Control, so people can grant the access needed for collaboration without extra loss of confidentiality Flexible Write/Notify Access Control, so people can provide new information/updates to each other, without undue exposure to unreliable or malicious participants A personal Identity system such as WebID, where identifiers for people are part of Linked Data Viable Business Models, allowing the infrastructure to grow, with all participants being suitably motivated 5. A Social Ecosystem can flourish, connecting everyone A “Crosscloud” Social Web Architecture, with CIMBA demo Andrei Sambra (MIT), Joe Presbrey (MIT), Ahmed El-Roby (QCRI), Essam Mansour (QCRI), Sandro Hawke (MIT), Ashraf Aboulnaga (QCRI), Tim Berners-Lee (MIT) 1. Today, apps hold user data Alice loads a Web App, and it presents a view of its data The WebApp reads application data The WebApp modifies application data Alice performs some actions resulting in data modification Alice Alice’s Web Browser Application Web Server Application Database 2. Let’s move data under user control Alice loads a Web App The WebApp reads application data The WebApp modifies application data Alice Alice’s Web Browser Web Application Provider Alice’s Data Manager, with its database 3. Then users can try other software Alice loads the different Web App, yet it see the same data The WebApp reads application data The WebApp modifies application data Alice Alice’s Web Browser A different Web Application Alice’s Data Manager, with its database 4. Social connections can move too Alice Web Application Provider Alice’s Data Manager, with its database Bob Bob’s Data Manager with its database Bob can see the parts of Alice’s data which are shared with him. With the data under user control: Users can pick a storage manager they feel good about Users can switch to a different storage manager which might offer better service (eg better privacy guarantees) Developers can produce large scale apps without needing to support any backend operations Today, more and more software is built around an application-specific back-end database. This makes switching applications problematic. Also, today’s business models tend not to reward respecting user’s privacy and autonomy. For software developers, social software today means maintaining a scalable back-end service, relying on other businesses (like Facebook) and building up a critical mass of users before your social features have much use. With the data also kept in a standard model (RDF Triples): Users can switch applications without losing any data Integrated Apps become possible, working with data from multiple domains Developers can use and interoperate with data from other apps Data management tools (revision control, access control, provenance management) can work across all apps. By using WebIDs (URLs for people, which they control): Social connections (eg following, friending, photo tagging, granting access) are just more data, owned by the users involved People can switch apps without affecting who they can work with online Developers can produce powerful social software without first accumulating a critical mass of users Health Games Commerce Entertainment Science Project Mgmt Scheduling Disaster Response Education Advertising News With many of today’s constraints removed, we expect to see a blossoming of new social software, such as: Media sharing that can keep up with the explosive growth of camera use Health data collaboration among patients, caretakers, scientists Ad hoc, situationally appropriate, disaster relief systems E-Commerce that keeps up with today’s mobile society https://cimba.co https://kima.im (a fork we created for this demonstration) Cimba WebApp Kima WebApp (Cimba Compatible) Alice’s Data Manager http://alice.rww.io Bob’s Data Manager http://bob.data.fm Creating Posts, Configuring application Creating Posts, Configuring application Fetching New Postings Fetching User Profiles Some planned features: (patches welcome) * Notification of new postings * Notification of new subscribers, mentions * Connection to legacy microblogging systems * Instant Messaging features (presence, typing-in-progress) * Inline viewing of images, video * Inline viewing of linked web pages * Search through your subscription content * Search through all public postings (requires external search engine/registry) * Search for users (requires external search engine/registry) * Scale to large number of subscriptions * Scale to large number of subscribers The power of your own blog combined with the ease of Twitter. With CIMBA (Client-Integrated Micro Blogging Application) we have begun to demonstrate and validate our proposed Social Web Architecture. The code is open source, and the architecture actively encourages forking and enhancement while maintaining interoperability. Crosscloud server-server protocols

Transcript of A “Crosscloud” Social Web Architecture, with CIMBA …Research Agenda and the Linked Data...

Research Agenda and the Linked Data Platform (LDP)

This vision requires technology which not only works in a lab, but will actually be adopted in industry, so we are working closely with relevant standards bodies, especially the W3C Linked Data Platform (LDP) Working Group. As this group completes its basic initial version and begins to plan for future versions, we are using CIMBA to validate the group’s decisions and help show what features are needed next. The standardization context gives us rapid technology transfer and strongly favors active participation, simple designs, and “running code”.

In order to make CIMBA and other crosscloud apps competitive with centralized software, standards are needed which provide:

● Fast and scalable distribution of data and queries, along the lattice from data producers to data consumers

● Trust management for data sources, including applications and software modules● Vocabulary Conversion, so software written for one vocabulary can interoperate with software

written for equivalent but different vocabularies● Multilingual data management, so the non-English-speaking world can fully participate● Flexible Read Access Control, so people can grant the access needed for collaboration without

extra loss of confidentiality● Flexible Write/Notify Access Control, so people can provide new information/updates to each

other, without undue exposure to unreliable or malicious participants● A personal Identity system such as WebID, where identifiers for people are part of Linked Data● Viable Business Models, allowing the infrastructure to grow, with all participants being suitably

motivated

5. A Social Ecosystem can flourish, connecting everyone

A “Crosscloud” Social Web Architecture, with CIMBA demoAndrei Sambra (MIT), Joe Presbrey (MIT), Ahmed El-Roby (QCRI), Essam Mansour (QCRI),

Sandro Hawke (MIT), Ashraf Aboulnaga (QCRI), Tim Berners-Lee (MIT)

1. Today, apps hold user data

Alice loads a Web App, and it presents a view of its data

The WebApp reads application dataThe WebApp modifies application

data

Alice performs some actions resulting in data modification

Alice Alice’s Web Browser

Application WebServer

Application Database

2. Let’s move data under user control

Alice loads a Web App

The WebApp reads application data

The WebApp modifies application data

Alice Alice’s Web Browser

Web Application Provider

Alice’s Data Manager, with its database

3. Then users can try other software

Alice loads the different Web App, yet it see the same data

The WebApp reads application data

The WebApp modifies application data

Alice Alice’s Web Browser

A different Web Application

Alice’s Data Manager, with its database

4. Social connections can move too

Alice

Web Application Provider

Alice’s Data Manager, with its database

Bob

Bob’s Data Manager with itsdatabase

Bob can see the parts of Alice’s data which are shared with him.

With the data under user control:

● Users can pick a storage manager they feel good about

● Users can switch to a different storage manager which might offer better service (eg better privacy guarantees)

● Developers can produce large scale apps without needing to support any backend operations

Today, more and more software is built around an application-specific back-end database. This makes switching applications problematic. Also, today’s business models tend not to reward respecting user’s privacy and autonomy.

For software developers, social software today means maintaining a scalable back-end service, relying on other businesses (like Facebook) and building up a critical mass of users before your social features have much use.

With the data also kept in a standard model (RDF Triples):

● Users can switch applications without losing any data

● Integrated Apps become possible, working with data from multiple domains

● Developers can use and interoperate with data from other apps

● Data management tools (revision control, access control, provenance management) can work across all apps.

By using WebIDs (URLs for people, which they control):

● Social connections (eg following, friending, photo tagging, granting access) are just more data, owned by the users involved

● People can switch apps without affecting who they can work with online

● Developers can produce powerful social software without first accumulating a critical mass of users

Health Games

Commerce

Entertainment

ScienceProjectMgmt Scheduling

Disaster Response

Education

AdvertisingNews

With many of today’s constraints removed, we expect to see a blossoming of new social software, such as:

● Media sharing that can keep up with the explosive growth of camera use

● Health data collaboration among patients, caretakers, scientists

● Ad hoc, situationally appropriate, disaster relief systems● E-Commerce that keeps up with today’s mobile society

https://cimba.co https://kima.im(a fork we createdfor this demonstration)

Cimba WebAppKima WebApp (Cimba Compatible)

Alice’s Data Managerhttp://alice.rww.io

Bob’s Data Managerhttp://bob.data.fm

Creating Posts,Configuringapplication Creating

Posts,Configuringapplication

Fetching New PostingsFetching User Profiles

Some planned features: (patches welcome)

* Notification of new postings* Notification of new subscribers, mentions* Connection to legacy microblogging systems* Instant Messaging features (presence, typing-in-progress)* Inline viewing of images, video* Inline viewing of linked web pages* Search through your subscription content* Search through all public postings (requires external search engine/registry)* Search for users (requires external search engine/registry)* Scale to large number of subscriptions* Scale to large number of subscribers

The power of your own blog combined with the ease of Twitter. With CIMBA (Client-Integrated Micro Blogging Application) we have begun to demonstrate and validate our proposed Social Web Architecture.

The code is open source, and the architecture actively encourages forking and enhancement while maintaining interoperability.

Crosscloud server-server protocols