Decentralized Runnable Report Marketplace

Create reports from other reports without touching code.

Motivation

Creating a report that combines analyses from other reports requires a high level of technical proficiency, often involving recreating and understanding the technicalities of each analysis. The level of proficiency required to draft a complex report is a significant barrier to meaningful analytics because the domain expert and the analytics expert are rarely the same and frequently misunderstand each other. Simplifying the process of combining analyses from researchers increases the chance that the domain expert will be able to create their own decision-support models and reports. Ideally, the domain expert should be able to combine analyses from researchers without touching code.

Furthermore, the computations underlying these reports are usually either localized or centralized, meaning that the computational models and engines used to perform the analyses may be out-of-date or vulnerable to attack. Ideally, each analysis should use the latest model trained with the latest data and its computation should be robust to perturbations. For example, the control system of a moon base should remain operational even after any random distribution of damage from an asteroid strike. A decentralized and distributed computation system is particularly valuable for infrastructure on other planets or in space, where threats to integrity are less predictable and more frequent.

In this draft of a proposal, we outline a plan for a decentralized runnable report marketplace that has, as its initial focus, reports for infrastructure planning, emergency response and community development.

Vision

Analysts will be able to rapidly prototype and automate reports that combine computational models from expert researchers without touching code.

Benefits

  • Communities could improve their own health, safety and quality of life using analytics by running reports prototyped by other communities.
  • Organizations and businesses with scarce resources can provide better services for their customers using analytics by running reports prototyped by other organizations.
  • Researchers can increase their impact, status and funding by creating runnable reports that are useful to communities and organizations in different industries. Researchers would be publishing reports that are not only readable but also runnable. Publishing their runnable reports in the marketplace can help researchers secure a revenue stream that is diversified across multiple customers and less reliant on any single political or corporate entity, ultimately resulting in higher quality research.

Lessons

Our previous attempts at creating a report marketplace failed for a variety of reasons, primarily due to a lack of traction and community:

Lesson 1 - Focus on Report Content

There were not enough reports that were useful. We spent most of our time building the platform without spending much time persuading people to publish reports on the platform for others to use. We did have a handful for tools/reports for planning infrastructure, but the reports themselves went through long periods of neglect and were not well integrated with each other.

Lesson 2 - Invest in Creator Outreach

There were not enough creators making reports. There are two types of creators: those who like to code (engineers/inventors) and those who prefer not to code (analysts/managers). We did not provide enough documentation on how to make a report for either type of creator or provide motivation as to why they would want to do so.

Lesson 3 - Invest in Customer Outreach

There were not enough customers buying subscriptions to reports or report bundles or even running reports in the first place because

A) The technology for report subscription was never implemented – there was no complete implementation of a mechanism for report subscriptions on either the Legacy or Latest Platform. The Legacy Platform let creators define a pay-per-use price for each tool/report, with the consequence of discouraging users from running tools, while the Latest Platform omitted payment altogether. Regarding the decision to move away from pay-per-use and toward subscription, as an analogy, think about different business models for a gym and which would result in greater use of the gym:

  • In a pay-per-use model, it feels like you lose money each time you use the gym.
  • In a subscription model, it feels like you lose money each time you do NOT use the gym.

B) We did not do sufficient outreach to communicate and persuade people that were reports that could be useful to them on the platform, nor did we perform research into the kind of reports people were interested in seeing.

Lesson 4 - Reduce Barrier of Entry

Creating reports required a high level of technical proficiency that went above the ability to code. It also required people to think analytically and understand the domain of the problem they were trying to analyze. Requiring people to understand code and data excluded a large fraction of the population, which was problematic because it often excluded people with the most life and industry experience.

Lesson 5 - Improve Error Communication

The platform was not good at communicating why an error occurred, leading many to think erroneously that the platform was broken, when in fact it was an error in the report configuration or data.

Blueprints

In drafting blueprints for a different approach to a report marketplace, we recognize that the marketplace will have to be a community effort. Technology is part of the puzzle but not the complete solution.

People

  • Report Creators are researchers, scientists and engineers who code and create reports that form the building blocks for other reports.
  • Report Analysts are analysts and managers who combine and run reports and make decisions without touching code.
  • Report Testers check that reports run.
  • Report Reviewers are domain experts who check that reports make sense.
  • Platform Engineers build the core technology behind the components of the report marketplace.

Technology

Report Automation Framework

The report automation framework will be an open source package for automating reports from other reports based on information contained in a configuration file. The framework should be Turing Complete, meaning that it should be possible to represent any code using a composition of report configuration files.

TODO: Draft blueprint

Decentralized Computational Marketplace

The decentralized computational marketplace will be an open source package for serving and running report APIs in a decentralized architecture. Each instance will be a combination of server and workers that identify and authenticate each other using public key cryptography and peer-to-peer torrent-like tracking. Instances might track payments using a currency like nano, though it is not clear how to keep track of report subscriptions, report bundle subscriptions and report runs in a decentralized marketplace. Instances should also be equipped with a run schedule that update reports based on each customer’s configuration and alerts that trigger when certain conditions are met.

TODO: Draft blueprint

No Code Interface

The No Code Interface will be a front-end interface for automating reports from other reports without touching code.

TODO: Draft blueprint

Milestones

TODO: Set delivery timeline

Requests

We do not need to wait for large entities to plan our infrastructure. We can spearhead the planning ourselves as local communities. In the old days, a settlement comes together to build a house or barn. Here is how you can help:

If You Do Not Want to Code

  • Identify existing reports or brainstorm new reports that would be useful to communities and organizations for infrastructure planning, emergency response or community development.
  • Persuade researchers, scientists and engineers who created those reports on how their work could be useful to your community or organization. Motivate researchers to collaborate with analysts to transform their static reports into runnable reports.
  • Test reports have been created by running them with different data.
  • Apply your domain expertise to review and give feedback on an existing report.
  • Write articles or record videos about runnable reports that have been published.
  • Translate documentation and tutorials into different languages.

If You Want to Code

  • Transform reports into runnable reports.
  • Provide feedback on technical architecture.
  • Write tests for components.