- Status: Open
- Proposer: @gsaslis
- Your Project(s): [optional]:
- Projects you think this work could be useful for [optional]: smoother onboarding and day-to-day operations with Radicle
Overview
Following on from the grant that funded:
- the work for the addition of Patch Proposals and Issues in the Jetbrains IDE plugin and
- initial Heartwood support in the Visual Studio Code extension for Radicle,
we are submitting a follow-up proposal to cover:
- all development work, on both plugins, from 1 July - 30 September
We feel this quarterly model better matches the current needs and reduces friction on both sides (Grantee - Radicle Grants Program team).
Description
Here is an overview of the progress so far and future development goals for each plugin, for the next 3 months:
VS Code Extension
At the moment of writing this, version 0.2 of the VS Code extension is in the final phases of development - targeted to be shipped towards the end of this week (end of June). v0.2 brings the first Heartwood support to VS Code:
- adapting the extension for changes around identity and node storage introduced in Heartwood,
- Secure storage and automatic re-use on reboot for Passphrases (per identity)
- adding support for using the HTTP API (as opposed to just wrapping the
rad
command-line interface (CLI)) and - introducing the ability to clone radicle projects (your radicle-node knows about) by:
- browsing the list of projects, or
- by simply using the unique radicle project id.
For the next quarter, the main goal for the VS Code extension is pretty clear, as it will follow on pretty much the same path as the Jetbrains IDE plugin.
First, we will move to introduce support for Radicle Patches (v0.3), so we can enable developers to exchange code changes and discuss about them, on Radicle, from their IDE. Next, and as time allows, we will move to incorporate Issues (v0.4), so that Radicle experience in VS Code becomes richer and more substantial:
There’s a certain magic in not having to switch to the browser (and finding the right tab!!) just to see comments from your peers about the code you’re working on and information about the issue describing the work ahead of you.
Less context switching greatly enhances focus and helps maintain the state of “flow” that we all feel so content in.
Along the way, we’ll also need to take the time to put a better testing strategy in place and incorporate that in our CI pipeline, as well as better architect some parts of the extension related to HTTP API calls (where we will work together with the radicle-interface
team, as needed).
This is all to serve the - rather more ambitious, for Q3, it has to be said - goals of:
- moving the extension development to Radicle (from GitHub)
- moving the extension development to use the extension itself as the necessary Radicle-related tooling, finally allowing us to “drink our own champagne” - also commonly called “dogfooding”.
For the time being, the roadmap for the VS Code Extension lives here and our plans for future development will be organized using GitHub Milestones.
Jetbrains IDE plugin
On the Jetbrains IDE plugin front (where development started much earlier and moved faster in the early stages), we’ve now already shipped v0.5
- which supports viewing and interacting with Radicle Patches from your IDE - and are planning to ship v0.6
at the end of June - bringing support the initial set of support for Radicle Issues.
In the following months, included in this Grant proposal, our main goal is to:
- move development of the plugin away from GitHub and onto Radicle
- stop using GitHub Pull Requests (PRs) and use Patches - trough the IDE plugin itself
- stop using GitHub Issues and switch to Radicle Issues - trough the IDE plugin itself
- assumes current blocker issues (planning milestones + screenshot/attachments) are resolved
We are setting this as our main and earliest goal, because now that the initial set of functionality is there (i.e. you can view patches / issues in your IDE and comment on them), we want the development of the next features to be guided by our own pains and experience as we use the plugin itself (where possible) to accomplish our day-to-day work. This is also in-line with the overall “dogfooding first” approach adopted by the Heartwood core team and we feel will also help Heartwood itself.
We have already highlighted 2 areas that we feel we will need to put specific emphasis on:
-
Patch Reviews - focus on making our own experience around reviewing patches as smooth as possible: add support for inline comments, approvals / requested changes, smooth merging of Patches, UX improvements to address “unread” content (e.g. comments that were written before the latest ones we’ve seen - but that our node only just found out about), etc.
-
Issue integration with IDE - the Jetbrains IDE already provides specific UX improvements around working with “Tasks” (handling e.g. automatic branch creation with the task id in the branch name / auto-switching branches when switching to a different “task context” / automated opening of PR for the “Task” and so on). We want to investigate this area in more detail, in order to understand the potential it creates for Radicle, in terms of a superior Development Experience, compared to existing tools.
Rather than committing on a specific order for working on these, we would like to allow our own tasting of “our own champagne” to dictate priorities. By the end of the 3rd Quarter 2023 we want this plugin to be entirely off GitHub (save for, perhaps, a mirror - for discoverability) and not only “on Radicle”, but also taking our first steps towards an improved Developer eXperience.
The detailed roadmap for the Jetbrains IDE plugin also lives in GitHub Issues for the time being.
Closing the “gap”
For this quarter, we will be ramping up the efforts on the VS Code side, spending about 45% more development hours on that, and reduce the number of hours on the Jetbrains IDE plugin (by around 25%), so we can start closing the current gap - in terms of functionality - between the two IDE plugins.
Budget
- Total Duration: 137.75 FTE days
- Software Engineer Full-time equivalent (FTE): 24 FTE days
- Senior Software Engineer Full-time equivalent (FTE): 83.75 FTE days
- Team Lead / Product Owner Full-time equivalent (FTE): 30 FTE days
- Total Costs: 103 947 EUR ( 113 448 USDC)
- Recipient Wallet: 0x445717316388f1d1fb1730D3f6f9Bf59e0b03f4f
Drips-Powered Payments
The first experience receiving a Radicle Grant payment through Drips has worked great so far (and has already created real-world usage feedback for the Drips team), so we propose to continue using Drips, in order to continue “drinking our own champagne” and reusing another product from the same stack.
Team
Team members
- Yorgos Saslis
- Ioannis Christodoulou
- Stelios Mavrommatakis
- Kostis Maninakis
The same team that’s worked in the previous IDE plugin grants.
Contact
- Contact Name: Yorgos Saslis
- Contact Email: I can share this privately on discord.
- Website: https://gsaslis.github.io/
Team’s experience
- [Yorgos] 15+ years of experience in various roles of the full Software Development Lifecycle: writing code, agreeing on specs with clients, architecting systems, establishing product priorities, designing testing and CI strategies, and co-creating department-wide processes - with an itch for driving “waste” out the door. Co-founder of developer communities (DevStaff, Heraklion Software Crafters, Web3 Greece) and co-organizer of open space unconferences (Software Crafters Crete, JCrete) on the (paradise!) island of Crete!
- [Ioannis] is a Software Architect with 10 years of professional experience in Web and Mobile applications, such as Greek Passenger Locator Form (a web application that all travelers coming to Greece were required to fill-in) and Covid Free GR (the mobile application used throughout Greece to verify COVID-19 vaccination, recovery and test certificates). He is also the creator and maintainer of an IntelliJ plugin (GitExtender - github, marketplace ) for managing and updating multiple git repositories in the same IntelliJ project.
- [Kostis] After many years of international professional experience, Kostis has grown into a frontend-oriented software crafter with a passion for web technologies, developer tools, and refined user experiences. With occasional contributions to local dev communities and open-source software, including publishing the popular TypeScript library ts-xor, Kostis has always been looking for opportunities to become increasingly active in open-source software development. Moreover, he was there during Bitcoin’s early rise in 2011, actively partaking in the cipher-punk community’s radical discussions while mining his first Bitcoin with his desktop CPU, which he subsequently day-traded for many sleepless months.
- [Stelios] is a young Full Stack Software Engineer focused on web applications development. He had participated in large software projects like the EU-DPLF (https://euplf.eu/) a paneuropean application for covid19 contact tracing for tavelers to the EU. He is a passionate software engineer and is currently working on a web3 project expanding his knowledge and experience in new and challenging sectors.
Team Code Repos
- gsaslis (Yorgos Saslis) · GitHub
- JChrist (Ioannis Christodoulou) · GitHub
- maninak (Kostis Maninakis) · GitHub
- Stelios123 (steliosMavr) · GitHub
Team LinkedIn Profiles (if available)
- https://www.linkedin.com/in/gsaslis
- Ioannis Christodoulou - Software Team Lead - Cytech Mobile | LinkedIn
- https://www.linkedin.com/in/stelios-mavrommatakis
Additional Information
How did you hear about the Grants Program? Radicle Discord