Demo app - RC flight logger

Thank you for your feedback - I have been through the same considerations you have about the location of data. There’s a rather lengthy discussion of it here: Provide guidelines for application data storage configuration · Issue #127 · solid/solid-spec · GitHub

The reasons for the selected locations are:

  • The data is your data - not any specific app’s. For that reason the app-name is not part of the URL. This is a rather crucial point where Solid is different from your classic operating system.

  • Your data is the focus point - not your apps. The data for Solid-RC is open and uses almost exclusively existing vocabularies.

  • The app, your “user agent”, works on your behalf. It does not own your data. This is very different from Facebook, Twitter and almost every other online application I can think of. It is also different from standard desktop application that has a closed data model you should neither tinker with or let other apps access.

  • In the future somebody else might implement a better user agent for this set of data. Lets call it “Random-RC”. It would be odd if “Random-RC” worked with data explicitly marked as Solid-RC’s data through the URL name.

  • All this means that the app name should be removed from the URL.

Now there is application state data, such like preferences, current sort-order and selected model - and then there is the “business” application data (the models, locations and flights). I believe state data belongs to the app and should be located in something like /apps/solid-rc whereas the application data should be, as argued above, in a more central generic location.

Public folder
Yes, /public can be anything you want - also completely private - which is why i think /public is a bad choice for almost anything in Solid. See Is /public really such a good idea? · Issue #129 · solid/solid-spec · GitHub

I also think /apps is a bad idea since it, again, indicates that the data belongs to the apps and not to you.

Root folder
You are absolutely right - the default data browser does not allow you to browse the root folder. But, as @RubenVerborgh states it “That latter thing is a UI bug we should fix.” (see Provide guidelines for application data storage configuration · Issue #127 · solid/solid-spec · GitHub).

Other folders
I do although share the idea that the root folder might not be such a good idea - maybe /user or /data is a better top folder.

Let the user select
As you have stated, you would rather see the data in /rc-app or maybe /public/rc-app or /user/rc-app which might just be the perfect choice for your POD … it is after all your data, right :slight_smile:

So in the end we should probably just let the user choose the preferred location … although the app should still suggest something useful to get going.

Vocabularies and linked data

For /places/hobby I think they should be in a folder /rc-app/rc-hobby
because they are really personal and not reusable locations and not really defined as such

“Locations” are actually reusable locations - at least on the data level since they are defined as schema.org “Place”.

But it opens up for an interesting discussion - does it make sense to use linked data here? The selected location for a flight is in the end nothing but a URL pointing to something that represents a location - in this case a location you have defined first. But the location could as well refer to DB-pedia or some other “geo” resource.

I can also easily imagine wanting to reference models and locations from friends - “Hey, look, I flew at Mathew’s airfield” or “Cool, Mathew was the pilot of my model and registered a link to it from his logbook”.

Unfortunately I think linked data leaves more questions than answers when you go down this road. At least it is a very different way of thinking as opposed to the current family of web- and desktop-applications. … when is a piece of data kind’a private and not designed for reuse - and when should I, as a designer, craft an open well defined vocabulary that covers the area I currently work with and make it possible for others to link their data with mine?

I also leaves an open question about the whole user experience of using Solid apps, how to let users select from other users data, how to share and how grant access in an easy and intuitive way.

And that is exactly why I created a simple little app like Solid-RC - to trigger these discussions about the whole Solid experience and have something very concrete to illustrate issues and thoughts.