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.
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:
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.
While there remains much research to be done, we are relatively confident in this approach:
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.
@@@ still in progress. Many items not yet listed.
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.
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.
To meet the goals, we see work necessary in a wide range of areas, not all within Computer Science
Data Distribution - How do apps read/write to appropriate pods?
Auth (Authentication/Authorization) - How to control which users can do what?
Data Representation - What models / formats / vocabularies is used for interop?
Application Integration - How do apps share data with each other?
Query Scaling - How do applications obtain necessary data from all relevant users?
Security - Protect users from harm due to their systems being compromised
Privacy - Give users appropriate control over information about themselves
Jailing - How to limit the exposure to harm from malicious or broken apps
Provenance - How to sort through data with various levels of quality and accuracy?
Availability - How to design for sufficient reliability enough for critical use?
App Developers - How will app devs be attracted, engaged, empowered, and retained?
Conversion Ecosystem - How to bridge between apps that don’t want the same vocab?
Community Integration - How to allow full participation by all stakeholders?
Economics - How will each participant have suitable economic incentives, over time?
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?
Some of our older projects are at https://github.com/linkeddata.
Mostly these days we're available for online discussion using gitter, on the channels associated with the active repos. For general discussion, use https://gitter.im/solid/chat.
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: firstname.lastname@example.org.
We're looking for talented web developers and researchers to join our team at either QCRI or MIT.
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.
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 email@example.com.