Can there be a common file selector?

Given that a POD is equivalent to a “personal USB stick on the web”, I would like to be able to select documents and photos from it when I work with apps.

Example:

  • As a normal user, I keep a registry of my pets with photos of them.

  • I also store my day-to-day photos on my POD.

  • Now I want to write a small note about today’s fun with the dog and add a photo of the situation.

  • I start a new note/post in my “pets manager” and select a photo for it from my POD.

The last step “select a photo for it from my POD” - how should I do that? Usually I have a “Upload” button on the web-app that lets me select the photo from my local device. But there is no such built-in widget for a POD.

It would be nice to see a standard Solid POD popup-widget that allows me to browse through my POD and select “something”. Just like we have the standard “solid-auth-client” popup for loging in.

The result would probably just be a single URL that references the selected item.

The problem is similar to A standard sharing experience? - but perhaps a bit simpler as it only relates to your own POD and doesn’t involve friends.

3 Likes

This is similar to my question

For file/image selection I’m using jsree for my app. Can double click or drag and drop to viewer portion of apps.

Not sure what Inrupt plans but it will take them a lot of resources to catch up to jstree and other API’s for client representation of POD’s. From the lists of ideas discussed on this forum I’m sensing this aspect to be of low return to them. And my bias is there needs to be a strong emphasis on the server side, fetch, rdf, N3, ldp and rest api’s; the parts that are fully in their court.

Coming out of academia into a private company is a major undertaking; many dangers and pitfalls One is there are 365 days in a year; choose wisely what you task yourself with. Btw on a human note on average there are 4200 weekends available to you; don’t waste them

3 Likes

Totally agree, those things have to be stable (and well documented … which is also an issue at this point).

I don’t really expect Inrupt to go out and implement all if these feature requests, but having a discussion about them can be beneficial too - Inrupt can see what their users are thinking and maybe someone takes up the ideas and provides an implementation.

I do although think that Inrupt should put together some sort of “killer app” that demonstrates all the goodness they believe we get from using PODs - and, having the academic server-side background I sense the team has, it would probably be a good idea to let some third party UX specialists design it.

And in all fairness, they do state on https://solid.inrupt.com/get-a-solid-pod that “The Solid POD providers below are currently designed for use by a highly technical audience of developers” - so its not like they are saying Solid is ready for the masses yet.

4 Likes

I think there are two sides to your question:

  • if an app has root access to your pod (you are logged in to the app), then how should it find and list the photos on your pod, and allow you to pick a photo to add to a post.
  • should apps even have root access to my pod?

For ‘app’, read ‘third-party web app’, for instance https://pheyvaer.github.io/solid-chess/.

Answer to the first part is probably along the lines of: check type registry to find photos, or just show a simple folder tree and let the user click on folder names to traverse it. Displaying a folder tree is a solved problem, as @rimmartin commented.

Answer to the second part is maybe more interesting, and something a few of us are currently looking for, I think. :slight_smile: I’m working on an answer here, maybe we can brainstorm about that together?

App-access is orthogonal to user-access … and both are covered by the access control lists - either by assigning a webId to a server-side app or granting access for a browser-app through it’s origin header.

So apps do have an identity - either a real webId or their “origin” header.

Unfortunately the origin header check is not working (and disabled as I understand it). See Access control by origin header not working? · Issue #986 · nodeSolidServer/node-solid-server · GitHub - and also the discussion here Inter-app access control - #18 by JornWildt.

So, in principle, the server-side framework for app-access-control exists - but the UX for granting access is bordering between horrible or just non-existsing. There really should be some sort of nice user-friendly “OAuth dance” for granting access to your POD by specific app.

As it is now, any web-app you log-in with will be able to harvest or even delete all your contacts, photos and so on without you ever knowing what happend - maybe just by accident (programmer errors).

1 Like