Cardano developers need Remix like IDE that just works without any setup required which is lacking.
KuberIDE is a browser based IDE for complete Plutus smart contracts development. No setup required. Write Plutus contracts, compile them and create transactions, all within the browser.
This is the total amount allocated to KuberIDE 2.0: A complete IDE for Plutus Smart Contracts development.
N/A
No dependencies.
The core of Kuber library which is a Haskell library and json-api for composing Cardano transactions and working with off-chain cardano blockchain. This has been open source since the beginning. You can find the source code here:
https://github.com/dquadrant/kuber
The components that will be open source in the future are the IDE components like Plutus/Haskell on demand compiler, Code Editor, Syntax Highlighting etc.
Getting started with writing smart contracts on Cardano with Plutus is hard because of the dependencies baggage. It can easily take days for developers to have a working and productive system setup for Plutus smart contract development. It does not have to be that way. Look how easy it is to get started on Ethereum.
There are several awesome people, projects and proposals on Cardano trying to address this problem by offering easy infrastructure setup for Cardano node, vscode like editors, and tools. This is great to see. However, we believe we can do better. How about no setup at all? All you need is a browser and a good internet. How does that sound? As a developer, if you can start writing smart contracts directly on the browser, compile the contract by clicking a button and deploy/interact with your contract by directly interacting with your favourite wallet. Wouldn't that be awesome? We believe so.
KuberIDE is our solution to the problem. It is a fully browser based IDE for a complete Plutus smart contracts development experience. No setup required. Just writing Plutus contracts, compile them on demand with a button and create transactions, sign them, interact with your favorite wallet, all within the browser. It may sound like selling a dream, it is not. In fact, KuberIDE is already live and you can start using it for free here: https://kuberide.com
This proposal is here to ask for your support so we can develop KuberIDE v2.0 with the features that further enhances the developer experience on Cardano. Here is a short summary.
Here is how the IDE looks like:
The proposed solution lies under 'Plutus and IELE tools & software' proposal type based on the challenge brief. The proposal is essentially an IDE for Plutus smart contract development that improve the lives of smart contract developers releasing them from the hassle of maintaining the infrastructure themselves.
In the last two years, we have trained several developers on Plutus/Haskell and we know the pain. We know first hand, getting somebody trained and make them productive on Cardano smart contract development is expensive. Having done smart contracts development on EVM chains ourselves before, we can feel how big the gap is. So, it was in our interest to make the process of training efficient and getting developers productive as quickly as possible. Exactly for that, we have made a significat personal investment to get KuberIDE to what it is now. With KuberIDE, it has become so much productive to get a developer onboard. We use the IDE for our own contract development and testing and constantly improve with perf improvement and bug fixes.
We believe so many Cardano developers can benefit from KuberIDE. Especially new developers just trying to join the journey of developing smart contracts on Cardano. KuberIDE hides the complexity of the infrastructure and lets developers focus on what is important - contract code.
We have participated and helped organize Hackathons where we have majority of the participants struggle at the first step of getting the environment setup. At the end they get a feeling of not-so-productive hackathons. That is sad. Imagine now organizing Hackathon with KuberIDE. The participants can get directly into writing smart contracts, compile the code with a button and deploy their contracts by interacting with the wallet. They will get a sense of achievement at the end of the session. Wouldn't that improve the Cardano developers experience?
Quantifying the impact, we would consider KuberIDE a success if we can improve the developer experience of 100 developers in a year, realistically speaking.
The measure of the success is adoption of the IDE by the broader developer community on Cardano. Knowing how many developers are building on Cardano using KuberIDE on a regular basis would be main metric to measure.
Here is a list of metrics we intend to measure.
Our proposal here is to deliver KuberIDE 2.0 with the features listed in the proposal incrementally, one feature at a time. Therefore, with each feature complete, we plan to do a minor release and share with the community. Then the broader community can be the judge of the development and the delivery. This will be reflected by the results.
Regarding results, we plan to publish the above mentioned metrics on our website (https://kuberide.com) so it is realtime and visible to anybody at any time.
For the developer surveys which are qualitative, we'll share the results on a blog and hopefully on Catalyst Town Hall if given a chance.
In terms of capability, we believe we're the best team to deliver the project for these reasons:
To demonstrate that we can manage the funds properly, we plan to show how employ the agile software development methodology as we have always done ourselves internally.
The main goals of the project are:
Regarding the validation if the approach is feasible, we have already done research on them and have a good idea on how we can implement them.
Most of the goals are technical features which are based on the feedback from the users of the IDE. Based on our current research, knowledge and experience, there are no known blockers to achieve the above mentioned goals so we find them feasible for this project.
Milestone 1: Core Compiler Improvements
Key tasks:
Timeline: 2 months
Projected costs: 117,073 Ada
Implementation Plan:
Milestone 2: Contract Tests and Docs
Key tasks:
Timeline: 2 months
Projected costs: 117,073 Ada
Implementation Plan:
Milestone 3: Better source code management
Key tasks:
Timeline: 2 months
Projected costs: 78,049 Ada
Implementation Plan
Milestone 4: Audit readiness
Key tasks:
Timeline: 2 months
Projected costs: 78,049 Ada
Implementation Plan
Milestone 1: Core Compiler Improvements
Deliverables:
Output:
Intended outcomes:
Milestone 2: Contract Tests and Docs
Deliverables:
Output:
Intended Outcome:
Milestone 3: Better source code management
Deliverables:
Output:
Intended Outcome:
Milestone 4: Audit readiness
Deliverables:
Output:
Intended Outcome:
Milestone 1: Core compiler improvements
Resources: 2 backend developer, 1 devops/reliability engineer
Timeline: 2 months
Budget: 117,073 Ada
Milestone 2: Contract Tests
Resources: 2 backend developer, 1 frontend developer
Timeline: 2 months
Budget: 117,073 Ada
Milestone 3: Better source code management
Resources: 1 backend developer, 2 frontend developer
Timeline: 2 months
Budget: 78,049 Ada
Milestone 4: Audit readiness
Resources: 2 backend developer, 1 frontend developer
Timeline: 2 months
Budget: 78,049 Ada
Project Management (1)
Timeline: 8 months
Budget: 39,024 Ada
Marketing & community engagement (1)
Timeline: 8 months
Budget: 39,024 Ada
Total budget: 468,292 Ada
First and foremost, we have been doing the development of the IDE ourselves for over a year without any external investment. This is a significant commitment and investment from our side. We believe that investing in developers productivity will pay off over time. Preventing the waste of developers time struggling to get the infrastructure working in itself is a very satisfying feeling. Hope the community agrees with me.
While we made the investment building the first version of the IDE which is available for free for everybody to use, we would like your support in building the next release which will be better, faster and scalable.
The costs are reflective of the time required to build the features mentioned in this proposal.
Sandip Pandey, Project Manager
Sudip Bhattarai, Lead engineer
Nabin Pokharel, Plutus/backend developer
Kushal Pokharel, Plutus/backend developer
Simran KC, Plutus/backend developer
Bibishan Pandey, frontend developer
Ankit Sapkota, frontend developer
Moni Dahal, Marketing and Promotion
This is the same team that built the current version of KuberIDE.