[Application] Radicle IDE Plugins - UX Design

Excited to see this write-up @yorgos and thanks to @fintohaps and @bordumb for the detailed review. There is a lot of potential in exploring Radicle IDE experiences and I think it’s worth it to have an experienced team start diving in and understanding the opportunity space.

I echo the point @nas made regarding looping in relevant Radicle Core Team members to the conversation to make sure there’s alignment moving forward. Since this is a deeper product exploration, it might also be good to provide updates in the Community Call as well? I think the research you’ll be conducting will benefit #link #alt-clients and #upstream, so I’d like us to keep the communication flowing!

Beyond those suggestions, I’m in full support and have voted yes to funding this grant :seedling:

2 Likes

@bordumb As it has come to my attention, Radicle Grants applications need to be in USDC. This application was in EUR, so please allow me to amend the situation:

Milestone 1: 13934,8 USDC
Milestone 2: 10865,7 USDC

As a brief update, on behalf of the team, we’d like to first thank everyone for their support and for the constructive feedback! Everyone is really excited about this!

The team had its first kick-off meetings this week and has started analyzing/documenting the existing behaviour of the GitHub plugin in IntelliJ. There is also a (trello?) board being put together that will offer transparency into the progress being made (or lack thereof :wink: ). Still settling on tools though - more (exciting) updates soon!

2 Likes

Update:

Our first real week of progress is almost behind us (Greek National holiday tomorrow, Friday), and I wanted to share a couple of highlights!

  • We now have a Trello board and we’re using that to track progress: Trello
  • We have a figma board as our workspace: https://www.figma.com/file/P5dUZ9RNmgxfFOahkOeiJ3/Radicle-IDE-Plugins
  • We’ve documented the existing, in-scope, functionality of the GitHub plugin in IntelliJ.
  • We’ve started drafting the Personas that we will map participants to, in our usability studies.
  • We’re now working on an early version of the low fidelity wireframes and preparing the setup of the moderated usability studies (questionnaires, scenarios, logistics around moderated sessions, etc.)

We will soon start looking for participants for our usability studies. If you are using IntelliJ IDEA as your IDE of choice and feel like taking part, please do reach out to me on Discord and I’ll try to get you early access :wink:

1 Like

Hi Yorgos

Thanks a bunch for the update.
For others: do you mind dropping your full Discord user name so that they can find you easily?

I’ll reach out on Discord to try testing.

1 Like

Hi @bordumb , my Discord user name is micmei#3599.
Sorry for being quite, i’m on the way to get familiar with the new tools and Radicle community ways of communication and collaboration :slight_smile:

Hey @bordumb! My username is kabitakis.

UPDATE:

I can’t believe it’s taken me over a month to post an update here, but it’s been a really busy time (both on and off work) and so we’ve struggled to move as fast as we’d liked (more on that below).

During this time, a lot has happened however:

  • Prototype: The low-fidelity designs that would inform the development of the Jetbrains IDE plugin for Radicle have been created and are being evaluated with users. (figma)
  • Workshop signup process: We finalized the call-to-action, questionnaire, calendly, etc. to allow interested folks to sign up to a usability workshop.
  • Workshop setup: The setup of the moderated study was finalized (user tasks/scenarios, interactive prototype). A big difference with the original proposal was that we decided to try out an interactive prototype, as opposed to the paper prototypes we were originally planning for (we would scan these and the moderator would manually change the screens for users, as would happen in a non-virtual workshop). The interactive prototype has required more hours of work, but we still think it has been a valuable addition: we can maintain more of an observer role and the interaction feels more “natural” for users.
  • Prototype complexity: A lot of work here has gone into making the interactive prototype more open for exploration by the users, and not just covering the “happy paths”. This has made the setup on figma MUCH MUCH harder, but has also resulted in learnings already when we found users exploring actions we didn’t expect they would take.
  • Iterative improvements: Rather than just 2 (larger) iterations of improvements, we have instead been making smaller, continuous, improvements to the designs, after every couple of workshops. (It helped that we didn’t have all the users at once… )
  • Participants so far: We have now gone through more than half of our target usability studies: we have ran moderated usability workshops with 13 users, out of a target of 20). Finding participants has certainly been a big challenge as well. We are focusing on Jetbrains IDE users (not just any developer), and, it seems, asking for 30’ of time is a big ask these days, especially for seasoned developers. This has been the main reason why this is taking so much longer (in terms of calendar time) than originally estimated. We might have to reconsider the incentives for finding future users.
  • Remaining sessions: Another 4 studies are currently booked till next week, which is when we are planning to complete the first round of workshops.

Once the workshops are done, we will round up the findings and prepare the final deliverables:

  • interactive prototypes in figma (rather than the paper prototypes we originally proposed). We think this will dramatically speed up the actual implementation of the IDE plugin (which we plan to propose in a future grant proposal, as it will give the developers a much clearer spec of the required functionality. The paper prototypes do leave room for doubt (a person is still required to answer the “what screen does the user go to when they click this button” kind of questions).
  • usability workshop findings: we will present a report with the summary of our notes from the meetings, an overview of participant profiles and the results from the tasks they were asked to complete.

If anyone has some questions, please feel free to let us know !

2 Likes

@yorgos

Thanks a bunch for sharing this awesomely detailed Figma.
We’ll be taking a closer look at this.

I really appreciate all the detailed notes on things that worked well (e.g. using interactive prototypes) and the things that didn’t work well (e.g. finding time with participants). These kind of notes are great for the future.

Some questions/comments:

1. Does this mean your first Milestone is ready for evaluation?

The Figma you shared just above seems to cover the Milestone 1: IntelliJ IDEA Plugin

We have this Milestone Delivery Template here.

Note: It’s NOT a hard requirements, but it might help organize your notes + is a very clear indicator to us that the milestone is “complete” and ready for review.

It’s largely based on the original Application Template here, so you’re welcome to copy most details.

2. Any general thoughts on how this work might play out over time (e.g. adding new features)?

For example, there may be extensions to parts of the CLI (commit, push, pull, etc.) that would be useful to also add to your IDE plugins.

As an example, there is already this Grant Application here for extending the CLI to create Drips.

If/when you create another grant to full develop the ideas in your user studies/wireframes, I think adding some thoughts around making this all extensible + integrated with other ecosystem developments would be super awesome. I bet you guys will have some really valuable ideas around making things easily extendible so that future product features can be easily added over time :slight_smile:

1 Like

Hi @bordumb ,

I will share more details in the coming days, but to quickly answer your points:

  1. Correct. We have only been working on Milestone 1. As previously agreed herein, work on Milestone 2 will only begin once Milestone 1 is fully complete. It just took us much longer (in terms of calendar time) due to non-radicle-grant-related factors that affected how much time we could put into this project.

  2. I’ve been thinking about this a little and I’ll share more on this on a followup reply.

Thanks for the info & pointers! :ok_hand:
Expect an update here in the coming days with details about the Milestone 1 delivery. :wink:

Hello again @bordumb - and everyone else!

I wanted to confirm we have now concluded Milestone 1.
The deliverable is available here. :heavy_check_mark:

We look forward to your feedback, comments and questions. :pray:

As per my previous reply, we have now started looking at the implementation phase for the Jetbrains IDE plugin for Radicle, with another team that already has some experience in Jetbrains IDE plugins. We are planning to submit another Radicle Grants proposal soon about that. :memo:

In the meantime, we look forward to concluding milestone 1 and moving forward with the UX of the VS Code plugin ! :rocket:

Thanks in advance for your time reviewing this work!

2 Likes

Hello again @bordumb ! :wave:

We were just wondering if we can begin working on Milestone 2 while Milestone 1 is under review ? Or should we rather wait until the review is finished ?

Don’t mean to put any pressure on the reviewing team - just looking for some input to help us understand if/when we should plan to work on this.

Thanks in advance!
Yorgos

Hi @yorgos

As we chatted on Discord:
Thanks for the patience as we got the site back up

I have no outstanding questions on this and really liked
So I’ll start gathering votes

One non-urgent note:
When you do get around to applying for a separate grant to fund actually building the JetBrains IDE plug-ins, I think it’d be worth coming up with a framework to keep up with ever-growing features of Radicle. It might be worth experimenting with Drips (Communities?) if you can grow a community of users with this :slight_smile:

Fantastic, thanks so much @bordumb !

Re: drips, I absolutely think they would make perfect sense once the plugin enters a maintenance phase, once a certain set of core functionality has been achieved. In fact, I am already aware of a Jetbrains IDE plugin maintainer who is considering onboarding their existing plugin on Radicle Drips (he will hopefully be working with me on the implementation of the Radicle plugin).

I was also thinking that Radicle Workstreams might also be an interesting way to fund future development stages of Radicle IDE plugins. (In fact, it almost sounds like a good fit for a Grants program as well ? :thinking: )

To sum up, it seems to me that:

  • Drips could take care of maintenance (bug fixes, new IDE version compatibility, offering support, etc.)
  • Work Streams could perhaps be more tailored to development of new bits of functionality that we would like to see added to the plugin.

Disclaimer: I am not entirely familiar with how other communities are currently using drips / workstreams and not sure whether they are currently “production ready”, but we are also not there yet… I do see them playing an important role in the future though…

1 Like

@yorgos — just reviewed the Milestone 1 deliverable and I’m super impressed! Even though I’m not a dev, the interactive prototype was super fun to click through and it was awesome seeing Radicle integrated into a developer experience like that. I’m very intrigued to see the same for VSCode so am very excited for Milestone 2 :heart_eyes:

I’m also excited to see this built! Do you plan on putting together the implementation proposal now? Do you plan on implementing it yourselves?

EDIT: Oops, just saw the implementation proposal. Will read now!

Finally, I’d love to get some of our devs feedback on the milestone/prototype so just CCing them here @cloudhead @fintohaps @alexgood @geigerzaehler for visibility.

Keep up the great work! Excited to see this continue to grow :seedling:

1 Like

Hi @abbey !

Thank you for taking the time to review this ! Yes, I’ve also submitted the proposal for implementation of the Jetbrains IDE plugin with a different team setup. Luckily Radicle is a cool project and that helps with trying to bring a team together (a major challenge in this day and age), as I don’t want this all to be a solo effort on my part - that’s not sustainable, given my other commitments, etc. I really like the idea of this turning into a team that takes on IDE development and I would even like to explore how that could perhaps function as a sub-DAO down the line?

I would love your thoughts on that when you have some time!

Thanks again for reviewing this,
Yorgos

P.S: I’m glad to hear the interactive prototype helped! In our original proposal, we only intended to deliver a non-interactive prototype, but everyone on the team was really excited with the project and decided to take on this extra scope regardless. And same goes for milestone 2. :wink:

Hello folks!!

I am writing this update to confirm we are ready to deliver Milestone 2 - the final milestone for this grant!!

This 2nd milestone has been a long time coming… Focus on the Jetbrains IDE plugin, but primarily contributor availability have been the main reasons for this delay. As the latter was not something we could control, we decided to focus on the things we could control in the meantime and make as much progress as possible on the Jetbrains IDE plugin (an alpha version has already been published and we are steadily moving towards delivering the version 0.2.0, which we are also planning to promote from alpha to beta).

The deliverable for the VS Code UX studies is available here. :heavy_check_mark:

We look forward to your feedback, comments and questions. :pray:

In the meantime, we are planning a new grant proposal for the first implementation phase for the Radicle VS Code Extension. :memo:

Thanks in advance for your time reviewing this work!

@bordumb a kind request please:

if this deliverable is approved, please use the below new wallet address:

0x445717316388f1d1fb1730D3f6f9Bf59e0b03f4f

Thanks in advance!
(I will confirm this by DM on discord as well)

Thanks for the update on the wallet @yorgos

On the latest milestone for VS Code research:

Feedback

  • Really cool how the UI is creating a GUI for the initialisation of projects!
  • Great feature parity with what you guys came up with for JetBrains. So looks good go to me.

One thought on maintenance / growth:

  • Imagine at some point we have 49 different IDE plugin features for IDE A and 50 different IDE plugin features for IDE B. How can we easily find which feature is missing from IDE A to make sure they have feature parity?
  • As the CLI team adds new features, is there some way to streamline/automate the plug-in to pick these changes up easily? In any case, please consider these sort of maintenance or update work for future grants! :smiley:
1 Like

Thanks for taking the time to review @bordumb !

I have been thinking about this as well, not just in terms of the IDE plugins / extensions, but also in terms of the other alternatives people have to access the same functionality - e.g. deploying their own radicle frontend, or running the Terminal UI.

Just like we are talking about creating personas that would be more or less the same for the “code collaboration” problem area - regardless of the UI they choose to interact with the protocol - I have been thinking that the high-level User Journeys could also be another cross-component artefact we maintain across component teams. I expect there will be small differences due to the different nature of the components, but it should hopefully be possible to track journeys like: “creating issues”, “editing issues”, “attachments on issues”, etc. etc. Different teams might want to place different emphasis on different UX areas, however I think it would be beneficial for all of us to have some common input towards our prioritization decisions.

As the person on the IDE plugins team wearing more the “product” hat, I’d be happy to contribute further in any cross-team initiative in this area. (we’ve done some early work on personas already, and each grant proposal for Jetbrains / VS Code did included some early description of the User Journeys we identified, so this is something we’ve been thinking about already…)

I think this is more tricky. The User eXperience on the command-line is somewhat different to the one inside an IDE and also different to what is possible with a self-hosted web interface. Each of these Graphical User Interfaces (GUIs) offers unique advantages / limitations, and those need to be taken into account when designing the UX on each one. In addition, with the additional UX complexities in GUIs - as opposed to CLI - I expect that, rather than this becoming easier, the more features the CLI brings out, the more challenging the incorporation of those features into a Graphical UI will become…

Having said that, I only see those problems hitting us mid-term to long-term. in the meantime, we can always instruct users to perform certain actions not yet available through the IDE with a different tool available, so that they can successfully onboard to Radicle some way rather than not at all.