Community

MaidSafe Developer Conference 2017

If someone would have told us that our first developer conference would be held 7,500 miles away from Troon we would most certainly not have believed them. However, on the 20th of February, in conjunction with our partners at MaidSafe Asia, we found ourselves Fairmont Hotel in Jakarta hosting MaidSafe Devcon 1. With a population of 300 million Indonesia is one of Asia’s most populated countries. With a thriving developer scene and a highly motivated populace, Jakarta, the country’s capital, proved to be an excellent location.

Short note about MaidSafe Asia

We first announced the intention to set up a joint venture in 2016 and we are now delighted to be able to confirm that the agreement has been signed off and the entity MaidSafe Asia has been incorporated in Singapore. As a quick refresher, the intention in setting up this partnership is to enable MaidSafe UK to focus on developing the network, scale the development team and support developers on the platform. MaidSafe Asia’s priorities are to raise awareness, reach out to developers and generally market the technology. In fact, the name MaidSafe Asia maybe somewhat misleading as we start to discuss extending the area in which the new entity operates. This is a fluid situation and we will keep everyone updated as things progress. Anyway, back to the conference.

Different attitudes

The conferences 250 attendees came from all across Indonesia with some groups even travelling from Singapore and beyond. Many of the developers were freelancers, but also included those working for companies, and some very eager students.

During the morning session, Nick introduced the high level concepts of the SAFE Network and issues with the existing Internet, and the problems caused by it’s current centralised architecture. David spoke later during the morning session, describing MaidSafe’s vision, and the benefits the platform will offer to developers.

David explains the vision

David explains the vision

Nick describes centralised threats

Nick describes centralised threats

 

What struck us speaking with local people both during and after the event was the different attitudes that both users and developers have toward data security. Both of these issues are becoming of ever increasing importance in the UK and Europe, but these concerns are not shared to the same extent in Indonesia. Developers in Indonesia are more excited by the prospect of being able to compete with large technology companies using SAFEs costless infrastructure, and the concept of Safecoin was something that also seemed to resonate, with many liking the built in revenue streams that it provides. Monetisation it seems is a more significant factor.

CoinPayments

After presenting at the main conference, David and Nick went to speak with members of the press and were joined by Coin Payments CEO Alex Alexandrov. Coin Payments, a partner of MaidSafe Asia, are the largest alt coin payment processor in the world, processing in excess of $50million of transactions per month and have 132,000 vendors across 182 different countries. Processing over 55 alt coins, including of course MaidSafeCoin, the company have been great supporters of the the SAFE Network and are great advocates of our technology. They have also created their own MaidSafeCoin wallet and offer secure coin storage via their vault. You can find out more on their website.

Getting down to business

By the time that Krishna’s developer workshop started in the afternoon session, the polite and shy audience had lost any inhibitions, and became animated and engaged as Krishna explained the networks data types, the core concepts behind the APIs, before going on to showcase the developer tutorials that have been created. It was evident from the questions that followed Krishna’s first afternoon session that the audience had taken much of the information on board.

Developers put Krishna through his paces

Developers put Krishna through his paces

Krishna explains the APIs

Krishna explains the APIs

 

Krishna’s second session focussed upon the current transition from our REST API paradigm, which while being language agnostic does not cater well for mobile devices. REST demands that the devices hold state which is problematic given the fact that mobile devices automatically disconnect from networks after very short periods. Explaining our current transition to an SDK, he gave an overview of the plans for the next few months, specifically the transitioning of the existing example applications and producing new developer documentation.

After the closing remarks the event finished with much hand shaking and more questions from the attendees whom it cannot be emphasised enough where some of the most friendly conference attendees we have ever had the pleasure to meet. It was also great to see so many female coders, who, while still outnumbered by their male counterparts, were as well represented as we have seen at any recent conference we have attended.

The following day, David and Nick gave filmed interviews with CNN Indonesia. The interviewer politely confirmed our suspicions that Indonesians are not as concerned as we are in Europe regards security and privacy of data, but are very much interested in the sharing economy and the desire to contribute to a crowd sourced Internet. Maybe in time attitudes will change, although maybe they won’t have to as the SAFE Network continues to roll out and starts to deliver the security and privacy many Britons and Europeans value so highly.

Developer Case Study – Dsensor

Decentralized Mapping Protocol Project – Dsensor

Continuing our series of case studies highlighting early stage application development on the SAFE (Secure Access For Everyone) Network, Dsensor is being developed by James Littlejohn. James explored various platforms to store and protect the data he would be collecting and decided to use the SAFE Network, because it reflected his belief that the network should not be driven by economics, but be focused first and foremost on the data.

MaidSafe’s fully secure, decentralised approach supported James’ view that knowledge or data should be in the complete control of user. While it is early days, Dsensor’s use of the SAFE Network APIs in its proof of concept form shows its potential as a viable platform for the management of data. James was also attracted to the SAFE Network, because of its strong encryption, and its ability to break data into chunks before scattering it around the decentralised network of nodes. This ensures the highest possible security and privacy for users when combined with the decentralised architecture, which avoids offering hackers central points of attack on a network, as we experience in today’s centralised, server-based model.

Being open source and supported by a strong community in the SAFE Network forum also means James has ready access to experts and potential partners, who can help to build out the application and trouble-shoot any technical questions. In the future James may also explore using safecoin to incentivise participation on Dsensor.

The Problem with Science

James Littlejohn has been involved in entrepreneurial projects since the dot com boom and while investigating opportunities around text mining identified an opportunity for lifestyle linking analytics, particularly in the area of wearable tech. In the course of his evaluation he recognised a broader application to data mining and analysis in the field of scientific and academic research. James assessed a number of drivers, including emerging technologies and changing economic conditions, which were beginning to have an effect on the way research was conducted.

Firstly, walled garden applications such as Facebook and wearable technologies were becoming more prevalent, and while they were a rich source of data on human activity, access to that information was restricted. At a time when the internet is supposed to be democratising many aspects of work and social life this is endangering an important source of information on lifestyle and health patterns, which could benefit societies around the world.

Secondly, the sustained economic impact of the financial crisis was creating significant pressure on public funding for research at a time when it was needed more than ever. Technology and the availability of large amounts of data is leading to opportunities for breakthroughs in a wide variety of academic and research fields. If the funding is not available via traditional public sources then there is an urgent to find new forms of investment. The rise of alternative cryptocurrencies could potentially address this point, offering a new, fairer way to incentivise and reward individuals for participating in research projects. For example, James envisages a scenario where the grant funder might ‘tokenise’ a percentage of their funding money and issue it via a science blockchain (like Dsensor). This would help to ensure the funding could be traced directly ensuring good governance of scientific research projects and fairer access to resources.

The final driver for a new model reflects an on-going debate about the model of peer-reviewed scientific research. For a number of years there has been a recognition of some fundamental weaknesses in the model in areas such as the replicability of research. In a poll conducted by Nature in May 2016 more than 70% of researchers admitted they had tried and failed to reproduce the experiments of other scientists and more than 50% failed to reproduce their own experiments. Of course this is in part due to the nature of frontier scientific research, which is reliant on trial and error, but there are clearly inefficiencies in the process.

Furthermore, there are questions about efficiency of current research models – in 2009 Chalmers and Glaziou identified some key sources of avoidable waste in biomedical research. They estimated that the cumulative effect was that about 85% of research investment – equating to about $200 billion of the investment in 2010 – is wasted. A blockchain provides a potential solution to this reproducibility crisis as Dr. Sönke Bartling and Benedikt Fecher outline in their paper, “Blockchain for science and knowledge creation.” Although scientific research should be delivered at arm’s length from the individual contributors it is ultimately reliant on individual scientists to gather and interpret data without bias. It is also often reliant on finite data sets, controlled samples or clinical trials, thus limiting the ability to cross reference the findings against other data sources.

Given the availability of data via the internet and the rise of automation technologies, such as machine learning, James believes that if individuals have control of their information they can decide to contribute their information to research projects without the interference of third parties such as academics or technology providers. Using automation scientists, academics – and more importantly citizen scientists – can draw data from anywhere in the world beyond the confines of a specific controlled sample and review independently to provide a data driven outcome.

Building A Blockchain for Science Research – A Truth Engine for Mankind

James’ investigation of text mining approaches led him to peer to peer models, which were enabling the owners of data to take control of how and with whom their information was shared.  

It led to the development of Dsensor.org (Decentralized Mapping Protocol), a peer to peer network for science knowledge to be investigated, discovered and shared. It has been based on the principle of science “SenseMaking” and it is designed to evolve peer review to a computational consensus model.  Using Dsensor if a scientist creates a thesis and wants to test it the scientist enters the hypothesis in computational form (called a Dmap in Dsensor speak) . The Mapping protocol then automates the testing of the science, starting by trawling the Dsensor network for relevant data from other peers. That data is then sampled and ‘scored’ based on its prediction power to verify or challenge the thesis until a computation consensus is established.  Science attaining this status then becomes ‘computationally active’ in the network meaning any peer has the ability to tap into the collective knowledge and feed in their own unique sensor data get the insights from the science working for them.

James has the ambitious goal to become a “truth engine for mankind” ensuring science is based on openness, transparency and reproducible results, essentially checking the accuracy of peer review.  Dsensor intends to deliver this outcome by building a network of trustless peers, which has inherit vast complexity making it economically and technically very costly and difficult to corrupt.  Dsensor, currently at proof of concept stage utilises  the Ethereum blockchain, using its cryptography and a variant of the proof of work process to create a technological and mathematical state where even with colluding computers it is impossible to game the system.   Rather than creating complexity using a proof of work Dsensor creates uncertainty using random sampling, in particular the selection of peers from the network and data sampling techniques.  The data sampling techniques are selected by each autonomous peer and the network sampling is a property of the Protocol for selecting peers from a Distributed Hash Table. In theory once the network gains a certain size the economic cost of gaming the network with false sensor data to support a fraudulent scientific computation will become extremely costly.

Additional safeguards include the role of reproducibility in science.  This creates an immutable audit trail or “mapping accounting” entries that support the most truthful science available to the network.  These networks are called GaiaBlocks and are open to be challenged by any peer on the network.  Scoring of the science also provides a rating model for scientific research and individual peers on the network.  Peers with poor outcomes will be demoted in favour of more highly rated scientific computations.

 

Glocalization of Internet Freedom

For the first week of March several hundred internet freedom activists from all around the world gathered for the Internet Freedom Festival in the Las Naves collaborative space in Valencia, Spain for a wide variety of sessions addressing tools, policies and perspectives within privacy and security on the Internet. Trainers, developers, journalists, technologists and those simply curious to learn from 76 countries traded perspectives and skills while forming bonds to continue collaboration post-festival and strengthen support for each others work. Previously named the “Circumvention Tech Festival”, the event organizers placed a strong emphasis on creating a safe space for open collaboration without compromising privacy and identity for those attending at the risk of local oppressive governments learning of certain individual’s attendance. A strict no photography rule was set in place in addition to the Chatham House rule (not referring to identities in referencing quotes or points individuals made) for note taking and general future discussion of the topics presented. Attention was also put on meeting other attendees through prioritizing sessions with discussion and collaborative activities. Session topics ranged from threat modeling through holistic risk analysis to community networks and the process of flashing routers to build a mesh. The entire festival offered a beating pulse of local perspectives on digital privacy and security while simultaneously highlighting the need for global collaboration in regards to building tools, advocating policy and strengthening communications within this community and beyond.

The concept of “glocalization” which permeated throughout the event was perfectly introduced to me in the first session that I attended at the festival; Glocalization for Noobs: How to Design Tools for a Global Audience where panelists discussed and advocated for integrating the process of translation more tightly into software development. They discussed the translation of software going beyond localizing text and taking into consideration the entire user experience from perspectives of various regions. While many products are marketed towards specific areas, most software is used globally, or at the least have potential for wider adoption and would benefit from the review of testers in various locales. Importance on focusing attention on region specific points of view continued throughout the event where a handful of meetups dedicated time to discussing the state of Internet security and surveillance in Latin America, Africa and the Middle East. Sessions also incorporated this focus recognizing and addressing the particular hurdles of regions. The session Network disconnections: Effects on Civil and Trade Rights included a short presentation on the regular disruptions in internet access people in Pakistan face and subsequent research followed by a general discussion about the broader topic of region-wide disruptions usually due to political pressure and what policy and economic arguments can be made in opposition. Other sessions focused on the general sense of considering global communities and allowing respective perspectives to be shared together. Privacy Across Cultures was dedicated to a discussion on what the impact of privacy and its absence has meant in various cultures beyond freedom of expression and focusing on more long term effects.

Beyond the diverse cultural representation at the event, there was also a wide array of representatives from tools, new and old. In one workshop session titled Deploy an emergency Libre-Mesh network with local services, we formed in small groups and flashed routers with libre-mesh to form a p2p network. It was one of the fastest and most simple efforts of flashing a router to build a mesh network that I’ve ever experienced – it took about 30 minutes total for all 7 groups (with a range of familiarity of flashing routers) to connect with each other. If mesh networks are something of interest to you or your community, I highly recommend checking out libre-mesh. Additionally, one of the evening’s featured a tool showcase of 15 technologies ranging from a service called Stingwatch for detecting and reporting locations of Stingrays (fake cellphone towers used by authorities for tracking individuals) to the more well known Freedombox (security and privacy focused software for personal servers). Unfortunately, I was not privy to this portion of the event beforehand and not aware of the status of the MVP launch, else I would have loved to participate and demo the SAFE network to the crowd. Alas, I was able to do so in a more intimate setting for a session of it’s own. Having attended the festival with the intention of presenting a more general session on improving communications on network topologies and ownership infrastructures (based on previous explorations of the topic), I was able to join several dozen others who created “self-organized” sessions which were added in the schedule as the week progressed. This session was much less interactive other than various questions from participants but because we have software to show now, I was able to finish the presentation with a successful demo of the SAFE Launcher and example app to a crowd for the first time!

Overall, the Internet Freedom Festival was a huge success from a personal perspective by highlighting a variety of topics from technology to communications and diversity. To achieve true internet freedom worldwide, we must consider localized efforts and understand that needs vary from region to region by listening rather than assuming. Digital security training has expanded throughout the world and understanding the array of obstacles that regions face will help us build better software. I feel confident that the SAFE network will be a strong example of building a diverse, global community (as we see it happening already) but also appreciate the strong reminder that this will happen much more efficiently if we put effort towards diversifying our perspective. While the MaidSafe core team has a regionally diverse team itself, community-based development and translation efforts will continue be essential if we want to make SAFE a truly global network. I really look forward to attending Internet Freedom Festival again next year with a proper SAFE network up and running while expanding my understanding even more to make the network accessible to more people (and hopefully capture a few other team members to attend as well).

Strengthening Communities And Building Clocks Together

As the social media storm around Ahmed Mohamed and his clock exploded open in support of the 14 year old maker last week, it seemed like everyone was sharing a positive story about DIY and hacking – so to keep the momentum going, I’ll throw another one out into the mix. MaidSafe holds the concepts of curiosity and creativity very dear to our hearts and promoting them is an integral part of the MaidSafe Foundation. This foundation is a non-profit that has existed for just about as long as the company and has accomplished several milestones thus far. Many may not be aware of this part of MaidSafe’s mission as our efforts have been heavily focused on the company and developing the SAFE Network software. The Foundation was formed when MaidSafe’s founder, David Irvine, decided to give all his shares in the company away to a newly formed charity dedicated to promoting “freedom and facilitation for everybody to learn, to innovate and to contribute their unique talents to make our world a better place”. Thus, the Foundation is the largest shareholder in the company and as the network launches, the amount of resources at the disposal of the Foundation will increase, helping it to realise more of its goals.

In particular, one of the Foundation’s core interests is focusing on the promotion of fab lab’s (aka fabrication laboratory) to foster a more decentralized and inclusive approach to making and learning. They are typically modest spaces which house various tools and resources for producing DIY projects. They exist in many forms around the world as community spaces within existing buildings or fixed standalone structures and even in large vans or trucks which allow temporary placement for events, or to share between communities. Some tools found in fab labs can include milling machines, 3D printers, laser cutters, sewing and embroidery equipment, electronics assemblies, etc. Fab lab’s create spaces for localised manufacturing which allow children and adults to learn skills together while facilitating a more open and intimate approach to learning. A lot of the time fab lab’s are found as part of hackerspaces which have the effect of bringing together people interested in hardware with those focused on software development to collaborate and learn from each other.

Much of today’s manufacturing is limited to factories created for mass production and while these tend to reduce overall cost by optimising for quantity and a reduction of skilled labor, it also creates a society which loses touch with the creative process of making and reinforces dependencies on central corporations. The inherent learning process in fab labs promotes idea sharing and open specifications, and while the open software movement has a thriving and ever expanding community, open hardware is behind. The cost of physical materials, tools and distribution present a unique set of challenges and overhead which generally require more capital and investment when compared to building software. Given an Internet connection and a laptop, almost anyone with a drive to learn can make use of online resources to start developing a better messaging, clock or health tracking app. Making software available to the world is as simple as uploading applications to a website or an app store. On the contrary it is a much more difficult process to bootstrap a hardware project such as a better smartphone case or a lower-cost prosthetic arm because the various tools used to create a single product are usually large and expensive while the cost of duplicating and distributing the product add up to even more. That’s not to say manufacturing isn’t on it’s way though, as we see with the growth of 3D printers of varying costs over the last decade and an increasing number of fab labs around the world housing basic tools for entire communities to make use of.

An interesting project aiming to break the cycle of mass production in favor of open specs and local manufacturing is KORUZA, a low cost wireless optical system providing 1Gbps networking connectivity for points up to 100m apart. These devices offer an alternative to WiFi in situations such as mesh networks where a density of points can cause radio interference problems. More generally, optical connections can offer lower cost means to extend existing fiber cables by removing the need to dig underground and obtain associated permissions for such. KORUZA is completely modular and is designed for DIY manufacturing using tools found in fab labs. The Slovenia based organisation behind its development, IRNAS is taking a step further to facilitate the creation of low-cost open hardware tools needed to build KORUZA and other open hardware projects. Their GoodEnoughCNC machines series aims to provide a micro-factory for around €10,000, consisting of a 3D printer, Plasma cutter, CNC Mill and Laser cutter which are in active use at kreator lab, a fab lab in Maribor, Slovenia. A highly recommended overview presentation of KORUZA and GoodEnoughCNC was given at this year’s Wireless Battle of the Mesh and also mentions an interesting collaboration project between several organisations for improving documentation of open hardware projects called DocuBricks. By removing the cost of distribution and empowering local communities with low cost tools, we can begin to see how the open hardware movement can facilitate a shift in perspective on economics and accessibility in manufacturing.

Spaces like these also have the power to strengthen community and understanding by bringing people together with common interests from different backgrounds to learn from one another. Children in particular could use a wider variety of alternative environments for learning which break the mold of the traditional education system. It is very unfortunate when a kid is shamed for their curiosity based on judgements founded in fear and prejudice. Several signs point towards an obvious observation: officials in Ahmed’s school in Texas made a biased assumption because of his race as a result of the general post-9/11 focus on terrorism in the Middle East. Perhaps the town of Irvine, Texas could use a fab lab of their own to facilitate opening up such closed-minded perspectives. Bringing people of all ages together around common interests would help facilitate in dismantling prejudices which lead to people fearing their neighbors. We look forward to continuing our efforts with the MaidSafe Foundation to create spaces which help to break down barriers, overcome borders and strengthen trust within communities around the world by facilitating a DIY culture and learning from one another.

Furthering An Open Internet with Open Wireless

To build a completely secured and decentralised Internet infrastructure requires looking at the problem from many angles and on many layers. Currently, MaidSafe focuses on decentralising the Internet on top of existing networking layers using as many modes of connectivity as possible such as WiFi, or Ethernet to connect to the SAFE Network’s global, peer-to-peer Internet. It is extremely important for individuals using the network to have access to such connectivity methods thus it must be an area of consideration. That is not to say MaidSafe is looking to build these protocols, we have our hands full already, but rather support efforts already in development which align with our mission to decentralise the Internet for everyone.

Of these connectivity protocols, the most compelling is called mesh networking and is based on peer-to-peer connections between devices like routers, computers and smartphones. The basic principle of mesh networking comes down to removing dependency on single access points like a home routers by directly connecting them to other home routers or devices which relay traffic. In the chance that a home router is no longer able to connect to the Internet, traffic will route through the connections of its neighbours. Alternatively, situations exist where ISPs or governments take aggressive measures to censor communications by blocking access to the Internet and having p2p connectivity allows communities to use local services independent of the greater Internet. Disaster scenarios also present justification for having p2p infrastructure in place for reliable communication.

Various organisations are pursuing the design, development and implementation of mesh networking infrastructure and the efforts of community mesh projects are particularly inspiring because of the conditions in which they tend to form and sustain themselves. For a majority of the people in these communities, sheer drive to bring Internet connectivity and the resulting access to knowledge to neighbours and greater community is a driving force. Interest in profit is rare and most groups are comprised of volunteer engineers and community organisers. By recognising the alignment in creating a censorless Internet, we can see the direct relationship between mesh networking and a secured, global communication and storage network like SAFE.

However, given the mesh protocols that exist today, the general consensus between these communities is that privacy should be considered for layers above. While decentralisation can increase overall security by removing a central point of control, it is not enough and a mistake to assume inherent security in decentralised systems like mesh networks. By building secure layers above, MaidSafe is in a position to offer a solution to security problems of these communities in a way that compliments the general ethos of decentralisation.

It is often the case in these networks that VPN servers are used to protect the node operators in the network from potential legal consequences of others using their Internet. Additionally, servers in various countries are used to circumvent censorship such as the situation in Germany where many YouTube videos are blocked and the only way to view them is accessing YouTube services from a proxy server outside of the country. Decentralised, secure technologies like the SAFE network can be used to remove this need for a server completely. Even more exciting is that storing data on SAFE and accessing it through a mesh network enables possibility to bypass the use of the IP protocol completely. By having complimentary efforts such as mesh networking and SAFE, we can begin to see a digital world with much less opportunity for central control in large corporations such as existing ISPs and cloud hosting providers and much more freedom for the individual users.

The Ants Are Coming!

It is fair to say that MaidSafe have been fairly quiet in our communication of late, not a complete radio blackout, but certainly low key. This has been intentional on our part. Communication can lose its meaning and impact if you shout about every little thing. We like to keep our powder dry, as they say.

But, now we have something meaningful to convey!

I want to bring everyone who is interested up to speed with what we have been doing during 2015, specifically the past three months, which have been some of the most transformational in MaidSafe’s nine-year history. We do make weekly dev updates on the community-run forum, but these can be pretty technical, and not everyone can get a full picture that way. So I will try and condense these points into as limited an amount of technical language as I can muster.

Rather than starting in early 2015, however, we will start this post at the present day. (I’m a sucker for Quentin Tarantino films and it will hopefully make for a less laborious post!)

Early(ish) on Friday (26th June) morning, the tireless MaidSafe dev team managed to get the SAFE Network functioning from end to end. This means that a User is able to self-authenticate (create their own username and password, and access the network without the permission of a third party) using the Authentication API via the SAFE Client. During the process, the network’s transport/connection layer (Crust) connects the peer nodes, allowing Routing (the layer that verifies the identity of each node cryptographically) to establish and maintain connections to other network nodes (for more information on how all the components fit together, please visit our wiki). The clients were also able to PUT (store) and GET (retrieve) data.

This is a phenomenal and long-sought achievement for everyone at MaidSafe, and is truly a major milestone ticked off. Yes, we have had an operational network before, but never one so stable, efficient or lacking in complexity. This lack of complexity is a very good thing and something of a personal mission for David. A significant reduction in the lines of code (from hundreds of thousands to a few tens of thousands!) not only enables new network features to be added much more quickly, it also makes it easier for bugs to be spotted and for other projects to utilise our code, much in the same way that we have employed the code of others. Open source collaboration is truly a wonderful thing to be a part of!

This new chapter in our development progress all started back in early February when David, again desperate to reduce complexity, spotted a pattern in the code, a repeatable and describable pattern that kickstarted the simplification of the decision-making logic within the Vaults (the series of processes that help look after all data on the network) and also improved network security. You can read David’s detailed blog post about it here.

Soon after, heavily frustrated by the speed at which we were developing in C++, we started looking into ways to speed up development without a reduction in code quality, surely the holy grail of software development. After much research, David became increasingly convinced that a new systems-level language, Rust, had something to offer. In his spare time (between about 2 a.m. and 5 a.m.) he started transposing one of our most complex libraries, Self-Encryption (the component that seamlessly splits data into smaller chunks and encrypts them), over to Rust, which at that time wasn’t even in Beta yet. This was very successful and fast! David followed a similar process with MaidSafe’s Routing library. With another successful test complete our development team was split for a few weeks while the core team remained in C++ and another team started transposing the rest of the code.

This was a risky and scary time. To split the dev team at a period when we were under significant pressure to produce a stable network seemed counterintuitive. But thankfully, going backwards to move forward paid off, and without this change there is no doubt in our minds that we would not be where we are today. It is not the intention to go into detail here about how and whether Rust is better than C++. For debates on that subject you can check out some of the threads on the forum and elsewhere. I think that is a debate as contentious as GPL vs MIT, or even Borg vs MacEnroe, fun to debate but don’t expect consensus any time soon. All I can say is that it’s working for us and allows us to iterate quickly, be more defined with our tasks and be more definitive with our timescales.

During this time we also realised that we needed to be more third-party-developer focussed. And that doesn’t mean being more open with our development process; we’re pretty open already. Rather, it means organising our libraries in such as way that they can be picked up and used by any third-party developer without being heavily coupled to other libraries. In addition to whatever assistance this gives to other projects in the open-source community, this helps Project SAFE in two specific ways: first, allowing external use of these discrete libraries helps validate their functionality in a variety of different projects; and, second, it allows us to demonstrate, at a library level, that each component of the network carries out its desired function.

So, beginning in late April we started to release each of the component libraries as console apps, essentially providing the libraries functionality with a text-only interface (such as terminal in mac and linux, or the command line on Windows) rather than a Graphical User Interface. The first console app was Self-Encryption, and since that time we have also released Crust and Routing. All MaidSafe libraries are published on crates.io, where a stable release of each library can be used by other projects, and dependencies known (dependencies are the other programs that the library relies on to run). This process is not only useful for third-party developers, it also gets the MaidSafe team into a habit of delivering working code regularly and in a routine way.

We have found that this more modular and more approachable way of working has led to many more developers committing code to the repositories, and it is valuable code. Such is the desire for this network, and also the desire of people to try Rust. We will accommodate these desires and pay anyone who contributes to our code sprints, starting from this upcoming sprint (we will update everyone on the bounty scheme next week on this blog). We anticipate this will give us better code faster and with a more engaged and willing community, the impact of this cannot be underestimated. This is an area we will work hard on, to ensure the community is well-rewarded and recognised for contributions, as we feel they should be.

So, now that we have a running and more stable network than we have ever had before, what next? What does the future hold? Well, we can look to our roadmap for the answers. In the very near future (in the next couple of weeks), we will be releasing installers to enable users to download and run a SAFE Network locally on their individual computers. Beyond that our next development sprint will start week commencing July 6th (probably lasting for around three weeks) and though we are still mapping out specific objectives, this sprint is likely to consist of some or all of the following:

  • Further implementation of safecoin (some work here has already started)
  • Implementation of messaging infrastructure
  • Remove Transaction Managers (reduce complexity, code and increase security on the network)
  • Implement App Launcher infrastructure (enables secure login to third-party apps without the App Developer getting visibility of a User’s credentials)
  • Implement cross-platform/cross-network/multi-protocol network connections (everyone can run farming Vaults at home or in any network)
  • Implement POSIX disk interface (any app can treat the network as a local hard disk)
  • Implement public names and shares ( SAFE version of www, email, DNS and more)

From there we should quickly (hopefully within 2 sprints) see the delivery of Dev Bundle 2. This iteration will provide a network where Farmers can start to contribute resource and have this measured, where developers will be able to access and utilise stable APIs and start to build applications that everyone can use. These apps might be simple at first, such as encrypted messaging and data storage apps, but in a short space of time will have the potential to develop into anything that can be done on the existing web and beyond. We will possibly split out Dev Bundle 2 on the roadmap so that some of what is currently listed will become Dev Bundle 3. This way the deliverable of each feature focussed sprint will be an updated bundle.

So, this recent development milestone is hugely significant and we are very close to delivering the SAFE Network, something that the world would seem to need even more than it did when David started this journey nine years ago. We will continue to keep you all updated via the forum and this blog.

Thanks all, for your continued participation and support.

SAFE Network Roadmap

Keeping stakeholders updated with development progress is vital, but can be a difficult to thing to get right. Not only is development of large projects complex, particularly when they span across multiple libraries, but trying to communicate the nuances of development to an audience of varying technical ability is not without its challenges.

When pulling together the latest version of the SAFE Network roadmap, which can be found here, we wanted to show how all the libraries fit together, but also try to do so it in such a way that the deliverables at each stage of release are clear. For example, as you will see we are nearing the release of Dev Bundle 1 which will provide each users with:

  • Cross Platform (Windows, OSX, Linux) desktop Installers
  • Network (Crust, Routing and Vaults), running on external nodes
  • Remote client access and account creation
  • Simple vaults – LAN only
  • Initial Farming Rate data storage mechanism
  • Communication through TCP
  • NFS REST API exposing persistent remote storage

This means that third party developers will have access to a stable API that they can use to store data on a Local Area Network, a network that users can access via remote clients using TCP.

Dev Bundle 2 will see a significant number of new features added, such as: test safecoin, enhancements to our transport layer with UTP and the commencement of UI based applications. As we continue to iterate through each new release, we will add these to the rolling development roadmap. Please keep referring back at regular intervals to check progress, and for those looking for detailed updates we would recommend continuing to read our weekly dev update posts on the forum, as well as monitoring our Jira dashboard during development sprints (we have currently just finished a sprint and are about to get back into planning, hence the finished status of the current dash board).

It is worth noting at this point that the object of each new release will not necessarily be to add new features to the network. Some will be to improve the efficiency of the code base while reducing technical debt as we move forward.

The roadmap will be made interactive in the coming days, providing overviews, explaining the purpose of each library, while also providing direct links to the example applications for each. The different approach (in comparison to the last version) used when compiling this roadmap marks MaidSafe’s move to a much more modular development approach, reducing the coupling of components and dependencies where possible. This is to enable non specific SAFE Network libraries to be picked up and easily used by other projects.

Those that read our weekly development updates will also know that we have appointed primary and secondary maintainers for each library so that third party developers know where to go should they have specific questions. Each maintainer is listed at the top of the appropriate GitHub readme. This change allows knowledge transfer to accelerate from David to the MaidSafe engineers. Each library maintainer (and secondary maintainer) are now responsible for that library (or module) and this accountability and responsibility allows the engineers to grow and develop each part of the network. We anticipate this will allow for much greater community participation while also enabling a pace of development that has, until relatively recently, eluded us.

So hopefully this roadmap achieves what it set out to do; provide a snapshot and high level summary of our progress, articulate our delivery and ongoing plans, while showing how each of the network components come together to make something much greater than the sum of their parts.