Proof of Concept ideas for Generative Objects

linked from Welcome to the Solid Forum, please introduce yourself here. Great to have you on board

Sorry Walter, I inadvertently stepped on your great introduction, just trying to link to a thread outside of the introductions thread.

Just my $0.02:

A shopping list app might be the simplest (famous last words :grinning:) but also could be really useful, if its easier than just texting. There is a suggestion for one here Shopping list app

But when I think about what I might really use, and I don’t already know how to do more easily in other ways, a friends/family mapping app would be pretty great, to be able to see where people are or have been in a way that respects privacy. I think there is one in the sample apps or in the github repositories, but if you could show how to make one that would be really cool.

Thank you for feedback !

Yes great ideas, we could definitively do this.
It could be good then to write the use cases so that it can lead the developments.

Also : I am wondering if it makes sense to build hybride applications (ie : application with personnal data in SOLID Pod and other data in database. That would be possible with GO. Or is it better to have data in SOLID ??

For instance, with the friends and familly mapping app, there is the concept of “places”. Where do we store all the places ? so that we don’t just use text but actual places database. Then when we navigate the places, we can see who of our friends and family went to a specific place.

What we could do as an application with GO would be :

  • database of places in classical database
  • information about places visited by friend or family inside the person SOLID POD (with ref to place ID + maybe name of place for having directly readable data from POD)
  • the information about place visited could include date, comments, pictures etc. and I could add comments to my friend visits.

Alternatively, and better ! instead of storing places directory in classical database, could be exposed through a RDF document.

Is there such a RDF vocabulary that already exists for locations ? and existing RDF document ? and if existing RDF document : is it read only or read/write ?

Any existing RDF vocabulary to use for “places where I have been” information ?

Also : if no existing RDF document for location, we could then initiate one.

1 Like

Salut Walter, could dbpedia is a good place reference ?

1 Like

Good ideas. I don’t know much about it, but there is

There may be others, I dont know.

1 Like

yes thank you,

now there is the spatial information, but what would also be need if information about places : type of place (restaurant, shop, etc.), address, etc. has many terms for spatial and geo descriptions as well as establishment types.

1 Like

Oh yes indeed ! thank you.
looks like countries, historical building etc…

Could be perfectly enough for the friends and family application.

Thank you

@anon36056958 I am now working on this friend/family concept app. I will use dbpedia for the places database (

For the design, I would want to confirm what would be a good SOLID app design, as this is my first one ! What do you think of this :

  • the users who want to use the friends/family mapping app, will connect to the app and give authorization to the app to access their private POD.
  • from the app, a user A can tell what places he/she visited. By doing so, the app accesses the user pop to store in the pod of user A, the visited places.
  • whenever some other user B connects to the app, the following happens : user B can say which places he/she visited. User B can also see all his friends who are using the friend/family mapping app. And if User B is friend of user A, user B can see all the places user A visited, and potentially comment on it, comments made buy user B are store in user B’s POD.
  • It is the App, through the authorization given by the users, who is going to fetch places visited by user A from user A’s POD, to show them to user B. user B never has direct access to user A’s POD

Does it feel like the proper design ?

Other question : should we model the notion of “friend” in the friends/familly mapping app ? or use the friends list stored in the POD ? in other terms : does the fact that user A is friend of user B, specific to an application ? (thus if I am connecting for the first time to the friend/family mapping app, then I will be proposed to invite my POD’s friends to the App and make them become friends of mine in the context of this application (if they say yes of course!) ?). This seems to me the proper to do.

All data specific to the application itself, not personnal to a user, are store in the application database.

Thank you in advance for your input !

@walter.almeida Solid friends are global to the users Pod, but you can create a ‘Family’ group. I’ve never done but seems to be the way I would do such thing.
You could also use a pod for hosting your HTML/Js app, and store app’s data on it and not in external database ( a pod is limited with a quota of 25Mo on

My principle is 'the one that generate the data is the owner and choose where to store it ’ so by default, data generated by a user is stored on his Pod, where he can choose to who ( other webid, app…) he share it. An app can have a pod too where it store its data.

Hi @walter.almeida,

Thanks for asking! :blush:

I’m not sure how others have done it, you might want to check with others who have written similar Solid apps, for example I think @SharonStrats and @labra.

Also, if there’s a conflict between making a great app and proving the usefulness of Generative Objects for Solid, you should probably go with the latter, but thats just my opinion.

so fwiw anyway here’s my thinking…

The app saves location info and time every so often in the user’s (I’ll call it the traveller’s) pod automatically, and during those times when the location is changing fast then maybe that data is saved more often. The user can choose to pause or stop the location tracking anytime. The user can also cause that data to be saved on command for important points of interest. Saving it at a point of interest might leave the pause/continue toggle the same or not, depending on user configuration. The user can link any point on their route to any resource on their pod (i.e. pictures, etc).

I agree that all that data should be stored in the traveller’s own pod. Others authorized by the traveller can only read it. I also agree that anyone else’s artifacts about a point of interest (pictures, video, audio, text) should be stored on their pod and they and the traveller (or others) would have to agree for those things to be visible.

I also agree that separate lists of friends/family/others would be needed, separate from the friends list in the pod, because the list for this app would change a lot and may sometimes include some who are only temporary friends who want to coordinate routes. Inviting the traveller’s pod friends may be too many invitations or sometimes not appropriate. A configurable list of lists may be necessary, say one for work friends meeting for lunch, one for family members on a shopping trip, another for coordinating a sales meeting with customers.

Hope this helps. I’m looking forward to seeing the app!

Thanks for reply !

Oh Ok I understand more now what you were thinking of ! I had the idea of a simple “point of interest” application, where the traveller could share places he went to. I did not think of the tracking app. That’s a cool great idea. I will start with the simple “points of interest” app, as a demontration. It can further evolve later.

Ok let’s get the ball rolling ! I plan on being in a position to present the results of this experimentation in the SOLID world may :slight_smile:


I have posted a question relevant to this app here : How a SOLID app can have persistent access to all the pods of the users who registered to the app?

Hello @anon36056958,

I finally finished my demo app for tomorrow’s presentation at Solid World May, here it is :slight_smile:

And code source :

I am really happy of this experimentation, I am about to achieve very close to 100% code generation from the functional model :slight_smile:


Nice work Walter! I tried it out and added a couple of places to my profile :slight_smile:

1 Like