A super piece of work. Really valuable to bring these ideas out like this, and add in some of the special features of SAFE like “soft links”. I’d forgotten all about that
Similar ideas to these are occurring in different projects, already here as you show (in the post by @BenMS - from 2015 indeed!). The group leading the way in this area is I think SolidMIT. For example, taking your simple data editor the first diagram in the OP, I include a link below to a live demo of exactly that, but working on Solid/www rather than SAFE/www (for now ), see:
The above is a generic RDF data browser / editor which is just another Solid Web app on a Solid server.
The link takes you directly to explore some of Tim’s own Solid storage, but you can paste the URI of any Solid server and explore from there (including links which go from one server to another). So the model is like the contacts list you described in your introduction. It also uses different data viewer/editors depending on the type of data it encounters, with a default for data it doesn’t have a special template for. In Solid they call these templates ‘panes’ and there is an extensive library of solid-panes you can grab for use in your app.
This all works because the data is in known formats, RDF (structured, semantic, linked data), images etc.
Any website can provide its own app, template, editor etc, to interact with that same data on a Solid server using the Solid protocol. We can do exactly the same on SAFE, which is what I’m working on.
In Tim’s Solid data browser (above) you can paste any RDF link or Solid container URI into it to browse the contents, or edit and create if you have write permissions, including different types of RDF resource (profiles, contacts, meetings, discussions etc) which have been created by a variety of Solid apps.
It is because RDF / Linked Data already provide some important building blocks that I’m so interested in exploring the ideas and achievements of the Solid team (still developing) and others working with RDF etc.
The building blocks from Solid / Linked Data include the means to describe linked data in ways that different apps can create and reuse, as you envisage, including many ontologies which app developers can just pick up and use.
To help with this, I have been implementing a Safenetwork Web API which includes support for the Linked Data Platform (a subset of Solid). I also have a first Solid app saving RDF to SAFE in late stage of development.
Using that Web API I hope it will then be possible to port other Solid apps, including the Solid Data Browser, and we can really start to see these ideas take shape on SAFE, at least the early stages of what you have outlined here.
So great work! I will come back to your post because you’ve thought these ideas through and presented them in a helpful way.