Today we’re releasing the updated SAFE Network Roadmap - or, more accurately, a Project Plan. We’re going to use this post to give a further explanation of how we’ve approached this task and also to discuss how we intend to use and update this information moving forwards.
Let’s start with the obvious statement. The SAFE Network is a vast project. It involves building backend infrastructure (network/platform) plus a range of front-end/user-facing elements. On top of that there are differing constituent parts (such as data types, RDF compatibility, etc.) that are required but not tied to major network release milestones.
This presents us with a number of unique challenges given the different audiences that look at the Roadmap to decipher further information about the project. Over the years, we’ve experimented with different ways to communicate this information effectively, both internally and to the wider community. This is not without its challenges: some methods work well for many whilst simply confusing others (such as heavily detailed Jira tasks that speak volumes to practicing software developers whilst appearing alien to those who only need a 30,000-foot view).
Therefore, from today the information will be shared as follows:-
1. Overall view of backend roadmap (GitHub project board)
Contains a summary of key pieces of work required in a kanban-style (i.e. the further to the right you go, the more current the work is). The chunks of work are contained within columns which relate to key network release milestones.
Let’s start with SAFE-Fleming (PARSEC, Node Ageing, Dynamic Membership, Secure Message Relay, quic-p2p). Much of this work is done and you can see what remains in the column. With this release complete, we’ll then be moving on to the next milestone release.
During this time, we’ll be using Preview Network(s) to test new features. The purpose of these Preview Networks will be to let us test out new frontend and backend features that would otherwise be incompatible (i.e. breaking changes) if they were to be introduced to the current live network (i.e. Alpha 2) or the network in progress (i.e. Fleming).
This means that there will likely be different Networks live simultaneously in the future - but we’ll explain this in further detail when we reach that stage. From a higher view, the next key thing will then be the introduction of Upgrades. This means that we’ll be able to upgrade the Network incrementally, without having to ‘break’ it each time.
2. Overall view of Frontend/UX roadmap (GitHub project board)
The parts of the Network that the SAFE user interacts with do not neatly fit within the key milestones (Fleming, Maxwell, etc.). Whilst there are dependencies (e.g. the release of Test Safecoin to use the Wallet), this work can continue in many cases in parallel with progress by the backend team. So we’ve separated the frontend and backend roadmaps to avoid confusion.
Rather than basing this board on kanban principles, we’ve instead grouped features in columns according to key themes (Perpetual Web, Private Communications, Take Control Of Your Data, New Digital Economy). Over the coming weeks and months, we’ll be digging further into what each of these themes means, some of which have already been shared on the website.
3. Task level board showing the most immediate tasks (GitHub project board)
This board provides a slightly more detailed view for those who are interested. Alas, we still can’t give timescales for the work that hasn’t started yet. Even if we attempted to do this, there are so many interdependencies between components that future work inevitably relies on the progress of current work. In other words, any estimate is just that - a guess. However we do have much greater certainty about the work that’s currently underway - and this board is intended to represent that, and includes any other maintenance work in progress. Using this board, at any point in time, anyone can see the schedule and expectations for the next few weeks. After that time, the certainty will inevitably start to reduce.
Hopefully by providing this view, people reading the Dev Update will be able to understand more clearly how the work carried out within the last week relates to the overall progress of the project.
4. 30,000 foot view of Roadmap across entire Network (safenetwork.tech website)
This is not being released today. Some of you may have seen our current thoughts about how we intend to portray this (thanks for the spoiler @nigel ) but we don’t want to confuse people at this stage who feel that they need to understand the details that we’re presenting today. We are however, looking to get this out to you all in a short period of time, once we’ve taken on any questions that you might have from the documentation you can view today. We’ll then be translating that into a more user-friendly, higher level view that will appeal more to the non-technical, newcomers to the project.
Timescales
Let’s address the elephant in the room. Timescales. When will Fleming/Maxwell/Beta/Full Launch be? We categorically cannot give dates at this time. We do not know this with any certainty - which provides us with two options. First, we pick dates out of the air. The only thing that is certain if we do this is that these dates will be wrong. Or second - we don’t provide dates but greatly improve clarity for everyone about the shorter term, whilst using the knowledge gained from delivering the most immediate tasks to consistently improve the detail available around tasks that are further down the line.
We’ve chosen the second. This will never make people happy (ourselves included at times!). But alas it’s a bit like harassing a pregnant woman to have a baby faster. Creating a human is something that’s happened billions of times throughout history and (thankfully!) we’ve got a few precedents to work from. Building the SAFE Network is without precedent. There isn’t anything today that exists with the scope and vision of this project. This isn’t simply releasing a SaaS product or an application that will sit on top of a public blockchain. The interaction between all parts of the project provides its own challenges and it’s our job to break through these with unflagging determination until we achieve our vision.
We remain hugely thankful as ever for everyone’s support. The code, as everyone knows is open. It’s crucial that this will always remain the case so that if anyone wishes to contribute to the Network or indeed to work on achieving the SAFE vision more quickly, there is an opportunity for anyone to pick up the code and press ahead. But in the meantime, we will continue moving forwards and we look forward to moving towards the SAFE Fleming release.