Conceptual Design - Solid better User Experience

I want at least most of the conversations about free, open, solid web components here where the conversations are open and public if possible, not on pods which are inherently private. Its not that I want to control those conversations or think that I could control them, or heckle people. I just want the best result. Don’t make me start coding! :weary:

I agree and disagree! Often with myself too. :grimacing:

I think it’s obviously better for discussion and reference here, but it’s against the flow of where we want to be and are heading (decentralised, generating content that is stored as linked data and controlled by the site etc.).

So, being in two minds this raises another question, if not by building and consuming our Solid dogfood, what do we think are the ways to get there? Maybe this just raises the need for a Solid based discussion forum?

2 Likes

Speaking for myself (but I think there may be others that would agree), I am uncomfortable chatting on someone’s pod, where they can mute or boot anybody they want (I would probably get muted, then booted :smile:). If there are public discussions about free, open source solid client software, I think they should either be on the public forum or on some kind of neutral pod where there are ground rules.

1 Like

We’re drifting off topic here, but I think the chat app can be hosted anywhere, and each person in a chat could be using a different chat app (client / UI) but obvs using shared conventions on create chat/message etc. So I could mute you (as if :wink:) from my feed, but you would still appear in everyone else’s feed. I’m not sure how the existing chat apps work, but I don’t see why chat / forum etc can’t work as I just described.

I understand the other dimension to this, that the ones writing the code feel entitled to choose the audience.

But that makes me feel so lonesome and Away Out There https://m.youtube.com/watch?v=xLZlSVSsbZk

1 Like

Please @anon36056958, don’t be so lonesome, and give me an help to this experience :

Once upon a time there was a POD named 'Agora' that was totaly open...
So everyone that had a webId could post some though... 

https://agora.solid.community/public/plume/?post=https%3A%2F%2Fagora.solid.community%2Fpublic%2Fposts%2F1574983933355-once-upon-a-time.ttl
Please accept to be a “poderator” with me and @happybeing on the ‘Agora’ pod.


Let’s create on this pod some structured data about anything, we could first open a folder about the tools to build a Solid app.
https://agora.solid.community/public/SolidTools
Everyone here can express what he’d like to have as SolidTool or what he can provide… in structured data.

The public folder of the ‘Agora’ pod is open to everyone in “write” mode, and we are three for the moment that could delete data if some is not appropriate or move it, manually maintain it,…

give me please a wedId so we could be 3 poderators… and let’s see what happens …

3 Likes

Count me in @Smag0 ! I just got a pod at inrupt.net, so I my WebID is (I think) https://sideshowtom.inrupt.net/profile/card#me

You’re now a poderator of ‘Agora’ but there are some mistakes : Abnormal response time after sharing

2 Likes

Ok, great! I made a post there but as you mention it’s kinda slow, still waiting.

Post with plume doesn’t work, as it want to post to your pod. I must review the code so everyone could post with plume. For the moment, everyone can only put manually files on this public pod

1 Like

With luck just changing the postsUrl (or something similar) in the plume config.txt might do the trick.

I don’t think so, the write is based on the webid. So where is the best place to store the post? On the agora pod ? or on the user’s pod with a reference to it on the agora?

The posts location doesn’t have to follow the WebID, it can be anywhere so you could store them in Agora for everyone, or each user could use their own plume to save their posts on their own pod.

@happybeing, @anon36056958, @A_A
I’ve upgrated “Everyone” to “editor”, so that anyone can use plume to post.

here is how it can be seen in Spoggy :
https://scenaristeur.github.io/spoggy-simple/?source=https://agora.solid.community/public/posts
(Use Fullscreen, next click on a postXXX.ttl and use “expand” option)

Using tags as metadata about each post, we could easily regroup posts that take about the same subjects, then navigate following tags of interest… So let’s write other posts, and try to add the tags…

Building a new version so that user can post to his post from Agora’s Plume, but install with zip always have the same problem.
What have you done @A_A to make a “working” plume ?

Some active work on webcomponents here https://scenaristeur.github.io/solidash/compagent-spoggy/
with code here solidash/component-app.js at master · scenaristeur/solidash · GitHub

1 Like

Have you taken a look at this comment already? Solid Plume - simple blog app - #71 by A_A
Copying the files should work flawlessly.

If you mean to upload a different version of Plume (not 0.11) you can also use Solid Copy and solid-local-pod-manager to copy it from your file system to your pod.

I’d advise not to use solid-filemanager’s unzipping (I think I called it “Extract here”), as it is a bit broken with the content-type.

Would it be possible to make web components that do something like this?

<filechooser file-chosen=“the file chosen”>

<fileparser parse-file=“the file chosen” rdf-graph=“the graph chosen”>

<graphdisplayer1 rdf-graph=“the graph chosen”> <!-- d3 force graph -->

<graphdisplayer2 rdf-graph=“the graph chosen”> <!-- bar chart -->

<graphdisplayer3 rdf-graph=“the graph chosen”> <!-- pie chart -->

<grapheditor1 rdf-graph=“the graph chosen”> <!-- simple text editor -->

<grapheditor2 rdf-graph=“the graph chosen”> <!-- editor with fancy autocomplete -->

Where the matching attribute values are mapped to shared properties, and the properties are javascript objects.

Since this is declarative, they would all show at once, and the changes when choosing another file or editing in an editor would be reflected in the other elements.

Then lots of apps could be built with similar html tags, especially if templates for enumerating lists are also possible. @happybeing’s application generator could also be built this way.

Yes it’s for a new version, that :

  • replace deprecated simpleMde editor with easymde
  • allow local install with node/express
  • try to make possible to post in a desired pod, not only on the same one

    I’ll try with solid-local-pod-manager :+1::slightly_smiling_face:
    Thxs for your promptness

does it work on Windows ? as i have some errors

→ ok it works on localhost:2700, but not on 127.0.0.1:2700

@anon36056958 it’s totally feasible, and it’s why I love webcomponent, although I don’t like the way they normally share data, with data-binding or other redux tools.

I prefer that they are totally autonomous, so that they talk to each other through the evejs agent system . (@dprat0821)

Each component has a ''named agent" that send data to the agent of another component.

When this agent receive data, he updates the components.

So an app can be build out independent reusable autonomous components as easily as every htmlTag.

Then it would also be easy to replace for example a component by another. If I want my graph to be made with d3js instead of visjs, just import the equivalent component, and use it’s tag & name of communicating agent…

I’d not really know what could be in a piechart component :thinking::crazy_face:, but I will give you a proto of your desired app, with components that exchange those data to each other
Or you can give a try by copying this folder https://github.com/scenaristeur/solidash/tree/master/compagent-spoggy.
It’s all you need to start that type of app ( just duplicate the component/modele-component.js and name it graph-editor ( carefully, dash is necessary) .
In this file change the name at the three place you find model-component or ModelComponent .
Then you can import it in component/component-app.js and use it as a new htmlTag …
Can’t be more simple and it works in the browser, don’t need webpack or other preparation… So could be directly installed on a Pod … :grin:

Edit :
using this components :

  <displayer-chooser name="Chooser"></displayer-chooser>
  <displayer-parser name="Parser"></displayer-parser>
  <displayer-graph name="D3Force" type="d3"></displayer-graph>
  <displayer-graph name="BarChart" type="bar"></displayer-graph>
  <displayer-graph name="PieChart" type="pie"></displayer-graph>
  <editor-component name="Editor" type="simple"></editor-component>
  <editor-component name="Editor" type="fancy"></editor-component>

on this page is an example https://scenaristeur.github.io/solidash/compagent-displayer/

and in the <displayer-chooser> i reuse the <browser-component>, the <tripledoc-profile> & the <explorer-component> that i used in my demo app…

2 Likes

Fantastic! I will give it a try. I don’t have any specific data in mind, I just think making apps should be easy like you are making it possible.

Hi @Smag0,

Can you put more than one displayer-chooser in a document? If so, how do you tell different displayer-graph elements which displayer-chooser they use?

Thanks