Selecting items - but from where?

This is just me thinking in the public in the hope of getting a bit of feedback …

Assume we have a note taking app that allows you to assign a location to each of your personal notes - something like “Copenhagen” or “At home”. How would you build a UI/UX for selecting those places?

Usually the application and user owns it’s own data, so the application itself would have a place where you could edit your list of possible locations and then just let the user select from those when entering a new note.

But with Solid/Linked Data you are expected to use standard vocabularies and maybe even open data sets (if possible) - so in this world it might be more natural to use pre-existing locations from, for instance, Wikipedia - and instead of relating notes to locations own by the note-taking app, we should let the user select locations from any place in the world.

On a more practical level this would mean location URLs like http://dbpedia.org/page/Copenhagen and using “foaf:name” to display the title - instead of location URLs like https://my-account.solid.community/public/my-locations/copenhagen-1234 and some proprietary name predicate.

But entering URLs from DBPedia is not exactly the most easy thing to do for the average user - and I am pretty sure DBPedia does not have an entry for “At home” (my home).

So you need some kind of mix - let the user manage a list of their “prefered” locations where they can either create their own locations the classic way - or add DBPedia links to places they want to reference.

It also implies that your app must not expect too much about the target of the location URL since the data may not be under its own control and thus not necessarily conform to anything known by the app.

You can repeat this for all sorts of “related stuff”. For instance colors, pet animals, car brands and so on.

Any thoughts about this?

1 Like

I think, if I understand correctly, for what your talking about you could use a data shape language for rdf like shex or shacl. A shex schema could be used to specify interface parameters or generate a user interface. Of course for that you would either need to know the shape ahead of time or be able to read it from somewhere.

Thanks. My primary issue is though the user experience of pointing out what external resource to use. Unlike Facebook you cannot just search for a page name and click on the result when the items your are looking for are scattered all over the web and identified by URLs you have to manually enter somewhere…

Didn’t know about those languages - thanks.

A data shape could be used to guide the user experience. If the user is expected to choose an external resource, they could be free to choose one in a browser widget and then the resulting URL could be verified against the shape. Or the browser widget itself could be restricted by the shape.

“Browser widget”, ah, that is an interesting concept. It sounds like something that should be part of the Solid/RDFLIB collection as it seems very re-usable in a lot of linked data scenarios. Thanks.

Could be neat to have a standard popup-widget you could configure to “go fetch this kind of data anywhere on the web” as you describe.

1 Like

Yes that would be a great react component or vue component. As a beginning maybe just the URL could be matched against a shape and maybe eventually things in the resource its pointing to could be matched. Maybe some kind of guide in the corner of the page could indicate something like “yes, this matches the thing you’re looking for”, or “this page contains the thing you’re looking for”, or “no, you’re way off the subject, go and look at such and such a place”.

Just doing a quick search about browsers, it looks like some use a blacklist or whitelist of servers, which is sort of like a blunt instrument. It would be better to have the choice or guide be about the linked data there at whatever site. I don’t know if anything like that is out there now.