Upstream March 2022 Community Update

Hi everyone! I’m posting this product update for our Upstream core team that details what we’ve been working on, what’s next on our plate, and some ideas in the future. Would love to hear everyone’s thoughts!

March 2022

:tada: Key Achievements :tada:

What we worked on and achieved in the last month. These include some of the key decisions we’ve made about our product direction.

Product Alignment

We needed to figure out how Upstream fit into the overall product suite, and how we envision users would utilize Upstream in their workflow. We decided that Upstream should be focused on code collaboration. All the features we build into Upstream will ultimately make it easier for users to be able to collaborate on their development projects and finally move off of centralized platforms.

MVP Scope

We spent some time detailing the exact features we needed for the MVP. This allows our small (but mighty!) team to focus on the most important work so that we can get the product off the ground and in front of users. In general, our MVP scope is primarily to: ensure compatibility between the push/pull and p2p networks, and allow team members to find and clone projects, and collaborate using patches.

More details here:

MVP Launch

MVP Showcase Flow

In tandem with the MVP scope, we needed to identify and better understand what we expect the flow will be for new users to the platform. To this end, we’ve put together a user flow across the Upstream, CLI and the web app. This should help clarify how we expect users to utilize each tool in their workflow.

More details here:

Showcase

https://whimsical.com/upstream-mvp-U4YYGUP4T7gFbqxeVJbQ1C

:face_with_monocle: Our Focus

What we’re currently focusing on in the immediate and short term. Expect to see some of these conclude very soon!

Launch MVP to DAOs

Working with the growth team, we’ve identified 5 DAOs that we want to reach out to for initial beta testing. Once Upstream is ready, we will be setting up initial onboarding sessions for them to try it out. This is the core step - straightforward, but critical.

More details here:

User Interview Questions

Focus on product stability

As mentioned before, the team’s hard at work to ensure that Upstream is stable enough that DAOs can begin using Radicle as their primary code collaboration platform. There’s still a few more kinks to work out here, but we’re close! We need to ensure that our platform is stable across networks and is reliable enough for teams to use on through their entire workflow.

Gather feedback

As soon as we’re able to begin onboarding DAOs, we’ll be setting up a tight feedback loop with their teams. This will turbocharge our development process by exposing key frustrations and user needs that’ll inform what we should focus on.

More details here:

User Feedback Notes

:crystal_ball: What’s Next

Core initiatives and features that we’ll be focusing on in the longer term. Just some of the exciting things we have in store!

Issue Management

With our core MVP features, teams will still need to rely on external tools for things like project management and communication. We’ll be expanding our use of the commenting system (which we will have for Patches) as well as key issue management features so teams can progressively rely on Radicle for larger parts of their workflow.

Core Task: Define issue management features and implement into Upstream

Ethereum Integration

DAOs intrinsically are web3 native teams, and most utilize the Ethereum blockchain. Although we do have some features around this already, we’ve decided to remove them to focus on the MVP as they were problematic. Moving forward, we need to better identify and understand how users and teams want Radicle to integrate with the blockchain, and what aspects of Radicle should be integrated with on-chain data.

Core Task: Define user needs, problems and jobs to be done with the Ethereum integration. Identify technical implementation and design needs.

Organizations

Our next focus will be on (re)implementing the Organizations feature. As with the Ethereum integration, we’ve decided to remove this for the MVP as there were issues. That said, we know that Organizations (and the management of projects and collaborators) are core features that are required by teams to collaborate on their projects.

Core Task: Define user needs, problems and jobs to be done for Organizations. Identify technical implementation and design needs.

Product Vision / Strategy / Roadmap

To provide more clarity and to make ongoing alignment easier, we’ll be creating documents for the product vision, strategy, and short/long-term roadmap. This will help Radicle teams as well as users (or anyone else that’s interested!) a clear idea of what we have planned for Upstream.

Core Task: Documentation created and shared via radicle.community

3 Likes

Will any of this exploration involve exploring collaborative objects or does that still fall out of scope for Upstream?

By collaborative objects, are you referring to things like Releases, Issues and Comments? If so, those are definitely things we need to figure out as we work through the implementation.

I’m actually referring to the collaborative objects implemented in radicle-link which we introduced for these kind of things you mentioned above to be built on top. There are currently limitations to the implementation — we have items on our road map for improving those. I haven’t see any of the other teams reach for them yet and I’d be interested to see people play with them and help iron them out.

Ah got it. Yeah we should definitely collaborate as we’re fleshing out these features if we’re going to be relying on the collaborative objects for the implementation. We’ll make sure to involve you and the team when we’re scoping these features out.

Out of the above features, we’ll be starting first with Comments (specifically on patches). I’m not sure whether we’re planning to use collaborative objects for this or not. @rudolfs or @geigerzaehler can probably provide a better answer here.

I just had a chat with them and there were some fair critiques towards using them, which I’ll summarise here:

  • We have not implemented a robust access-control mechanism for collaborative objects (cobs) yet, instead settling for delegate only changes for the time being – some research and proposals are required to move forward here
  • @rudolfs experimented with adding a delegate to a project but ran into some issues – unfortunately, these weren’t documented but we’ll have to look into it personally
  • The complexity and unknown-ness of cobs might hinder getting something working

The Link Team aim to be dogfooding cobs ourselves once we have our point-to-point replication up and running, so we’ll be aiming to iron out any of these issues and paving the way for others to try cobs out. My only other suggestion would be to try to keep cobs in mind with regards to schemas – that way it would make things easier to transition to.

Hopefully the decentralized element of your solution doesn’t hinder getting something working :grinning_face_with_smiling_eyes:

4 Likes