From f3db7bc5653cb2686fc5bdc62770718b468f0815 Mon Sep 17 00:00:00 2001 From: fryorcraken Date: Thu, 12 Jun 2025 21:40:18 +1000 Subject: [PATCH] Review dates and estimates --- 2025H2-summary.md | 45 +++++----- draft-roadmap/README.md | 90 ++++++++++--------- draft-roadmap/incentivisation_follow_up.md | 8 +- draft-roadmap/integrate_rln_with_waku_api.md | 5 +- .../streamline_dev_ex_local_dev_rust.md | 40 +++++++-- 5 files changed, 113 insertions(+), 75 deletions(-) diff --git a/2025H2-summary.md b/2025H2-summary.md index b612307..06426cc 100644 --- a/2025H2-summary.md +++ b/2025H2-summary.md @@ -30,19 +30,20 @@ Strategy changes: | Milestone Headline | Strategic Objective | Capacity✱ | Business Val (0/10) | FURPS | |-------------------------------------------------------------------------------------------------------|---------------------------------------------------------|-----------|---------------------|--------| -| [Define Incentivisation for RLNaaS](draft-roadmap/define_incentivisation_for_rlnaas.md) | Logos Vision: Core Values Alignment | 0.25 | 7 | FURPS_ | -| [Improve DevEx: API, TWN, Metrics, Docs](draft-roadmap/improve_devex_api_twn_metrics_docs.md) | Logos Movement Community Enabling via Dev-X + Telemetry | 1.5 | 10 | FURPS_ | -| [Introduce mixnet for message sending](draft-roadmap/introduce_mixnet_for_message_sending.md) | Logos Vision: Core Values Alignment | 0.33 | 4 | F___S_ | -| [Formalize and Expand Waku Web Apps](draft-roadmap/formalize_and_expand_waku_web_apps.md) | Logos Movement Community Enabling | 0.25 | 7 | FURPS_ | -| [Create Chat SDK MVP](draft-roadmap/create_chat_sdk_mvp.md) | Logos Movement Module Build Out | 1.5 | 8 | FURPS+ | -| [Integrate RLN with Waku API](draft-roadmap/integrate_rln_with_waku_api.md) | Logos Movement Module Build Out | 0.83 | 9 | FUR_S+ | -| [Streamline DevEx: Mobile, Rust and Web dev](draft-roadmap/streamline_dev_ex_local_dev_rust.md) | Logos Movement Community Enabling via Dev-X | 0.5 | 7 | FU__S+ | -| [Extend Chat SDK with Group Conversations](draft-roadmap/extend_chat_sdk_with_group_conversations.md) | Logos Movement Module Build Out | 1 | 8 | F_RPS+ | +| [Define Incentivisation for RLNaaS](draft-roadmap/define_incentivisation_for_rlnaas.md) | Logos Vision: Core Values Alignment | 0.4 | 7 | FURPS_ | +| [Improve DevEx: API, TWN, Metrics, Docs](draft-roadmap/improve_devex_api_twn_metrics_docs.md) | Logos Movement Community Enabling via Dev-X + Telemetry | 2.1 | 10 | FURPS_ | +| [Introduce mixnet for message sending](draft-roadmap/introduce_mixnet_for_message_sending.md) | Logos Vision: Core Values Alignment | 0.7 | 4 | F___S_ | +| [Formalize and Expand Waku Web Apps](draft-roadmap/formalize_and_expand_waku_web_apps.md) | Logos Movement Community Enabling | 2.1 | 7 | FURPS_ | +| [Create Chat SDK MVP](draft-roadmap/create_chat_sdk_mvp.md) | Logos Movement Module Build Out | 2.1 | 8 | FURPS+ | +| [Integrate RLN with Waku API](draft-roadmap/integrate_rln_with_waku_api.md) | Logos Movement Module Build Out | 1.7 | 9 | FUR_S+ | +| [Streamline DevEx: Mobile, Rust and Web dev](draft-roadmap/streamline_dev_ex_local_dev_rust.md) | Logos Movement Community Enabling via Dev-X | 1.2 | 7 | FU__S+ | +| [Extend Chat SDK with Group Conversations](draft-roadmap/extend_chat_sdk_with_group_conversations.md) | Logos Movement Module Build Out | 1.4 | 8 | F_RPS+ | | [Incentivisation Follow-up Outline](draft-roadmap/incentivisation_follow_up.md) | Logos Vision: Core Values Alignment | 3 | 7 | TBD | -| [Nim Usage Improvements](draft-roadmap/nim_usage_improvements.md) | Logos Movement Community Enabling: Dev Journey | 0.33 | 5 | FU____ | -| [BD - Acquire first 10 customers](draft-roadmap/acquire_first_10_customers.md) | Logos Movement Community Enabling: Growth | 0.75 | 7 | N/A | +| [Nim Usage Improvements](draft-roadmap/nim_usage_improvements.md) | Logos Movement Community Enabling: Dev Journey | 0.5 | 5 | FU____ | +| [BD - Acquire first 10 customers](draft-roadmap/acquire_first_10_customers.md) | Logos Movement Community Enabling: Growth | 2.1 | 7 | N/A | ✱ Capacity: How may people assigned in a 6 months window. +- 3.5 are applied across all milestones (Franck, Aaron, 1/2 Hanno, Tanya), 1 cc is awol. ## 🧩 Strategic Benefits Realisable from coming Half-Year (Top 5) @@ -85,9 +86,9 @@ TODO: update | Strategic Objective | People | |--------------------------------------|--------| -| Logos Vision - Core Values Alignment | 3.58 | -| Logos Movement Community Enabling | 3.33 | -| Logos Movement Module Build Out | 3.33 | +| Logos Vision - Core Values Alignment | 4 | +| Logos Movement Community Enabling | 8 | +| Logos Movement Module Build Out | 5 | ### Budget Consultation @@ -111,13 +112,14 @@ TODO: update ## ⚠️ Keys Risks Identified & Controls -| Risk | (Accept, Own, Mitigation) | -|-------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------| -| Cryptographic primitives in Nim | Expect to nim-wrap existing Rust/C libraries - will consult with Vac to lean towards libraries already used in Nim/IFT ecosystem. | -| Timeline uncertainties for research items | Focus on iterative delivery of usable deliverables, to get early feedback and direction and lower cost of failure. | -| Nim ecosystem and tooling maturity | New initiative to foster Nim community within IFT, work closely with Vac/Nim re tooling, block time to migrate to Nimble. | -| RLN UX | Integrate in web apps, continue dogfooding and iteration, close collaboration with Status. | -| Readiness of status-go for Chat SDK integration | Weekly sync up on chat sdk and status-go refactoring topics between Waku and Status teams, collaborative planning done to align goals and API. | +| Risk | (Accept, Own, Mitigation) | +|-------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Cryptographic primitives in Nim | Expect to nim-wrap existing Rust/C libraries - will consult with Vac to lean towards libraries already used in Nim/IFT ecosystem. | +| Timeline uncertainties for research items | Focus on iterative delivery of usable deliverables, to get early feedback and direction and lower cost of failure. | +| Nim ecosystem and tooling maturity | New initiative to foster Nim community within IFT, work closely with Vac/Nim re tooling, block time to migrate to Nimble. | +| RLN UX | Integrate in web apps, continue dogfooding and iteration, close collaboration with Status. | +| Readiness of status-go for Chat SDK integration | Weekly sync up on chat sdk and status-go refactoring topics between Waku and Status teams, collaborative planning done to align goals and API. | +| nwaku performance in Status/Chat context | benchmarks are still wip, we are prepared for potential performance improvement needs in mobile context, as it is a critical point for Status application. | ## ✅ Key Observations @@ -129,4 +131,5 @@ TODO: update - Increasing collaboration between research and engineering teams, to ensure early unblocking and neat wrap-up of items. - The "Waku (Messaging) API" was initially a tidy up task, as Waku was already integrated in Status. With a focus towards Chat SDK and growing a developer community, it became an urgent-important item. - Intent to continue internal hackathon initiative with 2 more occurrences in 2025 (tentatively July and October). -- Will attempt to secure one grant with minimum extra commitments (foreseeable commitments are wrapper for a specific language or writing RLN smart contract in non-EVM language). \ No newline at end of file +- Will attempt to secure one grant with minimum extra commitments (foreseeable commitments are wrapper for a specific language or writing RLN smart contract in non-EVM language). +- Moving one js-waku developer to chat/app team to develop Forum/OpChan app and library for H2. \ No newline at end of file diff --git a/draft-roadmap/README.md b/draft-roadmap/README.md index bd8c2d3..4b134f9 100644 --- a/draft-roadmap/README.md +++ b/draft-roadmap/README.md @@ -90,67 +90,75 @@ In order of priority. ### H2 Milestones -Man month: 17.5 * 6 = 105 -(Franck, Aaron full time mgmt/leadership/eco dev/comms, Hanno half-time) +Total people-month available `16.5 p(eople) * 6 m(onths) = 99 p-m`. +(Franck, Aaron full time mgmt/leadership/eco dev/comms, Hanno half-time, Tanya as test engineer) +✧ One core research CC AWOL. + +| | core res p/p-m | js-waku p/p-m | nwaku p/p-m | app-chat p/p-m | BD p/p-m | +|--------------|----------------|---------------|-------------|----------------|----------| +| Available | 3.5/21✧ | 2/12 | 4/24 | 5/30 | 1/6 | +| Work planned | 3.2/19 | 1.5/9 | 2.25/13.5 | 4.7/28 | 1/6 | + +Note: low allocation on nwaku due to +- high risk on nim activities +- general support to research and now chat team. +- performance uncertainty, especially for mobile (benchmarks in status are wip) + +| Priority | Milestone | End Date | core res | js-waku | nwaku | app-chat | BD | Capacity✱ | +|----------|-----------------------------------------------------------------------------------------|----------|----------|---------|--------|----------|------|-----------| +| 1 | [Define Incentivisation for RLNaaS](define_incentivisation_for_rlnaas.md) | 31 Jul | 1.5*1m | | | | | 0.4 | +| 2 | [Improve DevEx: API, TWN, Metrics, Docs](improve_devex_api_twn_metrics_docs.md) | 31 Aug | 1*1m | 2*2m | 1.5*2m | 1*1m | | 2.1 | +| 3 | [Introduce mixnet for message sending](introduce_mixnet_for_message_sending.md) | 30 Sep | 1*3m | | | | | 0.7 | +| 4 | [Formalize and Expand Waku Web Apps](formalize_and_expand_waku_web_apps.md) | 19 Dec | | | | 1.5*6m | | 2.1 | +| 5 | [Create Chat SDK MVP](create_chat_sdk_mvp.md) | 30 Sep | | | | 3*3m | | 2.1 | +| 6 | [Integrate RLN with Waku API](integrate_rln_with_waku_api.md) | 30 Sep | 1*1m | 1*2m | 2*2m | | | 1.7 | +| 7 | [Streamline DevEx: Mobile, Rust and Web dev](streamline_dev_ex_local_dev_rust.md) | 30 Nov | | 2*6w | 3*6w | | | 1.2 | +| 8 | [Extend Chat SDK with Group Conversations](extend_chat_sdk_with_group_conversations.md) | 19 Dec | | | | 2*3m | | 1.4 | +| 9 | [Incentivisation and Marketplace Follow-up Outline](incentivisation_follow_up.md) | TBD | 2.5*5m | | | | | 3 | +| 10 | [Nim Usage Improvements](nim_usage_improvements.md) | 19 Dec | | | 1*2m | | | 0.5 | +| 11 | [BD - Acquire 10 Customers](acquire_first_10_customers.md) | 19 Dec | | | | 0.5*6m | 1*6m | 2.1 | + +✱ Capacity: How may people assigned in a 6 months window. Adjusted to 70% allocation for support. -| Priority | Milestone | End Date | core res | js-waku | nwaku | app-chat | BD | -|----------|-----------------------------------------------------------------------------------------|----------|----------|---------|--------|----------|------| -| 1 | [Define Incentivisation for RLNaaS](define_incentivisation_for_rlnaas.md) | 31 Jul | 1.5*1m | | | | -| 2 | [Improve DevEx: API, TWN, Metrics, Docs](improve_devex_api_twn_metrics_docs.md) | 31 Aug | 1*1m | 2*2m | 1.5*2m | 1*1m | -| 3 | [Introduce mixnet for message sending](introduce_mixnet_for_message_sending.md) | 30 Sep | 1*3m | | | | -| 4 | [Formalize and Expand Waku Web Apps](formalize_and_expand_waku_web_apps.md) | 19 Dec | | | | 1.5*6m | -| 5 | [Create Chat SDK MVP](create_chat_sdk_mvp.md) | 30 Sep | | | | 3*3m | -| 6 | [Integrate RLN with Waku API](integrate_rln_with_waku_api.md) | 30 Sep | 1*1m | 1*2m | 1*2m | | -| 7 | [Streamline DevEx: Mobile, Rust and Web dev](streamline_dev_ex_local_dev_rust.md) | 30 Nov | | 1*1m | 1*2m | | -| 8 | [Extend Chat SDK with Group Conversations](extend_chat_sdk_with_group_conversations.md) | 19 Dec | | | | 2*3m | -| 9 | [Incentivisation follow-up Outline](incentivisation_follow_up.md) | TBD | 1.5*5m | | | | -| 10 | [Nim Usage Improvements](nim_usage_improvements.md) | 19 Dec | | | 1*2m | | -| 11 | [BD - Acquire 10 Customers](acquire_first_10_customers.md) | 19 Dec | | | | 0.5*6m | 1*6m | Pushed to 2026 - WebTransport: depending on nim-libp2p (delivery Q4) - Implementing Waku API in REST: Useful for DST/QA, but let's focus on Status, Chat SDK, and Rust first +- Delivering NodeJS SDK. Not yet planned/not sure: - nwaku performance on mobile: let's focus on finishing desktop integration and getting API ready for Chat SDK + RLN -- Follow-up steps for incentivization: part of current milestone is to produce a roadmap. -- RLN mainnet and audit -> probably wait for Status L2 mainnet? -- Signal network +- RLN mainnet and audit -> probably wait for Status L2 mainnet + focus on iterations ## Gantt -TODO: fix dates - ```mermaid gantt title Waku 2025H2 dateFormat YYYY-MM-DD axisFormat %b section core research (6) - Define Incentivization for RLNaaS: 2025-07-01, 2025-08-01 - Define Incentivization for RLNaaS: 2025-07-01, 2025-08-01 - Improve DevEx: 2025-08-01, 2025-09-30 + Define Incentivisation for RLNaaS: 2025-07-01, 2025-08-01 + Improve DevEx: 2025-08-01, 2025-08-31 + Integrate RLN with Waku API: 2025-09-01, 2025-09-30 Mixnet: 2025-07-01, 2025-09-30 - Integrate RLN with Waku API: 2025-07-01, 2025-09-01 - Streamline DevEx: 2025-09-01, 2025-12-31 - Incentivization follow-up: 2025-10-01, 2025-12-31 - section nwaku - Status Desktop: 2025-07-01, 2025-08-01 - RLN Onchain Tree: 2025-07-01, 2025-08-01 - Improve DevEx (API): 2025-07-01, 2025-10-01 - Improve DevEx (TWN): 2025-07-01, 2025-09-01 - Streamline DevEx (Mobile, Rust): 2025-09-01, 2025-12-31 - RLN Library: 2025-08-01, 2025-12-31 + Incentivisation and Marketplace Follow-up: 2025-08-01, 2025-12-31 section js-waku - Improve DevEx (API): 2025-07-01, 2025-10-01 - Improve DevEx (TWN): 2025-07-01, 2025-10-01 - RLN Library: 2025-07-01, 2025-09-01 - Streamline DevEx (Local dev): 2025-10-01, 2025-12-31 + Improve DevEx (API): 2025-07-01, 2025-08-31 + Improve DevEx (TWN): 2025-07-01, 2025-08-31 + RLN Library: 2025-08-01, 2025-09-30 + Streamline DevEx: 2025-10-01, 2025-11-30 + section nwaku + Improve DevEx (API): 2025-07-01, 2025-08-31 + Improve DevEx (TWN): 2025-07-01, 2025-08-31 + RLN Library: 2025-08-01, 2025-09-30 + Streamline DevEx (Mobile, Rust): 2025-10-01, 2025-11-30 + Nim Usage Improvements: 2025-11-01, 2025-12-31 section app-chat E2E Reliability: 2025-07-01, 2025-08-01 Communities Opt: 2025-07-01, 2025-08-01 - Foundations Private Chats: 2025-07-01, 2025-08-01 - Improve DevEx (metrics): 2025-07-01, 2025-09-01 - Logos Web Apps: 2025-07-01, 2025-12-31 - Chat SDK: 2025-07-01, 2025-12-31 + Improve DevEx (metrics): 2025-08-01, 2025-09-01 + Create Chat SDK: 2025-07-01, 2025-09-30 + Extend Chat SDK: 2025-10-01, 2025-12-31 + Formalize and Expand Waku Web Apps: 2025-07-01, 2025-12-31 ``` \ No newline at end of file diff --git a/draft-roadmap/incentivisation_follow_up.md b/draft-roadmap/incentivisation_follow_up.md index 9fc24e5..579e4f7 100644 --- a/draft-roadmap/incentivisation_follow_up.md +++ b/draft-roadmap/incentivisation_follow_up.md @@ -1,16 +1,16 @@ -# Incentivisation Follow-Up Outline +# Incentivisation and Marketplace Follow-Up Outline **Estimated date of completion**: TBD **Resources Required for 2025H2**: -- 1.5 core research engineer for 5 months -- {external services consumed (Vac/IFT)} -- {infrastructure} +- 2.5 core research engineer for 5 months Proceed with follow-up step once the [incentivisation light push PoC](https://github.com/waku-org/pm/issues/245) is delivered. The exact commitments and deliverables are to be defined as part of the [incentivisation roadmap output](https://github.com/waku-org/pm/issues/246) +This includes progress towards both incentivisation and marketplace problems. + ## Strategic Objective Logos Vision: Core Values Alignment diff --git a/draft-roadmap/integrate_rln_with_waku_api.md b/draft-roadmap/integrate_rln_with_waku_api.md index c8c9af3..17bd6ed 100644 --- a/draft-roadmap/integrate_rln_with_waku_api.md +++ b/draft-roadmap/integrate_rln_with_waku_api.md @@ -3,11 +3,10 @@ **Estimated date of completion**: 30 Sep **Resources Required for 2025H2**: -- 1 nwaku engineer for 2 months +- 2 nwaku engineer for 2 months - 1 js-waku engineer for 2 months (til 30 Aug) -- 1 core research for 1 month (assuming ownership of RLN UX deliverable) +- 1 core research for 1 month - Support from Vac/ACZ to get zerokit working in the browser. -- {infrastructure} Deliver a native RLN library with a deliberate API to manage RLN memberships, as well as proof verification and generation. This includes extracting RLN Relay as a relay plugin validation strategy, that can then be passed internally to nwaku node diff --git a/draft-roadmap/streamline_dev_ex_local_dev_rust.md b/draft-roadmap/streamline_dev_ex_local_dev_rust.md index a4cade7..873486b 100644 --- a/draft-roadmap/streamline_dev_ex_local_dev_rust.md +++ b/draft-roadmap/streamline_dev_ex_local_dev_rust.md @@ -3,19 +3,20 @@ **Estimated date of completion**: 30 Nov **Resources Required for 2025H2**: -- nwaku 1 eng during 1 month 70% until 30 Sep - start 1st Sep -- js-waku 1 eng 70% 1-19th Sep -- {external services consumed (Vac/IFT)} -- {infrastructure} +- nwaku 3 eng during 6 weeks +- js-waku 2 eng 6 Week Sep Complete the Waku API implementation in nwaku by implementing edge node mode (Status' Light Mode). Streamline the Developer Experience by delivering a Rust SDK that implements the full Waku API and is available on crates.io. As well as building an easy-to-use local dev environment from the browser, enabling developers to build web apps without -relying on external connectivity; as well as opting in and out of RLN, and include a local RLN dev environment. +relying on external connectivity. Provide a similar harness to deploy a local RLN dev environment. Finalize the integration of nwaku in Status application by setting up nwaku-based build for Mobile platforms. +Lastly, develop a PoC protocol to demonstrate the usage of Waku as a Signal network, using WebRTC as example. +This was identified as a demanded demonstration of Waku's capabilities as part of the [Waku MVP analysis](https://www.notion.so/Waku-MVP-1838f96fb65c8039acabf8a6a1e689e7). + ## Strategic Objective Logos Movement Community Enabling via Dev-X @@ -132,4 +133,31 @@ See deliverables. - [ ] Specs: link to specs and/or API definition - [ ] Code: link to GitHub issues/PRs/Epic - [ ] Dogfood: link to dogfooding session/artefact -- [ ] Docs: links to README.md or docs.waku.org (TBD)\ \ No newline at end of file +- [ ] Docs: links to README.md or docs.waku.org (TBD) + +### [Waku as a Signal Network (WebRTC) PoC](https://github.com/waku-org/pm/issues/298) + +**Owner**: js-waku + +**Feature**: [Waku as a Signal Network](/FURPS/application/signal_network.md) + +**FURPS**: + +- F1. Establishes a direct connection between two peers using Waku as a signaling layer + +- U1. Developers have access to a simple API: single entry `connect` function and event-based inbound handling. + +- R1. End-to-end reliability is implemented for the signaling conversation. +- R2. No provided reliability for established connections, left to the developer (e.g. keep alive). + +- S1. Developers can use this protocol in web application, imported from npmjs.com. +- S2. Developers can use this protocol to initiate WebRTC connections. + +- +1. Signaling payloads are end-to-end encrypted. +- +2. STUN and TURN servers may be required for WebRTC usage. + +**Checklist**: +- [ ] Specs: link to specs and/or API definition +- [ ] Code: link to GitHub issues/PRs/Epic +- [ ] Dogfood: link to dogfooding session/artefact +- [ ] Docs: links to README.md or docs.waku.org (TBD) \ No newline at end of file