Happy 2016! we thought we would share some of what has happened during the holidays (not all of us took a break) and what we have planned for the next few weeks. I would also like to welcome onboard a few more new dev team members; Adam joined us in December; @AndreasF came onboard this week and @Shankar will start in a few weeks time - Welcome to MaidSafe and the SAFE Network guys! So with almost everyone back at their keyboards and with extra dev firepower joining the team, we thought it would be good to share our plans for the next few weeks. Ultimately all these tasks are still focused on delivering RUST-5 and to enable community testing to begin.
As an aside all libraries are now able to work on Rust stable as opposed to nightly builds, thanks Adam for this one, long overdue and this will allow faster progress as we will not be chasing bugs or waiting on lib updates now. This will help everyone and also where you find rust installed our libs should all work without any hassle. A nice to have (and must for launch) as we move on.
##Crust - uTP : Vinicius / Peter / Spandan / David
You will have seen in a few of the previous updates that investigation and work on issues in the rust-uTP (Micro Transport Protocol - a reliable transport protocol built over UDP) dependency have been on-going, with good progress being made. Getting this right for Crust is important and will help people connect to the SAFE Network from anywhere with an Internet connection. We have decided to tackle this by using the same approach used during the Routing refactor, with four team members peer programming via a communal hang-out. @dirvine and @ustulation will be splitting their time here with other tasks so the main devs here will be @vinipsmaker and @Peter_Jankuliak.
##Crust - API : Andrew
Andrew is going to be working here to expose API connections to allow seamless connections (direct connections / hole punching) between Crust and Routing; combining TCP and uTP functionality that Routing can utilise. For just now this is the only task that will not be peer programmed, however @Peter_Jankuliak will be involved as he will be overseeing all the work that will take place in Crust and @vinipsmaker available answering questions and providing even more detail.
##Crust - RFC : On hold
Work on this task shall be put on the back burner as we focus all of our current resources into completing our outstanding RUST-5 objectives and to get to a minimum viable product as soon as we can, once we have accomplished this we can then revert back to making improvements and performance enhancements. Andrew has done a great job here so far and will continue to push this at every opportunity and with vigour when current crust has new API and passing tests (with uTP / hole punching).
##Routing - Vault Integration : Andreas / Brian / David
@AndreasF @brian_s and @dirvine jumping in here. They will be concentrating here on Routing integration with Vault and infact all the upper
safe_* libraries, by reviewing the PR’s and ensuring that these libraries are using Routing as we would expect it should be getting used. The guys will also document the current implementation, thus easing the learning curve and lowering the barrier to contributing to the library. We also now have Routing examples that operate the way Vault should interface and behave. One example being
ci_test which tests churn and showcases the storing and retrieval of the immutable data type, the guys can now use these to illustrate expected behaviour. The
ci_test currently serves as a proof of concept, but you need a pretty powerful machine to run this currently as the performance impact is pretty significant, the team are working to optimise the example so that it can be used as a valuable test against future changes, preventing or at least reducing the chances of future regression. This task will also allow @AndreasF an opportunity to familiarise himself the code-base.
##Vaults : Adam / Fraser / Qi / David
So again in a similar way that the team tackled Routing and will be working on uTP, Vaults will see Adam, @Fraser @qi_ma and @dirvine (he will be jumping between a few tasks) working daily together again with the proven peer programming method, to review and walkthrough Vaults, ensuring that it works with the updated Routing library. This will also introduce Adam to Vaults and be another set of eyes looking over the code, ensuring message flows comply with the RUST-5 requirements.
##Client - Launcher : Krishna / Spandan / Shankar
The Client guys @Krishna_Kumar @ustulation (timezone differences allow Spandan to work here and in Crust - he is a busy guy) and later joined by @Shankar will be working on implementing a RESTful interface for Launcher. The team is also working on testing on mobile, specifically Android and @Krishna_Kumar has demo’d a working proof of concept of the approach the guys are taking with Launcher on mobile and also with desktop browsers (Firefox and Chrome … Safari to follow), all of this will presented in an RFC which is expected to land in the next few days.
##Client - VFS Client App : Krishna / Spandan / Shankar
The same Client team are going to be working on implementing the only task that doesn’t tie back to RUST-5 objectives and this task shall deliver a Client VFS App. This Client VFS App will operate via Launcher and the purpose just now will be to test the network. It will be an app for Windows / OS X and Linux. It will not utilise Safecoin just yet, the primary aim is storage testing.
##Development Roadmap : Scott
@Scott has taken the initial design of the roadmap and it is nearing completion. The current iteration takes a form similar to a Gantt chart and will show network features and their dependencies. The connections between each feature will be shown visually on screen and the chart will be interactive where users can click into a feature to drill down into more information. Below is a mockup section of how it will look - this is not a finalised plan just an indication of how it it will appear, they are fleshed out from wireframes and not yet final. @Scott is also scoping out a suitable approach for mobile now too, more of this to follow.
So hopefully this will give you an insight into what we are planning over the next few weeks and we shall move back to the normal Dev Update cycle from next week. Also @Viv will be away getting married this month, so the office will be much, much quieter ;-). @ustulation must have thought this sounded like a great idea and is following @Viv 's lead and tying the knot in February - @dirvine joked “with a different wife we hope!” :-). @ustulation will then be moving to Troon to join us here at the MaidSafe HQ …I think mainly for the Steak bakes, it’s certainly not for the weather! We wish them all the best and will try not to break too many things in their absence, but ensure they have plenty to catch-up with when they return.
All the best guys!