Minimum Viable Product
Abstract
WikiDeal is a collaborative platform, much like Wikipedia, aiming to revolutionize contract management. Users can access, modify, and personalize contract models and clauses for a variety of agreements. The platform emphasizes decentralized ownership, allowing users to collectively govern and contribute to its evolution.
The software development challenge for a Minimum Viable Product (MVP)
The proposed project scope cannot be solely implemented on the MediaWiki platform.
While MediaWiki excels in collaborative text editing and knowledge creation, its design, geared towards openness, proves inadequate for handling electronic signatures, private data, and sensitive or confidential content. The platform lacks official support for splitting access to content on a per-page basis, making it insufficiently secure for documents of a legal nature, such as contracts. Storing personalized clauses globally in the central database would significantly escalate the requirements for the database server. It is imperative not to store personal data on the wiki, including actual values of sensitive contract variables or real contracts. The above factors render the signing workflow on the wiki side unattainable.
What we can do, however, is utilize MediaWiki as a repository for clauses and contract models, with an integrated interactive contract prototype builder. This tool should enable users to pass variables, configure options, preload predefined sections and clauses, and select additional clauses from a designated "bank." Users should also be able to adjust the ordering of these components. The system will generate a dynamic preview of the contract, incorporating the selected clauses aligned with the contract model and substituting dynamic variables with values provided. It can be printed as is on the fly. The resulting text will not be stored or edited on the wiki.
Users can then request the resulting text in an editable format. This can be achieved by programmatically facilitating wiki markup as, for example, HTML via the MediaWiki API and sending it to a separate instance application. Further processing and import format will depend on the instance application specifics. The primary role of the instance application is to work as an interface to the contract prototype builder and import the resulting text into the application, where users can freely edit and securely store the document, which is accessible only to them.
WikiDeal caters to two primary user groups: those involved in creation (contract and clause models) and those utilizing the platform for building actual contracts. Exactly like on Wikipedia (editors vs readers). It remains open since anyone can become an editor. Established workflows for content discussion, consensus achievements, legal verification, and approval will probably allow us to keep the wiki open for anonymous editing, with the appropriate spam-combatting workflow.
Due to MediaWiki software specifics, the data not to be shared, such as personalized variables, adapted drafts, actual contracts, etc., shall be stored on the external instance application side.
So, the whole project can consist of two main parts:
- The wiki. Open to the community. Focused on creating contract model collections for different deals, countries, and use cases (and in multiple languages, maybe). Allows standard contract construction and printing. Even anonymously. It is already a considerable project.
- The instance application. Self hosted, personal or shared (like within an organisation). Allows editing, storing, signing and handling personalized copies of contracts generated using the wiki. Can implement the peer-to-peer signing workflow. Not MediaWiki. Independent, no MediaWiki account is required. Can connect to different WikiDeal instances (federated, decentralized).
Key features
Also see: Key Features
- Contract Models: Templates for agreements open for community editing and discussion.
- Clauses Customization: Users can manipulate legal clauses to ensure adaptability and compliance.
- Contract Creation: Users select models, input variables, and personalize contracts, saving them in different formats.
- Negotiation & Signing: Contracts go through negotiation phases with different statuses (e.g., draft, signed).
- Post-Deal Support: Reminders, automated payments, and service activation/cancellation based on contract terms. With plans for a proof of concept and MVP, WikiDeal envisions a community-driven space fostering innovation in contract management. Feature nice to have on the MVP, or will be done in a second phase :
- Decentralization: Contracts are stored locally for privacy; proposals for decentralized solutions for organizations and individuals are in place.
Additional features in the pipeline include personalized contract styling, external contract creation tools, and true peer-to-peer contract creation, aiming for a transformative impact on how contracts are created, managed, and executed.
Planing
- Preparing and submit the MVP proposal to NLnet (done, not to be funded) NB : all key-features for the Wikideal Minimum Viable product being interdependant, they will be developed in paralel, together, following the same planing.
- Users Needs analysis with experts.
- a) Design activities: developing basic wireframes to visualize the layout and flow of the MVP and defining user stories to outline the expected user interactions. Including meeting to design and adapt:
- usecase scenarios
- mockups
- workflows
- development rules/structure (such as metatada/ontology principles)
- b) Studying the code of existing mediawiki extensions before developing, about 10-20 extensions out of the 1'447 existing ones, such as:
- Approved Revs,
- Cite,
- CommentStreams,
- Data Transfer,
- Expiry,
- External Data,
- OAuth,
- Mpdf,
- Page Forms,
- PageOwnership,
- PageProperties,
- ParserFunctions,
- PerPageLanguage,
- SemanticMediaWiki,
- TemplateData,
- VisualEditor,
- TemplateData,
- Wikibase (Wikidata client),
- WikiSEO
- and perhaps some others.
- a) Design activities: developing basic wireframes to visualize the layout and flow of the MVP and defining user stories to outline the expected user interactions. Including meeting to design and adapt:
- Ontology planning: defining metadata scheme for clauses, contract models, and helper data objects like user manuals, guided tours, etc.
- Development activities: implementing the core features identified in the earlier stages.
- Testing individual components.
- Release the MVP to a limited audience or beta testers to collect feedback and monitor its performance in a real-world environment.
- Iterate Based on Feedback: Analyze the feedback received and make necessary improvements.
- Track key performance indicators (KPIs) to assess the success of the MVP and guide further iterations.