SolidOS / SolidOS/solid-panes

Allow panes to be added dynamically

Open
#103 7 comments 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
JavaScript
Stars
106
Forks
52
Avg merge
13h 35m
Merged PRs (30d)
10

Description

By allowing panes to be added dynamically (instead of bundled with the data browser, which it is today) we should fix a couple of problems with the current data browser. It would introduce a couple of other features, such as auto-updates that are not dependent on pod providers updating the data browser.

This feature may allow panes to be added from external sources, which adds certain security concerns. To counter some of these problems we want to require panes to expose themselves with a RDF data model that requires the developer or service provider to sign it. This should make it easier for organizations that wants to verify the security of these panes and provide a service that helps the user to be certain of the security of the pane.

We believe users will enjoy the possibility of adding panes dynamically through some sort of installing mechanism, for example by browsing an online store. This possibility adds a lot of other concerns, such as privacy (should these external panes ask for permission to resources as other applications would, or would they be inherently trusted, as the other default panes are), security (how can users be sure that a provider of a pane is not malicious), and more.

This feature could also be extended with a commercial dimension, where users buy services that are delivered partially or fully by panes. This extension comes with its own slew of challenges, such as how to prevent piracy, how to handle the transaction of payment itself, and more. Some of these concerns lie outside the scope of the data browser, but work should start on how to tackle those concerns that data browser can help solve.

Action items

  • Decide how "open" this should be - should the user be able to add panes from all over the web, or be limited to a list that the Pod provider controls?
    • As a first step it might be easiest to limit it to the latter first, and then expand the scope once we have a better understanding of how this module system will work
  • Introduce a vocabulary for Solid panes so that they can be described with RDF
  • Extend the current panes registry to allow adding panes dynamically
  • Port existing panes to use this mechanism, so that they can be auto-updated by default
  • Start work on how mechanisms can be implemented to prevent piracy

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the current panes registry and how panes are bundled with the data browser. The action items require decisions about provider-controlled sources, RDF descriptions, dynamic registration, auto-updates, security, and piracy prevention. Done would require an agreed design and implementation across these concerns, but no files or tests are identified.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
frontend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.