From 5db5299b46cc1413b4e207581b0f1f8693506500 Mon Sep 17 00:00:00 2001 From: fryorcraken Date: Thu, 12 Jun 2025 15:37:21 +1000 Subject: [PATCH] SDK vs API --- 2025H1-SUMMARY.md | 2 +- 2025H2-summary.md | 39 ++++++++++--------- FURPS/core/waku_api.md | 12 +++--- draft-roadmap/README.md | 2 +- .../improve_devex_api_twn_metrics_docs.md | 2 +- draft-roadmap/integrate_rln_with_waku_api.md | 6 ++- draft-roadmap/nim_usage_improvements.md | 4 +- 7 files changed, 36 insertions(+), 31 deletions(-) diff --git a/2025H1-SUMMARY.md b/2025H1-SUMMARY.md index a6edb04..2fe93ec 100644 --- a/2025H1-SUMMARY.md +++ b/2025H1-SUMMARY.md @@ -108,6 +108,6 @@ https://notes.status.im/E_bcw7cLR36QKI39k-PlMg# - We attempted to put in place a process with Vac-QA and Vac-DST respectively "certify" `R`s and `P`s. While good on principle, the tracking processes are not there. - It was a first round of planning with FURPS. Lessons have been learned and being applied for H2. - The Waku internal hackathon was a great experiment to identify use-case but also improvements to the Waku dev ex. With a focus on building (developer) tribes, its strategic value has increased. -- Milestones that involved breaking changes were dragged across several Status release; need to review how this is planned to not postponed milestone completion dates by months. +- Milestones that involved breaking changes were dragged across several Status release; need to review how this is planned to not postpone milestone completion dates by months. - Some research items took time to wrap-up, sort bindings, etc. Will discuss with the team on how we can be better are getting research PoC ready for dogfooding. - With a refocus on community, need to improve tracking of BD results. \ No newline at end of file diff --git a/2025H2-summary.md b/2025H2-summary.md index 2c21748..6a5b92a 100644 --- a/2025H2-summary.md +++ b/2025H2-summary.md @@ -3,7 +3,7 @@ ## 🧭 Key Outcome(s) of Vision you are supporting - Create Chat SDK MVP - one-to-one (Nim, Rust, Golang), support Status' technical roadmap, supports Logos Movement and Logos Core by enabling secure conversations over Waku -- Simplify a reliable Waku API and SDK (Browser, Nim, Rust, Golang), supports Chat SDK, Logos Movement and Logos Core, make it is easy to integrate +- Simplify the API of the Waku SDK (Browser, Nim, Rust, Golang), supports Chat SDK, Logos Movement and Logos Core, make it is easy to integrate - Improve Waku Developer Experience by stabilizing The Waku Network and reviewing Docs: Support Logos Movement, make it is easy to integrate - Deploy metrics to measure Waku and any Waku app's level of adoption: Support measuring success of Logos Movement - Introduce mixnet for message sending: Support Logos Vision of a private technology stack @@ -17,9 +17,9 @@ Strategy changes: - New Chat protocol over adapting existing code and protocol ([justification](https://forum.vac.dev/t/chatsdk-motivations/501)) -- Prioritized simplifying Waku API/SDK, to enable Chat SDK but also "make it easy to integrate" -- Prioritized RLN API/SDK, to use with Chat SDK and have early RLN integration in the Chat stack (this time) -- De-prioritized nwaku on mobile in favour of Waku API and RLN API +- Prioritized simplifying Waku API, to enable Chat SDK but also "make it easy to integrate" +- Prioritized RLN SDK, to use with Chat SDK and have early RLN integration in the Chat stack (this time) +- De-prioritized nwaku on mobile in favour of Waku SDK and RLN SDK - Increased commitment to build applications over Waku (Web and Logos Core), to "teach them how to hunt" - Introduced Developer Experience items: to support Chat SDK, and "make it easy to integrate" - Nim Usage Improvement: increased priority to support new chat sdk, and "make it easy to contribute" @@ -28,19 +28,21 @@ Strategy changes: ## 🚩 Proposed Milestones(s) -| 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+ | -| [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 | +| 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+ | +| [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 | + +✱ Capacity: How may people assigned in a 6 months window. ## 🧩 Strategic Benefits Realisable from coming Half-Year (Top 5) @@ -119,9 +121,10 @@ https://notes.status.im/E_bcw7cLR36QKI39k-PlMg# - Exciting 6 months ahead with clear path on how to deliver value to both Status and the Logos Community with the same effort. - Improving work tracking with Vac-DST/Vac-QA, discussion is ongoing to better integrate Waku FURPS in Vac planning. -- We know have a breaking change strategy for Status items. +- We now have a breaking change strategy for Status items. - Aiming more of a team rally behind milestones, dev milestones are now larger and contain more items that can be done in parallel, so that most of the team work on same milestone together. - Focus on more frequent milestone delivery, by avoiding intra-dependency of items in milestone. - 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 diff --git a/FURPS/core/waku_api.md b/FURPS/core/waku_api.md index 52b47f7..f1a70a8 100644 --- a/FURPS/core/waku_api.md +++ b/FURPS/core/waku_api.md @@ -11,7 +11,7 @@ 5. Returns health and connectivity information using proven heuristics. 6. Previously discovered peers are persisted across restarted, and potentially used for future connections. 7. When wrapping the C API, conversion from native types to JSON is needed by the wrapper. -8. When wrapping the C API, conversion from native types to Protobuf is needed by the wrapper. +8. When wrapping the C API, conversion from native types to Protobuf is needed by the wrapper (PoC). ## Usability @@ -21,7 +21,7 @@ 4. Developers pass and receive data to the API in types native to the wrapping language. 5. By default, auto-sharding is applied, meaning developers do not need to be concerned by sharding; pubsub topics are never exposed. 6. Developers only need to handle errors in cases of irretrievable failure requiring end-user action. Internal errors are not bubbled up if they can be recovered internally. -7. When wrapping the C API, a protobuf definition can be used to generate native types for the host language. +7. When wrapping the C API, a protobuf definition can be used to generate native types for the host language (PoC). ## Reliability @@ -32,10 +32,10 @@ ## Supportability -1. Nim library; import via git path. -2. Golang library; available on pkg.go.dev. -3. Browser; distribution via npmjs.com. -4. Rust; available on crates.io. +1. Developers can use the SDK in nim software, importing it via git path. +2. Developers can use the SDK in Golang software, importing it from on pkg.go.dev. +3. Developers can use the SDK in Browser software, importing it from npmjs.com. +4. Developers can use the SDK in Rust software, importing it from crates.io. ## + (Privacy, Anonymity, Deployments) diff --git a/draft-roadmap/README.md b/draft-roadmap/README.md index e37acb5..341c09c 100644 --- a/draft-roadmap/README.md +++ b/draft-roadmap/README.md @@ -106,7 +106,7 @@ In order of priority. Pushed to 2026 - WebTransport: depending on nim-libp2p (delivery Q4) -- REST API for Waku API: Useful for DST/QA, but let's focus on Status, Chat SDK, and Rust first +- Implementing Waku API in REST: Useful for DST/QA, but let's focus on Status, Chat SDK, and Rust first Not yet planned/not sure: - nwaku performance on mobile: let's focus on finishing desktop integration and getting API ready for Chat SDK + RLN diff --git a/draft-roadmap/improve_devex_api_twn_metrics_docs.md b/draft-roadmap/improve_devex_api_twn_metrics_docs.md index 12a35a9..c2ef723 100644 --- a/draft-roadmap/improve_devex_api_twn_metrics_docs.md +++ b/draft-roadmap/improve_devex_api_twn_metrics_docs.md @@ -5,7 +5,7 @@ **Resources Required for 2025H2**: - 2 js-waku engineers - 1.5 nwaku eng -- 1 core research +- 1 core research for 1 month - 1 app chat eng for 1 month diff --git a/draft-roadmap/integrate_rln_with_waku_api.md b/draft-roadmap/integrate_rln_with_waku_api.md index 0e7f4e6..c8c9af3 100644 --- a/draft-roadmap/integrate_rln_with_waku_api.md +++ b/draft-roadmap/integrate_rln_with_waku_api.md @@ -119,6 +119,8 @@ See deliverables. ### Deploy RLN Contracts to Status L2 testnet +TODO FURPS + **Owner**: nwaku **Feature**: [{Feature Name (only 1)}]({path/to/furps/file}) @@ -134,9 +136,9 @@ See deliverables. ### Improve RLN UX by reducing Web3 RPC calls -TODO: Clarify ownership +TODO FURPS -**Owner**: nwaku or core research +**Owner**: core research **Feature**: [{Feature Name (only 1)}]({path/to/furps/file}) diff --git a/draft-roadmap/nim_usage_improvements.md b/draft-roadmap/nim_usage_improvements.md index 1240d82..3986cee 100644 --- a/draft-roadmap/nim_usage_improvements.md +++ b/draft-roadmap/nim_usage_improvements.md @@ -65,9 +65,9 @@ Note: maybe taken over by Vac-Nim **Feature**: [Waku API](/FURPS/core/waku_api.md) **FURPS**: -- F8. When wrapping the C API, conversion from native types to Protobuf is needed by the wrapper. +- F8. When wrapping the C API, conversion from native types to Protobuf is needed by the wrapper (PoC). -- U7. When wrapping the C API, a protobuf definition can be used to generate native types for the host language. +- U7. When wrapping the C API, a protobuf definition can be used to generate native types for the host language (PoC). **Checklist**: - [ ] Specs: link to specs and/or API definition