From 9a711c960c1f153b45911e8aff13f18a12518688 Mon Sep 17 00:00:00 2001 From: Mariha Kozinska Date: Wed, 7 Sep 2022 23:08:12 +0200 Subject: [PATCH 1/3] Add some comments as a review. Take or ignore whatever you think is worth it. --- README.md | 4 +++- group-community.md | 45 ++++++++++++++++++++++++++++----------------- intro.md | 28 ++++++++++++++++++++++------ my-profile.md | 4 ++-- next-steps.md | 4 ++++ 5 files changed, 59 insertions(+), 26 deletions(-) diff --git a/README.md b/README.md index 91bc7b8..f96943c 100644 --- a/README.md +++ b/README.md @@ -2,10 +2,12 @@ In a series of articles we document how we build a distributed hospitality exchange over [Solid](https://solidproject.org). +[comment]: <> (Who are we? Would be nice to write that it was you together with OHN project/team or you as part of it) + [Start here](intro.md)... --- - +[comment]: <> (I enjoyed the mystery of unknowing "what happened next" but I believe many people may prefer to know what to expect before starting to read, so you may consider to add an overview here) ... or jump over directly to one of the chapters: 1. [Developing a distributed app with Solid](intro.md) \ diff --git a/group-community.md b/group-community.md index dedd48f..85e421e 100644 --- a/group-community.md +++ b/group-community.md @@ -17,9 +17,9 @@ _Well, now, as i'm writing this, i've [submitted](https://lov.linkeddata.es/data I can offer people a place to stay. But how do they ever find me? At the moment, our data live in different places, and we have no way to find each other. Internet is a vast place... -### 1. Crawl +### 1. Crawl a network of friends of a friends -Well, people can look at their friends, and friends of friends, and friends of friends of friends, and so on, and see if somebody offers a place to stay; and where it is. +Well, people can ask (look at the profile of) their friends, and friends of friends, and friends of friends of friends, and so on, and see if somebody offers a place to stay; and where it is. This would only work if the network of friends is dense and well established. But if i'm new to the network, or if somebody is new, they won't find me that way. We could use a network of hospex contacts (To Be Done) to perform the same search. @@ -28,13 +28,19 @@ We could use a network of hospex contacts (To Be Done) to perform the same searc - We host people in our friends network, so we can feel safer with them - We don't need any additional search system +- No centralized infrastructure that could be compromised at a risk of whole communities being lost #### Disadvantages - New people can't find others, and others can't find them -- Networks may be disjoint (i.e. two or more disconnected groups), and therefore not know about each other, essentially making separate communities -- Offers have to be public. Currently Solid doesn't have any mechanism to give permissions to friends of friends of friends of friends, and nobody else. (We could make a crawler that collects these "foafoafoafs" to a single group, and give permissions to that group.) -- We don't have any notion of a Community (e.g. cyclists, hitchhikers, ...) - like [different](https://welcometomygarden.org/) [hospex](https://www.bewelcome.org/) [communities](https://www.facebook.com/groups/hostasister/), or different [Trustroots Circles](https://www.trustroots.org/circles) +- Offers have to be public. Currently, Solid doesn't have any mechanism to give permissions to friends of friends of friends of friends, and nobody else. (We could make a crawler that for each user collects these "foafoafoafs" to a single group, traversing the graph to certain depth, and give permissions to that group (or rather request members of that group to give permission to read their data).) +- We don't have any notion of a Community (e.g. cyclists, hitchhikers, ...) - like [different](https://welcometomygarden.org/) [hospex](https://www.bewelcome.org/) [communities](https://www.facebook.com/groups/hostasister/), or different [Trustroots Circles](https://www.trustroots.org/circles) (could be done with "tags" stored in a profile) +- Search by location would require prior fetch and scan of a whole network of foafoafoafs, that would take waaaaaaay to long to be usable (scalability and app responsiveness issues) unless we cache that data locally but then it can get stale, needs refreshments, ... gets a bit complicated. A cache could be structured as a geospecial index though, specifically created for each user from their own network. That might be not that bad idea, actually. +- There is no common space to broadcast messages (invitations to stay or requests to be hosted), unless we had a wall of messages from foafoafoafs, stored locally and refreshed similarly as messages in SSB? + +#### Other characteristics + +- Networks may be disjoint (i.e. two or more disconnected groups), and therefore not know about each other, essentially making separate communities. Depending on the context, this can be desired or not. ### 2. Make a place to discover each other @@ -45,28 +51,27 @@ Improvement #2.1: Make the group members searchable by location, creating a geo #### Advantages: - People who previously didn't know each other can find each other - Solid has a way of sharing permissions with groups of people - our data don't have to be public - we only share our offers with members of our community or communities (well, ehm, we'll see about that in a moment...) +- Belonging to something bigger then a single individual is, like a community, can be a source of an identity (in human, offline sense) #### Disadvantages: -- Centralized solution, a single point of failure, a single point of control +- Centralized solution for a community, a single point of failure, a single point of control. However: + - if there were many independent communities like this (run on different servers by different people), and everyone was a member of a few, it becomes more decentralized. + - a group could be replicated, and an index could be distributed over a few nodes, with some redundancy. - If we don't make _Improvement #2.1_, we have to fetch all members' offers in order to find hosts in the area we travel to -### 3. Make a distributed way to discover each other (Distributed Hash Tables) +[comment]: <> (### 3. Make a distributed way to discover each other (Distributed Hash Tables)) -I don't know what i'm talking about... just using some trendy words here. Only in most vague and foggy way can i imagine how this would function +[comment]: <> (I don't think it would work actually. +It is possible to have an index distributed over a few nodes, that could be queried by location. +It is also possible to have a key-value store distributed over a few nodes, implemented as a distributed hash table, it would be queried by keys, not sure what they might be. +I suggest removing this point alltogether. ) -Somehow, everybody would host a part of the group/network/index on their own Solid Pod, and somehow, magically, people could find each other that way - -#### Advantages -- distributed system, no central point of failure - -#### Disadvantages -- complicated, hard to understand -- no clear way to manage permissions (do data have to be public again?) +### (both solutions can coexist next to each other) --- -These are all valid options. For starters we went for the middle option - making a centralized group to discover each other +These are all valid options. For starters we went for the latter option - making a centralized group to discover each other ## How to make a group @@ -114,9 +119,11 @@ We want to: 1. Make a public group 1. See if we can authorize the group members to access a resource + 1. See if others who are not a member of a group can see us but not a resources 1. Make the group private - self-referencing (The group can be viewed by members of itself) 1. See if we can see other members of a group 1. See if we can authorize the group members to access a resource + 1. See if others who are not a member of a group can not see us or a resources Because ideally, the group members are visible only to each other, and can share their hosting offers only with each other. @@ -137,6 +144,10 @@ Basically, at this point, the options are two: 1. Everybody in the internet can see the list of hospitality exchange members 2. Group is private, but the people's hospex data are public. ([this doesn't work if the group is hosted on CSS](https://github.com/CommunitySolidServer/CommunitySolidServer/issues/1442)) +[comment]: <> (What if we had a functional webId for each hospex community, and we created a public Solid Group that included them and authorized only members of this group to see people's hospex data? Each community would have a separate app/webpage, with their own webId. Only app would be authorized to access hospex data of members of the community it serves. The members directly or other apps/communities would not be authorized to read that data. +Trust between communities could be established by granting or revoking access to resources of one community for the webId corresponding to the other community +Only the apps could write to hospex.ttl files and they could enforce and validate expected file format for the offers that belong to them, a format that would be specific to them and they would have freedom to change and maintain it) + We chose the second option to start. But it's a difficult choice, two suboptimal options... ### Finally, making it diff --git a/intro.md b/intro.md index 90d3368..24c7f2f 100644 --- a/intro.md +++ b/intro.md @@ -26,6 +26,9 @@ I think [Solid](https://solidproject.org/) is an interesting idea. But it suffer I don't care for the inception ideas. I don't care for authority in Solid. I don't care for your new Specification. I want it to work. +[comment]: <> (I don't care for your new Specification) +[comment]: <> (it's unclear to me who is "your" here. Maybe adding a link under "Specialization" will help, or changing "your" to somthing more specific?) + For me, Solid is: 1. an identity provider @@ -35,6 +38,11 @@ As I said, i want to develop great real-social applications. Applications that c One well explored, and popular use case is Hospitality Exchange. It's pretty clear what the system should do. +[comment]: <> (would be great if you mentioned somewhere here, here-here or elswhere on this page, how your collaboration with me or/and OHN started, what OHN is about and how it fits together with Your agenda. Maybe also a few words about sleepy.bike, who is it for and where it comes from? I'll be happy to discuss or draft parts of this if it was helpful.) + +[comment]: <> (I would describe OHN as an effort to design and build next generation hospitality exchange platform. One that would be federated (decentralized and interconnected\) in order to address issues and the long-term consequances many hospex communities have faced over the years of existance and which we believe are related to centralized infrastructure they've been built on. +Or something along these lines.) + So, let's focus on Hospitality Exchange for now. ## What is it supposed to do? @@ -45,29 +53,37 @@ In the simplest case: 0. Sign in 0. Write a little bit about yourself -0. See a map of people who offer to host travellers -0. Open a profile of, and read about a few potential hosts, their references from other travellers, ..., get impression that you'd be reasonably safe with them +0. See a map of people who would like to host fellow travellers + +[comment]: <> (I like also a phrasing "people who invite fellow travellers to stay at theirs home/place". For me "people who offer to host sb" seems somehow very transactional, like the verb "to offer" implided that ones gets something in return. And I know usually they do, but I feel like it's better not to expect that. +Maybe it's that the word "offer" has sales connection to me, where things are exchanged for money in a trasactional way) +0. Open a profile of, and read about a few potential hosts, what they write about themselves and what other travellers wrote about staying with them, ..., get impression that you'll have good time together and maybe that you'd be reasonably safe with them + +[comment]: <> (personally I don't consider safety as something to think actively about, I follow my intuition and unless something awakens my inner sense of danger-detection I just go for it. My default is to trust people I'd say. I am writing it because I wouldn't mention safety-verification here, but I don't know how others have. Just to consider removing it.) 0. Contact the potential hosts 0. Wait for their reply -0. When they reply, receive a notification +0. When they reply, get a notification 0. They can host you! 0. Confirm -0. Enjoy the new real world connection, enjoy the stay +0. Enjoy the new real world connection, enjoy the time you spend together and the place, get some recommendations from a local where to go and what to do 0. After the stay, write a reference for them, and establish a friendship connection Now, you have a home, you want to host travellers in your home: 0. Sign in 0. Write a little bit about yourself -0. Write about your home: Approximate location, and say that you can host people +0. Write about your home: approximate location, and say that you can host people 0. Wait for travellers to write to you 0. Somebody wrote! You received a notification. -0. Read a message from them, read about them, check their references ... get intuition that you'd be reasonably safe with them in your home +0. Read a message from them, read about them, maybe check experiences other hosts described having with them... and get excited about new people you're going to meet! 0. Invite them 0. They confirm 0. Enjoy the new real world connection, enjoy their stay 0. After their stay, write a reference for them, and establish a friendship connection +[comment]: <> (just as a side note: referrences are not a mandotory component, in WarmShowers they were hardly used, other platform may have different trust systems for example based on existing connections or profiles in other social networks. +In Trustroots 'references' are called 'experiences' which I also personally prefer as 'references' seem to me a bit formal and like it was Linked-in or similar network. I belive the phrase 'references' comes from CouchSurfing but I never used it so idk) + --- In a more complex feature: diff --git a/my-profile.md b/my-profile.md index 7a56fb2..76d8606 100644 --- a/my-profile.md +++ b/my-profile.md @@ -1,4 +1,4 @@ -# Show my profile +# Show user's profile _we look what's at webId * triples, triples, triples * fetch my data with inrupt library * fetch my photo * it's annoying, isn't it?_ @@ -85,4 +85,4 @@ In SPARQL, the above picture would be written like: write a SPARQL query, with optional stuff... ``` -[Next: Offer a Home](offer.md) +[Next: Offer to stay at your home](offer.md) diff --git a/next-steps.md b/next-steps.md index 9364ef3..e80f8e4 100644 --- a/next-steps.md +++ b/next-steps.md @@ -5,6 +5,9 @@ - send messages to other members - post travel plans... - ...and members of various communities (even those you can't see) from the area will be notified, and can invite you + +[comment]: <> (the above seems hard... I'd limit it to others from your communities only?) + - connect to others - _create connectios_ with people you know `:me foaf:knows myFriend` (or a special hospex connection) - _write a reference_, to tell others about your experience with a particular member (social proof of safety) @@ -12,4 +15,5 @@ - scale: geo index, group permissions when groups are large - create and manage a community via an app - customize the app to the needs of different communities +- display on a map members of other communities that trust the community of our app From ccc6ac38968a21adfb973732e1242c9fcd4877c0 Mon Sep 17 00:00:00 2001 From: Mariha Kozinska Date: Thu, 8 Sep 2022 21:51:58 +0200 Subject: [PATCH 2/3] Remove review comments from the code. They were added as comments to a GH review instead. --- README.md | 3 --- group-community.md | 12 ------------ intro.md | 16 ---------------- next-steps.md | 3 --- 4 files changed, 34 deletions(-) diff --git a/README.md b/README.md index f96943c..6974ece 100644 --- a/README.md +++ b/README.md @@ -2,12 +2,9 @@ In a series of articles we document how we build a distributed hospitality exchange over [Solid](https://solidproject.org). -[comment]: <> (Who are we? Would be nice to write that it was you together with OHN project/team or you as part of it) - [Start here](intro.md)... --- -[comment]: <> (I enjoyed the mystery of unknowing "what happened next" but I believe many people may prefer to know what to expect before starting to read, so you may consider to add an overview here) ... or jump over directly to one of the chapters: 1. [Developing a distributed app with Solid](intro.md) \ diff --git a/group-community.md b/group-community.md index 85e421e..4e20923 100644 --- a/group-community.md +++ b/group-community.md @@ -59,14 +59,6 @@ Improvement #2.1: Make the group members searchable by location, creating a geo - a group could be replicated, and an index could be distributed over a few nodes, with some redundancy. - If we don't make _Improvement #2.1_, we have to fetch all members' offers in order to find hosts in the area we travel to - -[comment]: <> (### 3. Make a distributed way to discover each other (Distributed Hash Tables)) - -[comment]: <> (I don't think it would work actually. -It is possible to have an index distributed over a few nodes, that could be queried by location. -It is also possible to have a key-value store distributed over a few nodes, implemented as a distributed hash table, it would be queried by keys, not sure what they might be. -I suggest removing this point alltogether. ) - ### (both solutions can coexist next to each other) --- @@ -144,10 +136,6 @@ Basically, at this point, the options are two: 1. Everybody in the internet can see the list of hospitality exchange members 2. Group is private, but the people's hospex data are public. ([this doesn't work if the group is hosted on CSS](https://github.com/CommunitySolidServer/CommunitySolidServer/issues/1442)) -[comment]: <> (What if we had a functional webId for each hospex community, and we created a public Solid Group that included them and authorized only members of this group to see people's hospex data? Each community would have a separate app/webpage, with their own webId. Only app would be authorized to access hospex data of members of the community it serves. The members directly or other apps/communities would not be authorized to read that data. -Trust between communities could be established by granting or revoking access to resources of one community for the webId corresponding to the other community -Only the apps could write to hospex.ttl files and they could enforce and validate expected file format for the offers that belong to them, a format that would be specific to them and they would have freedom to change and maintain it) - We chose the second option to start. But it's a difficult choice, two suboptimal options... ### Finally, making it diff --git a/intro.md b/intro.md index 24c7f2f..dfe89c1 100644 --- a/intro.md +++ b/intro.md @@ -26,9 +26,6 @@ I think [Solid](https://solidproject.org/) is an interesting idea. But it suffer I don't care for the inception ideas. I don't care for authority in Solid. I don't care for your new Specification. I want it to work. -[comment]: <> (I don't care for your new Specification) -[comment]: <> (it's unclear to me who is "your" here. Maybe adding a link under "Specialization" will help, or changing "your" to somthing more specific?) - For me, Solid is: 1. an identity provider @@ -38,11 +35,6 @@ As I said, i want to develop great real-social applications. Applications that c One well explored, and popular use case is Hospitality Exchange. It's pretty clear what the system should do. -[comment]: <> (would be great if you mentioned somewhere here, here-here or elswhere on this page, how your collaboration with me or/and OHN started, what OHN is about and how it fits together with Your agenda. Maybe also a few words about sleepy.bike, who is it for and where it comes from? I'll be happy to discuss or draft parts of this if it was helpful.) - -[comment]: <> (I would describe OHN as an effort to design and build next generation hospitality exchange platform. One that would be federated (decentralized and interconnected\) in order to address issues and the long-term consequances many hospex communities have faced over the years of existance and which we believe are related to centralized infrastructure they've been built on. -Or something along these lines.) - So, let's focus on Hospitality Exchange for now. ## What is it supposed to do? @@ -54,12 +46,7 @@ In the simplest case: 0. Sign in 0. Write a little bit about yourself 0. See a map of people who would like to host fellow travellers - -[comment]: <> (I like also a phrasing "people who invite fellow travellers to stay at theirs home/place". For me "people who offer to host sb" seems somehow very transactional, like the verb "to offer" implided that ones gets something in return. And I know usually they do, but I feel like it's better not to expect that. -Maybe it's that the word "offer" has sales connection to me, where things are exchanged for money in a trasactional way) 0. Open a profile of, and read about a few potential hosts, what they write about themselves and what other travellers wrote about staying with them, ..., get impression that you'll have good time together and maybe that you'd be reasonably safe with them - -[comment]: <> (personally I don't consider safety as something to think actively about, I follow my intuition and unless something awakens my inner sense of danger-detection I just go for it. My default is to trust people I'd say. I am writing it because I wouldn't mention safety-verification here, but I don't know how others have. Just to consider removing it.) 0. Contact the potential hosts 0. Wait for their reply 0. When they reply, get a notification @@ -81,9 +68,6 @@ Now, you have a home, you want to host travellers in your home: 0. Enjoy the new real world connection, enjoy their stay 0. After their stay, write a reference for them, and establish a friendship connection -[comment]: <> (just as a side note: referrences are not a mandotory component, in WarmShowers they were hardly used, other platform may have different trust systems for example based on existing connections or profiles in other social networks. -In Trustroots 'references' are called 'experiences' which I also personally prefer as 'references' seem to me a bit formal and like it was Linked-in or similar network. I belive the phrase 'references' comes from CouchSurfing but I never used it so idk) - --- In a more complex feature: diff --git a/next-steps.md b/next-steps.md index e80f8e4..56031e9 100644 --- a/next-steps.md +++ b/next-steps.md @@ -5,9 +5,6 @@ - send messages to other members - post travel plans... - ...and members of various communities (even those you can't see) from the area will be notified, and can invite you - -[comment]: <> (the above seems hard... I'd limit it to others from your communities only?) - - connect to others - _create connectios_ with people you know `:me foaf:knows myFriend` (or a special hospex connection) - _write a reference_, to tell others about your experience with a particular member (social proof of safety) From e64dc06286e25f2d527f8b77bef4ccec5977537b Mon Sep 17 00:00:00 2001 From: Mariha Kozinska Date: Thu, 8 Sep 2022 22:02:49 +0200 Subject: [PATCH 3/3] Revert "Remove review comments from the code." This reverts commit 472ae11ffb20853451beff22038a83705eea20b4. --- README.md | 3 +++ group-community.md | 12 ++++++++++++ intro.md | 16 ++++++++++++++++ next-steps.md | 3 +++ 4 files changed, 34 insertions(+) diff --git a/README.md b/README.md index 6974ece..f96943c 100644 --- a/README.md +++ b/README.md @@ -2,9 +2,12 @@ In a series of articles we document how we build a distributed hospitality exchange over [Solid](https://solidproject.org). +[comment]: <> (Who are we? Would be nice to write that it was you together with OHN project/team or you as part of it) + [Start here](intro.md)... --- +[comment]: <> (I enjoyed the mystery of unknowing "what happened next" but I believe many people may prefer to know what to expect before starting to read, so you may consider to add an overview here) ... or jump over directly to one of the chapters: 1. [Developing a distributed app with Solid](intro.md) \ diff --git a/group-community.md b/group-community.md index 4e20923..85e421e 100644 --- a/group-community.md +++ b/group-community.md @@ -59,6 +59,14 @@ Improvement #2.1: Make the group members searchable by location, creating a geo - a group could be replicated, and an index could be distributed over a few nodes, with some redundancy. - If we don't make _Improvement #2.1_, we have to fetch all members' offers in order to find hosts in the area we travel to + +[comment]: <> (### 3. Make a distributed way to discover each other (Distributed Hash Tables)) + +[comment]: <> (I don't think it would work actually. +It is possible to have an index distributed over a few nodes, that could be queried by location. +It is also possible to have a key-value store distributed over a few nodes, implemented as a distributed hash table, it would be queried by keys, not sure what they might be. +I suggest removing this point alltogether. ) + ### (both solutions can coexist next to each other) --- @@ -136,6 +144,10 @@ Basically, at this point, the options are two: 1. Everybody in the internet can see the list of hospitality exchange members 2. Group is private, but the people's hospex data are public. ([this doesn't work if the group is hosted on CSS](https://github.com/CommunitySolidServer/CommunitySolidServer/issues/1442)) +[comment]: <> (What if we had a functional webId for each hospex community, and we created a public Solid Group that included them and authorized only members of this group to see people's hospex data? Each community would have a separate app/webpage, with their own webId. Only app would be authorized to access hospex data of members of the community it serves. The members directly or other apps/communities would not be authorized to read that data. +Trust between communities could be established by granting or revoking access to resources of one community for the webId corresponding to the other community +Only the apps could write to hospex.ttl files and they could enforce and validate expected file format for the offers that belong to them, a format that would be specific to them and they would have freedom to change and maintain it) + We chose the second option to start. But it's a difficult choice, two suboptimal options... ### Finally, making it diff --git a/intro.md b/intro.md index dfe89c1..24c7f2f 100644 --- a/intro.md +++ b/intro.md @@ -26,6 +26,9 @@ I think [Solid](https://solidproject.org/) is an interesting idea. But it suffer I don't care for the inception ideas. I don't care for authority in Solid. I don't care for your new Specification. I want it to work. +[comment]: <> (I don't care for your new Specification) +[comment]: <> (it's unclear to me who is "your" here. Maybe adding a link under "Specialization" will help, or changing "your" to somthing more specific?) + For me, Solid is: 1. an identity provider @@ -35,6 +38,11 @@ As I said, i want to develop great real-social applications. Applications that c One well explored, and popular use case is Hospitality Exchange. It's pretty clear what the system should do. +[comment]: <> (would be great if you mentioned somewhere here, here-here or elswhere on this page, how your collaboration with me or/and OHN started, what OHN is about and how it fits together with Your agenda. Maybe also a few words about sleepy.bike, who is it for and where it comes from? I'll be happy to discuss or draft parts of this if it was helpful.) + +[comment]: <> (I would describe OHN as an effort to design and build next generation hospitality exchange platform. One that would be federated (decentralized and interconnected\) in order to address issues and the long-term consequances many hospex communities have faced over the years of existance and which we believe are related to centralized infrastructure they've been built on. +Or something along these lines.) + So, let's focus on Hospitality Exchange for now. ## What is it supposed to do? @@ -46,7 +54,12 @@ In the simplest case: 0. Sign in 0. Write a little bit about yourself 0. See a map of people who would like to host fellow travellers + +[comment]: <> (I like also a phrasing "people who invite fellow travellers to stay at theirs home/place". For me "people who offer to host sb" seems somehow very transactional, like the verb "to offer" implided that ones gets something in return. And I know usually they do, but I feel like it's better not to expect that. +Maybe it's that the word "offer" has sales connection to me, where things are exchanged for money in a trasactional way) 0. Open a profile of, and read about a few potential hosts, what they write about themselves and what other travellers wrote about staying with them, ..., get impression that you'll have good time together and maybe that you'd be reasonably safe with them + +[comment]: <> (personally I don't consider safety as something to think actively about, I follow my intuition and unless something awakens my inner sense of danger-detection I just go for it. My default is to trust people I'd say. I am writing it because I wouldn't mention safety-verification here, but I don't know how others have. Just to consider removing it.) 0. Contact the potential hosts 0. Wait for their reply 0. When they reply, get a notification @@ -68,6 +81,9 @@ Now, you have a home, you want to host travellers in your home: 0. Enjoy the new real world connection, enjoy their stay 0. After their stay, write a reference for them, and establish a friendship connection +[comment]: <> (just as a side note: referrences are not a mandotory component, in WarmShowers they were hardly used, other platform may have different trust systems for example based on existing connections or profiles in other social networks. +In Trustroots 'references' are called 'experiences' which I also personally prefer as 'references' seem to me a bit formal and like it was Linked-in or similar network. I belive the phrase 'references' comes from CouchSurfing but I never used it so idk) + --- In a more complex feature: diff --git a/next-steps.md b/next-steps.md index 56031e9..e80f8e4 100644 --- a/next-steps.md +++ b/next-steps.md @@ -5,6 +5,9 @@ - send messages to other members - post travel plans... - ...and members of various communities (even those you can't see) from the area will be notified, and can invite you + +[comment]: <> (the above seems hard... I'd limit it to others from your communities only?) + - connect to others - _create connectios_ with people you know `:me foaf:knows myFriend` (or a special hospex connection) - _write a reference_, to tell others about your experience with a particular member (social proof of safety)