Solid on SAFE Updates

OK, I’ll have a think. Can you give me an idea of the kind of technical things you feel comfortable with, any things you might like to learn, and anything else that will help me identify suitable tasks? The most useful tasks right now are probably technical, although I need to sit and think a bit in case I’m just too focused on that to realise what else needs doing! I’ve been working on my own mostly for so long I’ll need to learn a new mindset.

I’m off on holiday this week, so I’m not sure how much time I’ll have to spend on Solid SAFE for a few weeks, so please bear with me and don’t be discouraged if I’m a bit slow. It’s great to have help, thanks very much.

Great update—much appreciated :pray:

1 Like

Hey @happybeing, thanks for the update. I have a basic question: what role does SAFE play in the Solid ecosystem? From what I understand, it’s to do with networking and storage and not the client applications, which means that this effort will lead to a SAFE alternative to NSS?


The Solid project is still focused on pod servers while also being open to providing alternative kinds of storage. But Solid is a protocol, based on very simple server side (LDP storage + SPARQL + WebID etc), so it is feasible to replace the backend (yes NSS) with something else, and my work is focused on that being SAFE, and making that as easy as possible.


Thanks for your response, @happybeing. So, from what I gather the fact that NSS uses filesystem for storage is an implementation detail in NSS and not prescribed by Solid, and so that implementation can be swapped for storage using SAFE. Is that correct?


By necessity you have had to be very focused on the technical deliverables otherwise we don’t have anything to package or distribute. However as you have rightly pointed out documentation for safedrive as a decentralised file system, safegit/plume & dweb commercialization requires both technical (which you understand) & commercial thinking/documentation (where I can best assist). This includes writing product type stuff (product, price, promotion, place), operating procedures (Quality business operating system), Origination/Licensing/partnership/funding Agreements … related to your tech stuff which given your progress is a necessary focus and mindset eventually.

What we are all doing is completely new so we all need to learn from each other and together as we go forward. Working on the complimentary documentation to commercialisation will enable us to understand each other’s requirements to focus/progress y/our deliverables.

It helps also if we have a common outcome to focus on to align our thinking, narrative and agree a common language/story, documentation, system /IT actions etc. This is where I think the safe://commons design path, which by necessity must incorporate safedrive as a decentralised file system, safegit/plume & dweb components as part of Quality Business Operating system (QBOS) to enable a mutual AGI strategy, could assist. This context could be the best way to define what I need to learn on the tech front and help you identify suitable tasks in the short term! I will need to PM my thoughts here due to confidentialities. Also happy to help with any opportunities you feel are key.

As we move forward we will need a way to share and manage safe://commons documentation. To assist this need I have established a Commons Central Library which will sit directly behind safe://commons(sense) with the following structure (which we can progressively improve)

i. Commons Central Directory - which is where we can place/manage our (commercial & technical) working docs and where they can be deployed as pre-defined product outcomes which are set up as a “Curated set of working docs & links that persist”. NB a “repeatable framework of terms and mechanism” is a key ODI definition of a data trust.
ii. Commons Central Binary Library – where we can put technical documentation associated with establishment and management of the binary library David has spoken of previously. If I understand correctly could this be a place where we provide a “permissioned centralised view/access” to a safegit (decentralised IP) library catalogue to assist overall network learning & ability for any Community to access improvements easily?

In the first instance we could use this to assist us and others who contribute.

I hope you have had a good break and this helps you get back into it. PS Is it still hot OT? :slightly_smiling_face:

I’m not interested in commercialisation from a monetary perspective, just to be clear. If you mean, helping others to use and build on what I create, then that might be termed commercialisation, but the term doesn’t imply that to me.

I’m still on my holiday (it’s cooler now BTW :sweat_smile:) but also working on Solid on SAFE, so if you are ready we can still progress ways you can help, and maybe get you started.

Documentation is going to be most useful for the APIs at this stage as there are no products, mainly proof of concept code and some demos. I think right now the closest thing I have to a ‘product’ is SafenetworkJS, although that is going to become unstable and could change quite a lot once Maidsafe rework the higher level APIs, so it’s a tricky time. I still think it would be useful to have someone working on the API documentation though.

Another area of less technical work that would help is in testing and documenting Solid on SAFE. So apps I’ve got going, what this means, how to try them out etc. Later, how to take an existing Solid so and get it working on SAFE.

I’m not sure these any of these will appeal to you, which is fine. In that case you are free to take any of my work and develop it in your own way of course. That’s the idea really :smile:


I translated the “Solid on SAFE a short update” in Bulgarian. It is a great pleasure to be alive during the time of such people as you Mark! :slight_smile:

Thank you very much for the work you do!върху-safe-новини-от-марк-хюз/


Thank you @Dimitar that is brilliant! I shall tweet it. Can you draft me a tweet for it? With a hashtag for Bulgaria. Wow, I’m very chuffed :smile:


Yes of course! However, I do not know what the hashtag is for Bulgaria … I do not use Twitter :frowning:

Cool, RT’d. I’d also love to be able to use your graphic on dweb blog with appropriate credit.

1 Like

Just say what size you want it and I’ll make it bigger. The size now is for Facebook :slight_smile:

1 Like

Solid on SAFE Micro Update

Despite being on holiday, or perhaps because of it, I’ve made some great progress this week. I’ve tested my libraries with three different apps, which is really encouraging because each uses different builds of the Solid on SAFE libraries in different ways, and each has a different workflow for login etc.

And a special mention for the incredible @Dimitar who has translated my recent Solid on SAFE Update into Bulgarian! And he made the graphic above which I have stolen :grimacing:

Surprises coming from all directions this week. Thank you very much Dimitar, you really are an incredibly helpful and hard working chap.

Solid Apps and Libraries

I now have three libraries that enable a Solid app to work on SAFE, including using a SAFE WebID via the experimental drop down in SAFE Browser.

These apps are all virtually unmodified, and can be deployed as is on either Solid/web, or SAFE Network:

  • Plume blog - as before, but now getting author info from your SAFE WebID profile and logging in using Solid only code (no SAFE specific hacks)! (github).
  • Solid Filemanager - view, create and edit files at any SAFE location. (github)
  • Solid IDE - view, edit and test your web apps / web pages directly in the browser using ace editor (with syntax colouring, and key bindings for popular code editors). (github)

And the Solid on SAFE Libraries I support are:

All of which use SafenetworkJS to talk to SAFE using a Solid LDP interface via fetch() and/or rdflib.js Fetcher.

Getting a Solid app working on SAFE can be as simple as replacing the Solid library with the Solid on SAFE equivalent (and crossing your fingers :wink:).


Nice work @happybeing. Are these apps available on SAFE? Can they be uploaded to the live network using web hosting manager or are they still at the mock-only stage?


That’s the next step. Anyone could have a go, but but for most people it’s probably best to wait because of the need top get dependencies right. Or if anyone wants to go ahead I’ll be on hand to identify and fix any problems.

My plan is to upload each app and test it, then write some blog posts introducing the apps, libraries, and explaining how to use each app, how to get a Solid on SAFE etc.

I have a list of deployment tasks and post titles, but it will take me time so if anyone wants to help that would be brilliant.

One way to work will be for me to get an app uploaded, and then for someone to take on the task of testing that, learning to use it, and writing the corresponding blog post (see blog post topic list below).

In case anyone is interested in helping with the tasks or blog posts, here is my draft plan jotted down yesterday (obviously written for me so not intended to be self explanatory, but hopefully enough to get an idea of what is involved)…

Deploy Demos Tasks

Deploy demos of solid-filemanager , solid-ide, solid-plume-sac

  • solid-ide preparation remaining
    • use SAFE drive to upload ~/src/editors/ace/ace-releases/ace-1.4.5 to safe://ace-1-4-5-src-min
    • update links in code, samples-safe for:
      • solid-ide home URLs / defaults (search for all http)
      • review the ‘welcome’ text an have it list the files of solid-ide itself, plus easy way to get to safe-samples
      • use SAFE drive to upload ~/src/editors/ace/ace-releases/ace-1.4.5 to safe://ace-1-4-5-src-min

NOTE: include bundles needed separately with each app so can update independently:

  • update bundles and links to local ‘dist’ for:
    - solid-filemanager
    - solid-ide
    - solid-plume-sac

  • upload with SAFE Drive:

    • solid-filemanager to safe://??
      • test with ordinary SAFE WebID
    • solid-ide (upload ./samples-safe but NOT ./samples) to safe://
      • test with ordinary SAFE WebID
    • solid-plume to safe://??
      • test with ordinary SAFE WebID
    • solid-web-id-manager to safe://??

Dweb blog post topics:

These are just a quick first list. It’s a lot so might be good to rationalise and shorten somehow.

1.0 Solid on SAFE Demos (summary post showing the demos with links to):
1.1 How to view Solid app on SAFE Browser (include gotchas re logging in / selecting WebID) links to next
1.2 Using Solid Filemanager, Solid IDE and Solid Plume on SAFE (step by step, gotchas, what doesn’t work/help welcome)
1.3 How to view Solid app on SAFE Mobile Browser (Android / iOS)
1.4 How Solid on SAFE works (link to next and ‘epilogue’)
1.5 How to put a Solid app on SAFE yourself (link to ‘epilogue’)
1.6 ‘epilogue’ status (alpha2), further work (on individual apps and SoS), what’s coming with Fleming

If anyone fancies taking something please reply on this topic saying what you are thinking of helping with.


Happy to help if I can :slightly_smiling_face:


it’s really not a work, it’s an honor! If anyone sees what SAFE is doing let him know - making money from your favorite project is nice but it’s better to help more people find SAFE.

Every little step we make today is a great step for all of humanity in the future… It is an honor for me to be able to walk alongside people like you Mark and everyone else here who is fighting for a better world… :slight_smile:


Happy to try and help here with writing and learning how to use it.

I agree with yr “helping others to use and build on what I create” commercialization definition comment. As I see it … commercialization from an individual perspective in a “mutual” environment means exactly what you said …helping others to use and build on what I create rather than the current “extractive” system commercialisation definition.

A "mutual "commercialisation perspective from a community perspective such as the safe community can be described as “people helping people” or supporting each other to create a mutually beneficial outcome. Commonssense :slightly_smiling_face: suggests that part of mutually “helping people use what you/we create” is making it so easy that any person or community can simply pick it up and use. If we collectively/mutually have the skills we may well get it right now (both tech and other stuff) rather than be reliant on/hope some other developers can work that stuff out later which will means delays and leaving it to happenstance !! This is the idea of the mutual dataplume strategy/method.

Will review the Dweb blog post topic over the weekend and go from there with lots of questions.:smiley:


Hi Happybeing, thank you for all you are doing, very much appreciated :+1:t2:

Could you explain in short how and where Solid and Safe have synergy and where they have a competitive overlap?

Would really appreciate it!


I’m not sure I can easily, as I don’t think in terms of competition here. The projects have very similar values and goals. The solutions have some overlap and some differences. Solid on SAFE is an attempt to take the strengths of each project and put them together.

So from Solid that’s linked/semantic data, decoupling ownership of data from apps while making apps interoperable with each other’s data.

From SAFE that’s true decentralisation to the max, security from the ground up, censorship resistance, anonymity, a radically democratising economic model for developers and users, and commerce using a built in massively scalable, anonymous, energy efficient digital cash. There’s more, such as data in perpetuity, but I’m running out of breath!

Hope that helps.