Today, in a world of cloud-hosted software, every application is a kind of trap. Even if it lets you export your data in a form other systems can read, many of the best apps have social features. You can't switch because your friends or colleagues are still using the old site — the new site will be a ghost town. This stifles competion, blocks innovation, and leaves users less happy with the systems they are using. While some developers might want to lock-in users, we trust that many value user happiness and would open their systems if it was technologically practical. Our goal is to make it practical.

See more about our team at MIT and the QCRI. We're hiring and looking for students. Read on for more about our work and how to get involved.


The Challenge

Around the world, as people increasingly use computer applications not just in their jobs but to automate and connect more and more elements of their lives, they are discovering that along with the benefits come considerable risk and frustration. As people move their lives online, the limitations of their software become limitations in their lives, yet the prevailing software architecture renders them unable to find or create other options. These limitations have broad impacts across the world, as technology solutions increasingly move toward venture capital and solutions which are easy to monetize, instead of directly providing what people want or need.

Our goal with Crosscloud is to create a world where people have better options. We want individuals, for example, to be able to easily integrate data relevant to their health, whether it comes from their exercise tracker, the restaurants they visit, their bathroom scale, or a medical testing lab. We want them to be able to share this data with their doctor and other caregivers, and also to be able to run a variety of commercial and noncommercial analytic software, mining their own data, all without significant risk to their privacy.

The Crosscloud approach uses personal data management, but it has impacts far beyond personal subjects like health. For instance, we aim for small businesses to be able to connect with their customers based on mutually beneficial relationships, not subject to shifting winds in social media companies and search engines, but simply making use of data each is willing to share with each other. We want emergency workers to be able to gather all available local resources and necessary data on survivors, even when the infrastructure is damaged, without opening the door to abuse in non-crisis times.

Perhaps most importantly, we want the software developer who has an idea which will help the world to be able to deploy it quickly and widely, not forcing people to break social ties or move entire communities at once just to try out a new system. Fundamentally, we want the "next Facebook" to be not another $100 billion company but a sea of different apps, from different creators, each well-suited to its users, serving its own market niche, all cooperating to provide an integrated user experience that empowers people around the world.


Our goal is to make it so building open/decentralized software is not prohibitively more difficult than building closed/centralized systems. For example, in today’s world if someone wanted to create a way for people to play chess online (via mobile apps, websites, etc) nearly all developers would do it in a closed/centralized way. If crosscloud technology were prevalent, a developer might quite reasonably build a decentralized system, knowing it would be comparatively easy to build and maintain.

The features of an open/decentralized system:

  1. A user can switch to competing software painlessly (without losing any work or relationships)
  2. There are no inherent bottlenecks, single points of control, or single points of failure.
  3. Systems can change and improve over time, not subject to anyone’s control, agreement, or coordination

There are social, legal, and business aspects of this goal, but as our expertise is computer science, we are primarily concerned with technical considerations. Of course, we hope over time people with all the necessary expertise will come forward and help address all aspects of the challenge.

Technical Approach

While there remains much research to be done, we are relatively confident in this approach:

  1. Crosscloud apps are stateless software, using separate data repositories (“pods”, from “personal online data”), which might be remote across a network.
  2. Pods stand in for users, acting as their data storage agents. If a group of people are using some app, the app stores its data on the pods of those people.
  3. Data is stored by apps on pods in a form that supports interoperability, so that users can use different apps, developed independently, with the same data.

A pod’s “owner” is the person (or organization) who the pod operates on behalf of and who generally owns the data on the pod. A pod “provider” is someone who keeps the pod functioning properly and may own the hardware the pod runs on (but there may be a IaaS provider who owns the hardware). Pod owner and provider are similar to tenant and landlord.

Activities and Results So Far

@@@ still in progress. Many items not yet listed.

Overview of potential benefits and some possible application areas (mostly from May 2014)

August 2014. Slides and video from presentation at Semantic Technologies and Business Conference. The talk is aimed at an audience familiar with the Semantic Web technology stack and interested in the emerging Linked Data Platform (LDP) standards.

June 2014. Slides from presentation to W3C staff. This talk is aimed at an audience expert in Web technologies, broadly speaking, and the standards process.

March 2014. Poster (for QCRI-CSAIL annual meeting), and slides from a talk that month. Talk assumes some Semantic Web familiarity. See cimba demo video.

November 2013. Slides for presentation to MIT's Linked Data Ventures class, trying to give some flavor of the research questions we expected to be approaching.

June 2013 Knight Foundation Blog Post. The video on that blog post is from earlier and talks about the general Semantic Web idea, not Crosscloud.

March 2012 slides from a talk to Semantic Web experts about some of the core Crosscloud ideas.

Research Areas

To meet the goals, we see work necessary in a wide range of areas, not all within Computer Science

Area 1: Application Data Management

Data Distribution - How do apps read/write to appropriate pods?

  • Currently: https, ldp, hierarchical containers

Auth (Authentication/Authorization) - How to control which users can do what?

  • Currently: webid-tls, wac

Data Representation - What models / formats / vocabularies is used for interop?

  • Currently: RDF, turtle, foaf, pim, webid

Application Integration - How do apps share data with each other?

  • Currently: they all access a shared filesystem-like structure and use same RDF vocabs

Query Scaling - How do applications obtain necessary data from all relevant users?

  • Currently: link-following SPARQL

Area 2: Trustworthy Computing

Security - Protect users from harm due to their systems being compromised

  • use web app best practices
  • use encryption to reduce attack surface

Privacy - Give users appropriate control over information about themselves

  • allow people to select pod providers largely on privacy policies

Jailing - How to limit the exposure to harm from malicious or broken apps

  • technologies include caja, cowl, iframes, web workers, ses

Provenance - How to sort through data with various levels of quality and accuracy?

  • needs support throughout infrastructure, plus UI conventions

Availability - How to design for sufficient reliability enough for critical use?

  • allow pods to be configured in parallel

Area 3: Sustainable Systems

App Developers - How will app devs be attracted, engaged, empowered, and retained?

  • Clear Specs
  • Client Libraries
  • Reference Applications

Conversion Ecosystem - How to bridge between apps that don’t want the same vocab?

  • Contributed conversion rules/shims, arranged on demand

Community Integration - How to allow full participation by all stakeholders?

  • Participating in open processes on github and at W3C

Economics - How will each participant have suitable economic incentives, over time?

  • shift business model away from mandatory targeted advertising

Legal / Policy - How can legal structures help protect or threaten these systems?

End-User Experience (UX) - How will people be consciously and unconsciously be affected?

Adoption - What will keep people flowing through each stage of a user-adoption funnel?

Crosscloud Team

thumbnail of Ashraf


Ashraf Aboulnaga (QCRI Research Director, Distributed Systems)

thumbnail of Tim


Tim Berners-Lee (MIT Professor)

thumbnail of Sarven


Sarven Capadisli (MIT Visting PhD Student, from University of Bonn)

thumbnail of Abdu


Abdurrahman Ghanem (QCRI Software Engineer)

thumbnail of Nicola


Nicola Greco (MIT PhD Student)

thumbnail of Amy


Amy Guy (MIT Visiting PhD Student, from University of Edinburgh)

thumbnail of Sandro


Sandro Hawke (MIT, Technical Staff)

thumbnail of Lalana


Lalana Kagal (MIT Principal Research Scientist)

thumbnail of Essam


Essam Mansour (QCRI Senior Software Engineer)

thumbnail of Andrei


Andrei Sambra (MIT Postdoctoral Associate)

thumbnail of Dmitri


Dmitri Zagidulin (MIT Technical Staff)

thumbnail of Maged


Maged Zereba (QCRI Senior Software Engineer)


We are grateful for financial support in partnership with these foward-thinking organizations. Click for details.

Get Involved


We've active on github, especially near the solid/solid repo. Raising and helping close issues is a great way to give us feedback and let us know you care.

Some of our older projects are at


Mostly these days we're available for online discussion using gitter, on the channels associated with the active repos. For general discussion, use


We're active in various W3C community groups and working groups, especially the Social Web Working Group.


If you're an MIT student, or a prospective MIT student, please let us know about your interest in this project. UROP, UAP, MEng, and PhD RA opportunities are often available. Contact:


We're looking for talented web developers and researchers to join our team at either QCRI or MIT.

Tornado Tower, Qatar

Located in Doha, Qatar, QCRI is an emerging leader in computing research, with over 100 experts from more than 25 countries. The distributed system group has openings for software developers and computer scientists eager to take on the challenges of this project.

MIT Stata Center

Located near Boston, Massachusetts, MIT's Computer Science and Artificial Intelligence Laboratory (CSAIL) is a global pioneer in computing.

In addition to openings for technical staff (full-time developers), we are looking for postdoctoral associates, PhD students, and undergraduate researchers (UROPs). For more information, please contact us at

For specific job requirements see our jobs page. Contributing to solid on github, with PRs or helpful issues, is a great way to stand out.

Copyright © 2016 QCRI & MIT