Software Foundations of the P2Pvalue platform
Following on from the post about Building the P2Pvalue Software Platfom, here is the full deliverable of the D3.2: Report on the Software Foundations: Adaptations, Design & Development.
Below you can read the executive summary as well as the embedded version of the report for ease of reading, it is available here as a downloadable PDF and, like all project deliverables, it is available on the dedicated page
This document presents a report of the technical work done for establishing the software foundations for the P2Pvalue platform. Its purpose is to fulfill the goals outlined in the DoW Task 3.1, which can be summarised as:
- performing a Privacy by Design analysis in order to ensure that privacy and data protection rules are embedded in the design and development from the start
- providing a framework to facilitate the development and execution of thirdparty apps on top of the platform
- a development effort that would assure that both the FLOSS software components used and the platform architecture provide the required scalability, performance, robustness, federation and other basic features for the subsequent development of the P2Pvalue platform
In addition, this report serves as evidence of having achieved milestone M3.1: “Design of platform agreed”.
These goals have been largely accomplished. The main change from the DoW expectations has been the move towards a Lean Design approach and subsequently the drop of the FLOSS Kune as the base platform for development, and its replacement by the FLOSS Apache Wave (which Kune is based on).
The causes and consequences for this change involve multiple reasons and a series of advantages, such as being able to provide responsive web design (i.e. both web & mobile support); bottomup and organic growth of the platform features (according to the Lean methodology); maintenance of the core features of federation, realtime edition and gadgetsupport provided by Wave; reduction of the complexity of the codebase managed; agile development approach and user engagement within the process; and others.
Since that moment, the development team has been following the Lean Design and the Scrum agile methodology as complementary approaches, with short development cycles (814 days), strong involvement of CBPP practitioners in the process (through workshops, interviews, mockup user testing) and design sessions (user journeys, minimum viable products).
The Privacybydesign analysis was performed directly on the Apache Wave platform, after close collaboration between the CNRS and UCM teams, and including an analysis of security risks. On the other hand, the development of thirdparty apps (Wave Extensions named “Gadgets” and “Robots”) was significantly facilitated after the improvement (bugfixes, implementation of missing API functionalities), documentation (expanding Apache Wave Gadgets official documentation), and the release of sample implementations for a diversity of features.
The software adaptations performed have included several major bugfixes for Apache Wave (increasing scalability, performance, robustness, federation capabilities). Besides, the P2Pvalue platform architecture extends and adapts the underlying Wave Model in order to work with different types of collaborative content and not just conversations as all the other Wavebased projects have done.
Following the Open approach of this project, the development team has contributed to several FLOSS Projects (Kune, Apache Wave), has published all P2Pvalue prototype source code in public repositories (Gitorious, Github) under a FLOSS license, and is using just FLOSS, open standards and open formats for both internal coordination and development. Besides, it is developing in the open, that is, with public tickets, commits and documentation.