# Radicle IDE Plugins | UX Research | Milestone 2 Delivery :mailbox: * **Application Document:** [radicle.community post](https://radicle.community/t/application-radicle-ide-plugins-ux-design/2728). * **Milestone Number:** 2 ## Context The scope of the **2nd milestone** of the grant application covered the UX research and design prototypes for a Radicle plugin for Visual Studio Code (VS Code) Integrated Development Environment (IDEs). ## Deliverables | Number | Deliverable | Link | Notes | | ------------- | ------------- | ------------- |------------- | | 1. | "Paper prototypes" - 1st & 2nd Iteration | [Interactive Prototype (see "VSC" flows)](https://www.figma.com/proto/9h2suLnyckUXGmMyReMiYP/LF-Wireframe---Milestone-1?node-id=472284%3A7191&scaling=scale-down&page-id=77%3A432&starting-point-node-id=472284%3A7191&show-proto-sidebar=1) and [Figmal source file](https://www.figma.com/file/9h2suLnyckUXGmMyReMiYP/Low-Fidelity-Wireframes---Radicle-IDE-Plugins?node-id=77%3A432)| Just like the 1st milestone, rather than providing separate deliverables for each iteration, we deliver a single figma working copy, complete with all comments and work we have been doing in the open. In addition, rather than delivering non-interactive "paper prototypes" of each page, we are delivering interactive prototypes that we believe will significantly speed up understanding of expected behaviour during further development stages. | | 2. | Field Studies/User Interviews research results | [See below](#Usability-Workshops---General-Observations--Learnings) | Rather than running 2 group studies, we instead decided to run **individual** moderated usability workshops, so we can better understand each of our users problems / struggles / thought process, etc. However, for this second milestone, we stopped short of the 20 participants we had originally aimed for. This was was due to the relevant difficulty attracting participants, combined with a significant number of no-shows (6 in 16 planned sessions), but **primarily** because we feel we now have more experience (from both Milestone 1, as well as actually building the Jetbrains IDE plugin) that we don't feel it is necessary. Overall, instead of running 2 workshops with 10 participants each, we ended up running 10 individual workshops, for which we are delivering: a. Notes from observers. b. An overall summary conclusions. | ## Usability Workshops - Executive Summary The setup of the moderated study was the same as the one in the 1st milestone and involved a participant and 1-3 observers who were there to **learn** how developers approach the undertaking of 4 simple tasks **(through the IDE)**: 1. **Clone** a Repo from Radicle 2. **Publish** New Repo to Radicle 3. **Contribute** a Patch to an existing Radicle project 4. As a **maintainer**, find a new Patch that a community member has contributed. The facilitator and observers could not answer any questions about the IDE plugin UX. The facilitator could only answer some questions about Radicle and At the start of every workshop, the facilitator emphasized to the participant that what was being tested were the designs and **not** the participants. ## Usability Workshops - General Observations / Learnings In addition to the [learnings from the first milestone](https://hackmd.io/@gsaslis/radicle-ide-plugins_milestone1#Usability-Workshops---General-Observations--Learnings), which we largely saw confirmed also with this second set of users, we have some additional learnings to highlight: 1. **"Patch"**: There was a fair amount of confusion among study participants at the use of the term "Patch" to refer to what other platforms call "Merge Request" or "Pull Request". One could argue that a new protocol is entitled to bring about its own terminology and onboarded users will require some time to get used to the terminology. However, the confusion is made worse by the fact that "Patch" is a well-established term in git and this is made worse if a "Radicle Patch" can actually incorporate multiple "Git Patches". 1. **"Track"**: We also saw several users struggle with the "Track" term, however, once we explained to them what this means, in the Radicle peer-to-peer context they accepted and moved on with the task (we were allowed to answer questions about Radicle - but not the prototype itself). This is not really that different from user onboarding that requires learning new terminology. We do however want to draw **specific** attention to the "Track" term, as we found that once we explained "Track", the peer-to-peer nature of Radicle really started to resonate with our participants. We feel that placing additional focus on learning resources around Tracking seed nodes / peers would be a very worthwhile investment. 1. **"Browse on web"**: A new idea that came up during these studies (by at least 3 participants - thanks @kostis, @ioannis, @jason !! ) was to allow users who browse the projects on a seed node to browse the same project on the web interface (e.g. app.radicle.network, or another one, configured in the extension settings) before deciding to clone a specific project. We will be moving forward with incorporating this idea (also on the Jetbrains Plugin), as we believe it will bring about a much smoother UX without requiring re-implementing the same functionality offered by the web interface inside the IDE (allowing us to decide much much later in the future about whether it is worthwhile doing that). 1. **"Learn more..."**: We saw increased requests for more learning resources during this round of interviews. While this feedback is probably only relevant to "first-time" / novice users, we expect this will be the majority of Extension users. We will therefore focus especially on this area, adding well-placed "Learn more" links (or (i) tooltips) wherever new Radicle terms are introduced in the UI, based on this feedback, already from the very first implementation phase. ## Interactive Prototype vs. Paper Prototypes Just like the 1st milestone, big difference with the original proposal was that we decided to deliver an interactive prototype, as opposed to the paper prototypes we were originally planning for. Same comments as in the 1st milestone also apply for this deliverable. ## Continuous Improvement vs. 2 Planned Ιterations Again - like the 1st milestone - another difference with the proposal was that rather than just 2 (larger) iterations of improvements, we have instead been making smaller, continuous, improvements to the designs, after every couple of workshops. ## Usability Workshops - User Sample Demographics In this section we present some demographics that should help understand better the group of users we observed. We are **explicitly excluding traditional demographics** like "age" (opting for years of experience instead) and "gender", so we can focus on areas more relevant to Radicle-related user personas: ![](https://i.imgur.com/zG2je3y.png =900x) ![](https://i.imgur.com/hEw5hSh.png =900x) ## Usability Workshops - Detailed Observer Notes ### 1. 2022-09-19 | Brandon ![](https://i.imgur.com/UOtnmtI.jpg =500x) ![](https://i.imgur.com/DRZTlBN.jpg =500x) #### Other Notes * Task 1 * He would like to see project list in radicle settings * He want to click on a seed node to see the projects. * He is lost and wants to click on the seed node. * He found a prototype bug * Task 2 * He want to see the open project in VS Code. * The initialize repository was not clear for him. He preferred publish name like than initialize repository. * He suggested an explanation text for Initialize repository before publishing. * Task 3 * He didn't expect the menu for radicle actions in source control. * Complete the task. * Task 4 * Don't understand why patches title in above track * He is confused trying to check out patch. * Reached final screen. * Improve the final results screen. --- ### 2. 2022-09-22 | Stephen ![](https://i.imgur.com/9SIk9Gs.jpg =500x) #### Other Notes * Task 1 * Searching actions on Source control. * Searching for the clone action for a long time. * Task completed after a long time of searching. * Task 2 * The description of the task is not clear for him. He was searching for publish action from the source library. * Task 3 * He is searching actions from radicle tool window and source control. * He don't know what changes has done to make the commit. * Task failed to complete. * Unfamiliarity with VS Code GUI. * Task 4 * Searching for pull * What is the purpose of Patches on radicle and how it is related with git actions. * The patches list is not so clear for him. * Suggested to change clone icon. * Iinitilized is not clear as a term. --- ### 3. 2022-09-23 | Kostis ![](https://i.imgur.com/Ogtql8z.jpg =500x) ![](https://i.imgur.com/tXy9IbA.jpg =500x) #### Other Notes * Task 1 * He was searching to find the seed list and then identity creation. * He don't know if it's all the seed nodes there. He was satisfied with the seed node creation requirements. (easy and short form) * He suggested to add a search form on the radicle tool window. * He was searching for a list with the projects on the radicle's plugin settings screen. * He was looking for a relationship with seed nodes and projects. Was not so clear for him. * He preferred to see a browse option like github to view a description etc. * Task 2 * The task description is not so clear for him. * He suggested to add ... (Initialize...)because he was afraid to push the button. He wants to know what is going on ( background actions) the whole process. * He didn't know if the initialize project is related with publish action. * He wants to know the git repo name. * It's not clear for him what action has done. * He don't know if the initialization action will publish the repo on a public view. * Task 3 * He don't have an idea how to do a pull request. He is going to the radicle tool window and tried to find the actions there. He was looking also for the branches there. * He don't know how to move on the task. * He was looking to find all the actions on Radicle tool window. * Failed to complete. * Task 4 * He didn't done before the merge action from inside the IDE GUI. * He was curious about Track action. * He was looking on the patch for a hover description like name, commit message or whatever related. * He was looking for a preview after the merge action. * He is feeling uncomfortable with the Track action as he didn't know what to expect. He was looking for a patch preview. * He suggested to view all the projects from all the seed nodes on a list. --- ### 4. 2022-09-26 | Michalis ![](https://i.imgur.com/H7755IY.jpg =500x) #### Other Notes * Task 1 * Easily, completed. * Task 2 * Easily, completed. * Task 3 * Suggestion after initialize project force the user to set project name and repository name. * Pull to sychronise your project, change of the final messaging. * Add tips and help buttons around. * Successfully completed * Task 4 * He is looking for a menu to view all the incoming changes/patches. * He can't understand the Track action. * It's not clear what the Track action will do. Comments: He suggested to add more help, info buttons around the GUI for the new user. He preferred the git terminology as the users are more familiar with it. (e.g. git patch vs. radicle patch) --- ### 5. 2022-09-26 | Iuri ![](https://i.imgur.com/i0eRfmV.jpg =500x) #### Other Notes * Task 1 * He can't understand the relationship between projects and seeds nodes. * Task 2 * Easily, completed. * Task 3 * Easily, completed. * Task 4 * Easily, completed. --- ### 6. 2022-09-28 | Manolis ![](https://i.imgur.com/VYQtPKF.jpg =500x) --- ### 7. 2022-10-03 | Balis #### Notes * Task 1 * More help text around GUI. * Options about the project. If it is private or public. * Task 2 * Easily, completed. * Task 3 * Easily, completed. * Task 4 * Easily, completed. Comments: To follow git terminology as the users are familiar with. --- ### 8. 2022-10-06 | Ioannis ![](https://i.imgur.com/mUP4BLT.jpg =500x) #### Other Notes * Task 1 * Easily completed, he liked the radicle tool window. * Task 2 * Easily completed * Task 3 * Confused with git commands and radicle commands * He tries to make changes/actions by clicking on the project. * He was used to use CLI for commit (not VS Code). He was searching for commit action. * Task 4 * Patches inside Projects as a submenu. * Nice to have open project to the browser. --- ### 9. 2022-10-06 | Jason ![](https://i.imgur.com/vcmEXLf.jpg =500x) ![](https://i.imgur.com/y6JzFV3.jpg =500x) --- ### 10. 2022-10-07 | Fotis #### Notes * Task 1 * Clicks side buttons * Clicks on Radicle button * Creates identity * Searches for seed node and can’t find it * Thinks he should create it * Adds seed node * Seed node added * Clicks on Browse projects * Clicks on Gitbox project and on clone button * No comments * Task 2 * Completes task with no issues, no comments * Task 3 * Notices the staged file * Clicks on commit button * Clicks on expandable menu and Push button * Found it very easy because it’s the same flow with his current workflow using git and github * Task 4 * Searches among the buttons. Finds it difficult to find out what to do. * Clicks on Radicle button * Goes to Patches -> Gitbox * Clicks on a commit and Track button * Completes the task * He sounds a little confused about the differences between his current knowledge about git and Radicle * He suggests to move the functionality in the git section, because people are used with this. * OR move everything to Radicle section. * You shouldn’t use 2 different sections to complete the set of functionalities --- ### 11. 2022-10-07 | Lucas #### Notes * Task 1 * Cli user and has no idea where to look for git stuff * Clicks on Radicle button * Creates an identity * Browses projects and doesn’t see the project * Goes back to Add a new Seed node * Adds the seed node * He is not very sure if the seed node was added * Tries to understand what the next step would be * Browses to Projects * Clicks on the Gitbox and Clone * Completes task * Task 2 * Completes task easily * Task 3 * Goes to Git section * Clicks on the staged file * Moves to other sections and explores * Goes back to the Git section * Comments: He made a change but he doesn’t see if anything has changed * He notices the staged file * He notices the buttons on top - Not clear to an inexperienced user * Clicks on Commit * Clicks on expandable menu * Clicks on Push * Completes task * Maybe we should show some popular options after a task, for example show Push option after a Commit (?) * Task 4 * Explores the Radicle section * Not sure what to do * Goes to other sections as well * Clicks on Radicle -> Projects -> Gitbox * Doesn’t notice the Patches section * Clicks on Project Gitbox again * Clicks on Patches -> Gitbox * Clicks on a commit and Track button * Not sure if he finiched * Comments: He would like it to be simpler. He would like to see everything in one place. Not multi-level menus and multiple sections. --- ## Conclusion & Next Steps We are delighted to have concluded the 2nd Milestone of our very first grant proposal! 🚀 With the first version of these low fidelity prototypes ready and validated by user feedback, we are now ready to proceed with planning the **implementation** of the Radicle IDE plugin for VS Code. While these deliverables are being evaluated, we are working on putting the team together that will submit the subsequent grant proposal to cover the first development iteration. Thanks for your time! Looking forward to your feedback!!