Designing SAFE/Solid Social Networks

Are the high-level concepts clear to everyone?

The SOLID team recently released this resource to help developers to learn the concepts.

One of the core concepts is the ability to share data in a common way so that other users and applications can easily query for it and use it. The common way to define relationships between data points/nodes/resources and the resources themselves will be through RDF.

But what’s the purpose?

RDF technology is very powerful in setting standards on how to publish, classify or report information. Its strongest feature is the ability to share and publish data in an open way.
If you want to expose data so it can be easily consumed by other users, federated across different information systems, or linked by a third party system, it’s a technology without many viable alternatives actually.
ref

Of relevance to one of the goals of SAFE is this study of the application of graph databases to molecular biology (Spoiler alert: RDF was considered more ideal for this particular application. I know, “Confirmation bias”, but I’ve really not wanted to like RDF and I found this article with that mindset.).

The first component that is required to implement RDF is URI’s to define resources and relationships:

Human-EN: Pluto’s atmosphere is composed of Methane.
RDF: <dbpedia.org/page/Methane> <dbpedia.org/property/atmosphereComposition> <dbpedia.org/page/Pluto>

So our first step in SAFE is the ability to access and link to resources via XOR URL’s, soon to be an RFC, PoC presented here.

Once we have XOR URI’s on the network. We need know how to help developers compose RDF data. What do they need to comply with RDF on SAFE? How do we design the API?

We spoke with an application developer to start the process of learning what we need to provide to make RDF compliance easy. In particular, I’d like to connect with developers from the biological fields where RDF is already in extensive use, to receive their feedback and to find out how we may serve them.
Keep your eyes and ears out.

One advantage SAFE may have is that we may be able to provide the missing incentives for RDF adoption with proper marketing around:

  • Well-defined data and therefore highly shareable, searchable, and usable, can potentially earn more money for application developers.

Something along those lines. That may be the incentive that developers need to learn to think and code in Turtle or at minimum to not completely ignore RDF.

I don’t see lack of engagement. There’s been a lot of time and mental effort, not on my part, already in that regard.
What I see is a complex subject that is difficult to convey.
The Gitter chat can be highly academic at times and requires much contextual preparation to ask a useful question. Even when prepared it can be difficult to find answers to very practical questions.

That’s the point of this post then is to start to get everyone else, along with myself, up to speed so that we can engage more.
That was the partially the purpose of our PoC Patter app.

I’m wondering if we need to create our very own tutorial/educational piece on RDF and linked data over at DevHub?

22 Likes

That’s an awesome idea to bring it front and center!

10 Likes

Thanks Hunter. I don’t understand the lack of engagement for so long. Not wanting to knock you or the team here, I sense some defensiveness and that’s quite likely justified because I don’t see all that is going on. But I don’t understand why so much is hidden if so.

I’m presenting my impressions, understanding and experience. Mostly I’m the only SAFE/Maidsafe person posting and interacting on the Solid chats and on the internal Maidsafe Solid slack channel except when somebody has pushed for it to happen.

I’ve always had the impression that there was interest, discussion and research going on among the team, but that for some reason mostly just internal, and perhaps just within a small group. I hoped to see what that was when I was included in the new Solid slack a few months ago. I’ve learned a bit from having that access, but generally only when I’ve asked specifically for information, and I’m the only person who posts bits and pieces there as part of my research. It’s generally silent for long periods with me posting the odd thing.

Anyone can post in the Solid groups, any level of question, suggestion or idea. The visitors there range from absolute newcomers, technical and non technical, through to experts. All kinds of questions and discussions, and all are welcome, so I don’t recognise your description or accept that there’s something about what is acceptable in the Solid gitter that makes it difficult for anyone from Maidsafe to join in there. I recall the Maidsafe team saying they had struggled quite a bit with getting to grips with RDF at first. That was a surprise to me because I didn’t see anyone asking for help there. The Solid chat is there to help with exactly that. I used it while learning, but the team did so hardly at all in that period and only briefly since when ‘encouraged’ :slight_smile:

I realise that I can become the bad guy here and am afraid of creating a negative feeling around something that I want people to be enthusiastic about together. So I hope my frustration doesn’t have a negative impact - I’m not trying to undermine anyone and trying clumsily maybe, to help.

Maybe it’s me. Seriously. Perhaps the way I charge around and tackle this discourages people from feeling OK about getting more publicly involved? If so, I would like to know. Any feedback, public or private, is welcome and I will bear and deal with it myself. If my stepping aside or shutting up and giving space for others would facilitate other’s involvement etc I’ll certainly do it, or if there are better ways of working together, all suggestions welcome. I thought I’d been doing that while focusing on other things and that after DWeb in particular things might start to change, but I’m not seeing it.

I’ve learned an enormous amount about how to interact and work with people while here, but it is still something I feel unsure of and wonder if I tread on people’s toes without realising. So I’m still wanting to learn and improve.

So I’m sorry if I’ve been doing that in any way and hope we can all find ways to work together, build this and enjoy it at the same time.

EDIT: And as soon as I post this I see @joshuef has made a proposal to the Solid team to help developers get to grips with rdflib.js :slight_smile: Great stuff. Moaarrr, moaar!

18 Likes

I am looking forward to the day when I can create a feed for something like “Safe Network” + “Solid” and not just get some articles from medium, but also get recent forum postings and comments to which I could then potentially respond. I bring this up because I’m sure that I’m not alone in being overwhelmed with having to track multiple people, groups, and forums across the web. I’m also fairly sure that the Maidsafe team are quite interested in what’s happening with solid development … but because we are all drowning in the data of the net due to 1) how difficult it is to filter it, and 2) the complexity of the problems we face today and likely on into the future … it will take a larger and larger team of more and more highly specialised individuals to cope with it all and given humanities economic problems I suspect we are all up against the wall in terms of our attention span being fully occupied to the nth degree.

So I don’t think there is any lack of desire by the maidsafe team to look at what the solid team is doing - I think that, like most of us on this little blue dot moving rapidly toward the singularity - we are really all just on the verge of being overwhelmed with things that are demanding our attention.

As a liaison of sorts between the solid forums and maidsafe forums @happybeing I am certain that your sharing of information here from the solid forums is highly appreciated by all.

So thank you!

11 Likes

I think you’re doing great @happybeing and the discussusions may be more internal but the proposals, experimental presentations, as well as example apps are some of the fruit that is bearing from that. I popped into the gitter chat and was thinking of posting and I agree with Hunter that it seemed really technical and acedemic so I was a bit intimidated. I’m not exactly sure what I could contribute but I’ll come up with something worth discussing or at least share with them what JAMS is up to and how we plan on working with RDF if anything to show their work along with the SAFE team to make it most accessible has been the inspiration. Keep up the great work Mark and props for being so open and sharing your self awareness. As the kids say nowadays, you are “woke” :yum:

10 Likes

Thanks Tyler, I do feel my efforts are appreciated, no question, and the team have been incredibly helpful and supportive of that - so in many ways I get credit for things that they, and others here have contributed a lot towards. And I’m grateful for and want to acknowledge that.

I also agree with you that we are trying to track a lot and I do appreciate that for folk here, and for the Maidsafe team who are working hard, often on several things at once, it becomes difficult to hang out in several places and something has to give. Just don’t let it be this! :wink:

Today @JPL (supportive as ever, thank you John) took my concerns and jumped in to try Solid out by signing up for a Solid Pod (it’s free) and asked for help on the Solid gitter. If anyone wants to join him (us), head over to Inrupt.net and sign up. We could then figure out how to set up a Solid on SAFEnetwork discussion group using our Solid PODs and invite other Solid users to join us.

This would help us understand Solid, where their project is, where it fits wrt SAFE, what we can add, what we can borrow, and what we could build together. While learning we will be increasing awareness of SAFE and its great community, values, goals and capabilities with people involved with and learning about Solid.

How about it? Who will join @JPL’s SAFE Solid crew?

I’ve move the remainder of this post to its own topic, sign up and share your Solid WebID here:

@JPL maybe the posts below this should also be moved to the new topic?

10 Likes

Doh! I see what you did there. :wink:

I’ve just tried to sign up but it keeps giving me invalid username error-message … is there a trick to it? I was just using the same username I have here.

3 Likes

Thanks Nigel, you are kind and supportive as ever. :slight_smile:

Clearly this is an issue and I was very cautious myself to start with, feeling a lot of responsibly not to mess up early contact with Tim and his team. So I do get this.

I can say though it is not necessary!

If you or anyone arrives and behaves, and even if not tbh, you will be treated with respect. Any level of honest question, suggestion or idea will get a respectful welcoming response. They are almost as welcoming as us. :wink:

Some discussions are technical, so maybe people see that and think it’s all like that but it isn’t.

So put aside your fears and reservations. If you would like to get to know Solid and the characters there, jump in!

7 Likes

How can I join @JPL? I’m signed up with Inrupt as nkoteskey WebID is Nigel

These are ideal questions for the Solid gitter!

So I’m not going to help :stuck_out_tongue_winking_eye:

2 Likes

Agreed! Keep up the great work!

I think we just have to consider that maidsafe is a relatively small team, which is being pulled a lot of different ways. Your contributions to keep the torch burning are undoubtedly a positive thing, @happybeing!

6 Likes

Great push @happybeing. I’ve actually tried to register on Inrupt.net a few times over this week, and it’s just not working for me. I repeatedly get the error “invalid username” even after trying various combinations. Would you happen to have run into a similar issue and know how to get around it?

3 Likes

No sorry. I think Nigel is having the same problem but Hunter has registered at some point. I already had a pod elsewhere. I suggest you post about it on the Solid gitter.

1 Like

You can also try registering on https://solid.community/register. They’re using the same software AFAIK, so it shouldn’t really matter what provider you register a POD with.

1 Like

@happybeing I hear you. Thank you for being candid.

Just wanted to point out that I don’t see you as an adversary. We’re getting to know each other better and I think we’ll get more done this way. I find it relieving to be comfortable enough to have disagreements and talk about it.

Aside One day we'll have to enjoy a walk in the countryside. It's one of my favorite things ever. I've planned trips centered solely around walking. I still want to know what that white amphibian egg sac looking thing was that you found attached to a fence post.

There was dialogue between our internal team and the SOLID team about how to better introduce app developers to working with RDF and associated tools. At the time SOLID was looking for ideas from us on how to proceed because that was also a big question mark for them. The next step was for us to spend a lot of time developing and getting feedback from app developers, so that we could have further dialogue with the SOLID team. I’m not sure if you were aware of these meetings or not.

If not, then a potential part of the plan is that I can become your unofficial (official?) liaison to keep you updated with internal meetings? I’d be happy to do that because I think we collaborate pretty well over in the dev forum.

The next part of the plan is that I can start spending spare time (off the MaidSafe clock), getting more involved. But a big question is what to focus on?
I’ve been under the impression that it’s not useful for myself to learn how to build and work with SOLID servers and their process of authentication since those components are irrelevant to our work with SAFE.

My thoughts are that I’d like to get my hands dirty with RDF, building a somewhat complex data model to get my mind thinking more in graphs. I’ve warmed up to Turtle quite a bit and I want to play around it more. The third thing is that I want to learn SPARQL queries.

I can’t promise anything internally though until we have a meeting to discuss what amount of time we can allocate to his effort.

Is there a different goal that I should be considering? For example, building rapport with the SOLID community by knowing their stack in-and-out?
I think it’s too much to ask to try to convince SOLID people that they are building on a vulnerable stack and to move over to SAFE. They have different goals than us. Let me know your thoughts on that.

15 Likes

No errors just not sure where to sign in at or how to get things going from there, hooking up with @JPL’s efforts, etc. Registration went smoothly for me.

Might it be an idea to have some kind of working group? I am trying to stay updated as well to everything regarding the connection between SAFE and Solid. I have talked with @happybeing about it. (Other developers might be interested as well like, e.g. @Nigel.)

Most of my time now is spent trying to figure out RDF and the libraries that are produced by the Solid community. I have the same impression about not everything that Solid does being relevant for SAFE developers. If I recall correctly the Alpha 4 milestone will include RDF/Solid, so I hope we’ll figure out how we are going to figure it all out. :wink:

7 Likes

Thanks Hunter, I’m pleased about that because the last thing I want is to make things difficult or hinder anything, and particularly this! :slight_smile:

Big :+1: for a country walk, or a boat trip maybe :wink:

Re contacts, I’m aware of and was part of some, but what you describe sounds like something I didn’t hear about. It wasn’t reported on the Maidsafe Solid Slack so maybe it predated that. If you are willing to liaise that would be great, but it would save you time if things were just shared on the slack channel. So maybe check why that’s not happening first?

If it you want to spend your own time on this I think its important you spend it on what floats your boat :wink:. And what you described sounds very useful to me, especially as I think we need more Turtle fans to go up against Josh and his evil JSON-LD :laughing: I agree its not vial to know all the details of the Solid server stack (although on second thoughts examining the server code was how I learned what I needed to work with rdflib.js/Turtle and so on). Regarding Solid auth, we might want to create a variation on the Solid auth libraries that will ‘just work’ with SAFE (along the lines of what I did with rdflib.js so that SAFE Plume worked with SAFE - the part I didn’t do, but just hacked, was authorisation).

I also recommend you using the Solid chat to support anything that interests you. No need to have well thought out proposals or ideas or questions. Just ask what you need as and when, and through that mutual awareness and lots of unquantifiable benefits will just happen - which we can call ‘engagement’.

Thanks for receiving my comments so well. I enjoy working with you and find you and everyone else on the Maidsafe team a pleasure to work with, as well as being knowledgable, humble and I think it would be great to have more face to face contact when the chance arises. Although I am a bit of a recluse out on my boat.

13 Likes

Off late the decentralisation topic is growing in the gitter/solid channel and you have been voicing for SAFE all alone. I think someone from the marketing team can also be of some help here to speak for SAFE when needed (@dugcampbell @SarahPentland ). Your efforts there is much appreciated by everyone at Maidsafe.

From a technical perspective, I see that there is a gap in-terms of keeping our plans laid out in the solid slack channel. And as you pointed out the volume of messages had been low in that channel. Will sort these concerns asap as a team.

I would like to talk on behalf of the frontend team and share the plan/thought process we have ATM. Most of us would know that RDF is the base layer and SOLID sits on top. For us from the network’s perspective, RDF is very important and we will have to figure out the best means to represent in a decentralised internet. For which we have to put some thinking as a unit and bounce ideas between us. D-Web prototype was a starting place for us and after that we had points that we wanted to improve. Nevertheless, we also had good learning from that exercise. Only because of which @joshuef had the proposals for DNS representation in the internal discussions. And now, there is one proposal in the rdflib.js. Also the CAS URL proposal from @bochaco helps RDF representation on SAFE. We as a team believe that we need to contribute to get some engagement and eyes on our project. One of the major concerns is usability of the RDF tools. I don’t think the team struggled to understand RDF, however the team struggled to figure out how to make it usable and still we are struggling for the same.
That is when @bochaco and Paul were voicing and talking about different serialisation and how that might improve usability. The take away was to ponder more about JSON vs other Graph representation. Apart from that we have our immediate milestones too and thus we might seem to be slow in the RDF space. We will have to use the RDF tools more regularly as a team so that we can suggest on improvements or how to fit the same in SAFE. Right now, it is only few who are looking into it. @nbaksalyar @ustulation @ravinderjangra @AshwinKumar @lionel.faber might also jump in sooner, so that we have more people in the office looking at these and getting involved in discussions. We are getting there slowly to engage with the SOLID community by using the tools and trying to help by addressing the problems.

However, as I said we will definitely be vocal in the solid slack channel so that the plan and context is shared.
Thanks as always @happybeing, for all the hard work.

20 Likes

This is going up on my wall @Krishna and I shan’t hesitate to get it down and wave it at you. :stuck_out_tongue_winking_eye:

Seriously, thanks for the update. I was aware of all of that activity, just not where those internal discussions are (or the contact with the Solid team around that which Hunter mentioned).

So my point about this was really about how much of this is happening out of sight, how little engagement there has been in public with the Solid team (which left me assuming, incorrectly I see, that there was none after DWeb). And seeing so much going on in the Solid gitter now that Inrupt has launched made me worried that we were missing out on being a part of the ripples that is creating, and also the opportunity to develop shared visions with Solid and their community. Anyway I’m repeating myself, and you have promised :point_up_2: :point_up_2: :point_up_2: :point_up_2: :point_up_2: to work on that which is brilliant. I realise it is a big ask, and also that it won’t be easy, but I’ve said my piece and it has been taken seriously which is all I can really ask. Thanks for that. :slight_smile:

13 Likes