SAFE Network Dev Update - February 7, 2019

Cool update,
There will be a special place in hell for those who do not plan ahead thoroughly…

What am I missing here?


Maxwell is the step after Fleming in the roadmap.


Ooops - I actually stopped looking at the roadmap cos I was telling myself " They are working as hard as they can. I’ll take the updates I see weekly and leave it at that"

Thank you :slight_smile:


Come on Fleming…:muscle::+1:t2::innocent:


There is a feeling after reading all this that Fleming will be slowed, you (kind of) have control of your data but not entirely and if certain steps are either made or not made, it could serverly impact adoption of both individuals and companies based on cost. While a finer tuned project is always great, from the layman side most of that sounds like not a positive outcome.

This is post Fleming, Fleming will have no data. It is a routing only network to show, sharding, abft, chains etc. Basically a secured autonomous network foundation. Maxwell will follow, where we can add in functionality we already have in code and tested. That part is where the work is going with part of the team right now to confirm all there will be smooth. So the Fleming work is very much backend driven, which allows the front end guys to focus on what comes next and can we do those next parts quickly and in a managed fashion. We are all looking forward to getting to a more timscale driven roadmap. I hope Fleming answers the last of the big unknowns, except perhaps for upgrades. But I think we have some great ideas there as well.


Okay, this update is dividing me emotionally. There are some really exciting things in it but also some things that concern me. Let me iterate through these:

Very delighted to hear that! Also very exciting to hear that you have found a solution to potentially make PARSEC fully asynchronous. :slight_smile:

Maybe it’s just me but as an excited +3 year follower, after many emotionally ups and downs I currently feel a little bit confused and lost on what’s left to be done in terms of really huge unknown problems to solve. I think this comes mainly because of phrases like these, that might stir up wrong expectations (from the introduction post of PARSEC):

Maybe let’s analyze the big milestones, mentioned on the timeline:

  • Integration of PARSEC in a dynamic permissionless network
  • Introduction of Disjoint groups with secure message relay
  • Enabling disjoint groups to merge and split whilst maintaining consensus
  • Secure Message Relay
  • Integration with SOLID

Is this a complete list of major items that need to be finished in order to launch FLEMING and if so, what is the level of “unknownness” of these items?

The second part that concerns me is the somehow heated discussion about Appendable data. I have the feeling that we decide here on very big structural changes although we have very little insight in how the network evolves once it is launched and how it will be getting used. Even if you include the community here on this, we are still a very small group right? As an alternative way I would suggest the following path:

  1. Put all resources behind launching a first iteration of the network
  2. Once it got some traction, introduce some kind of node/user voting technique (similar to bitcoin)
  3. Let the members of the network decide on such major design changes
  4. Iterate network versions through “hard forks”

I don’t know how feasable that is but it certainly would support the decentralized paradigm which I think in the end unites us all here.

That being said…maybe after all it turns out that I’m too impatient and we’ll have a more detailed timeline soon?

Still, until then it would be very interesting to hear your thoughts on my questions / suggestions.


These are all done (SOLID is ongoing). The last big thing we need to finalise is network upgrades. These are likely to start with
a forceful mechanism and evolve to fully network aware upgrades. That does not stop the launch, but makes it easier I feel.

These are not big structural changes, at least not from our perspective. It is cleaning up what we have and hopefully making that clear, which we have not made clear enough so far, as the discussion show.

Hope that answers your questions?


Thanks David for the fast response!

With “done” you mean done, in terms of conceptually solved (no unknown left) but still needs to be implemented?

Okay, thanks, then I might have misinterpreted this as well.


By done I mean already in code and being tested :+1:


Takes me back to school and peching my way along at cross country…

Thanks for nuttin, pal

Just kidding…

1 Like

Not a bad idea but isn’t this how it used to work BEFORE you guys created a seperate dedicated dev forum? So you had one forum where everyone was together, devs and community alike, and then you split it into dedicated areas and now you want to bring them back together again. Does that about sum it up?

Yes I think having the devs work along side the non techie folk is a good idea. That being said I think more emphasis should be put on tutorials and say that SAFE Acadamy project that was proposed awhile back. One of the problems I’ve had with the updates is a) Too many acronyms (without any reference to definitions) and b) a lot of skipping over details. There’s a lot of references to projects and terminology that doesn’t get defined. That’s fine if you’re a dev but if you’re a newbie or someone who is in the middle somewhere definitions are important, even if all you do is link to a glossary at the bottom (Do we even have one of those?).


To add to that
We need a sticky that shows the latest versions of the browser, Web Hosting Manager (took me a while to work out WHM)and other projects like SAFEDrive with working links to the downloads.


This project desperately needs a “public editor” whose job would be to stay on top of these kind of information links so important to public perception, understanding and confidence. Constantly scanning source material (MaidSafe web pages, official forum posts, etc.) searching for reference material in need of updating or clarification would be the main task.


Mmmm I think we have @DGeddes for if I’m not mistaken. Also, how is malice detection going? Still being tested or are more forms being implemented? In IDEAL conditions, roughly how far would you say we are from flemming? @maidsafe

Months, Half a year, etc?

Wow, I might have to pull back a bit on my guestimate of Fleming by the end of June. Great work to all the Devs

I hope youre not right with this timelime

Hope for short timeframe, but be prepared for longer.


Maybe the answer is to split the updates too, rather than try to cater for to many different needs in one post or one forum.

For example, a short weekly update that mentions the areas being worked on, any notable things to report, and ends with a short summary of the road map, and finally a proforma section of definitions that make it possible for anyone to understand what is referred to above. At the very end, a suitable ‘here be dragons’ link to the latest…

… longer, less frequent (bi-weekly?), in depth technical update.

BTW @Blindsite2k, don’t assume devs understand everything in the updates. Some might but I certainly don’t, and I often skim sections. Over time I’ll grasp more, but also forget areas, so for me it is useful to have stuff posted that I don’t understand. It is an easy way to learn when you don’t need to understand something right away: just read every week and let it soak in.

This is a very good idea IMO. I’m supposed to be a clever Dev :joy:, and the difficulty of knowing where the downloads are, and which versions are needed for each other, or for a particular feature has wasted a lot of my time every so often, even though I’m fairly rigorous at keeping notes and maintaining a list of releases I’ve downloaded. When to use NODE_ENV, and now whether to set it to dev or test adds to the problems. I do it right the first time, but when I come back to something after a couple of weeks break I find it hard to know where to start and will forget about the incantations, or how they’ve changed.

I do keep notes of what I’m working on but they don’t always capture all the nuances and can become unwieldy when I try to. I work on many different things, and they tend to have subtle differences or pitfalls, for me anyway.

I think things are stabilising and becoming more consistent, but I think Willie’s suggestion would help, particularly for those who haven’t got used to the complexity of developing in Nodejs, or multiple platforms, or just the roles of the different apps being provided to help us evaluate and develop. It must be even harder for those wanting to try stuff out.

As a Dev I can’t always keep what I’m working on in a state ‘anyone’ can easily pick up, so I understand there will always be hurdles in the way of the eager, and we have to understand that too.

I want to add that what I’m seeing is both very exciting, impressive, and coming together into what I believe will be a superb user experience. I wish I had time to play with more of it, especially the Solid and RDF aspects, but I’ve bitten off other big things and they take all my SAFE time atm.


Maybe we could kill two+ birds with one stone and create a glossary wiki to include links to the latest versions where appropriate. Anyone who doesn’t understand an abbreviation or technical term could make a request for a definition, and someone at MaidSafe whose on top of the latest releases could ensure the latest version of the software is always listed and linked.