I’d like to throw an idea out here and see where it lands.
Several weeks ago, @kpeacock and I were roadmapping the next few quarters when Kyle brought up the concept of a graphical user interface for DFX.
Imagine a native application that sits on your dock, that when launched, gives you the ability to configure dfx.json visually, call canisters with arguments that can be composed through a form-based UI, and gives you deeper control over your identity while allowing you to interoperate with Internet Identity. There are a number of other bells and whistles we could add, but as a minimum viable product, it would include the following capabilities:
ability to log in with Internet Identity
ability to interoperate Internet Identity with dfx identity
ability to compose canister arguments through a form and call a canister via the UI
ability to edit JSON configurations such as dfx.json
Is there some interest from the community to take such a project on? If so, I will happily work with our growth team to put together a bounty.
As someone new to the ecosystem and getting back into development after a long hiatus, I think it would be great. I may be doing it wrong and inefficient, but as I’m working through the tutorials, or making small changes to learn motoko, having to type “dfx start --background” “dfx deploy” “dfx stop” after incremental changes is painful.
I struggle visualizing canisters so that part would be a great help as well. Personally, any repetitive action that can be replaced by a button for a “noob” like myself would be very welcome. Ha ha!
Most of the work would presumably be in the js. E.g. doing visualization of more than a small number of networked components well is hard. At least it is if you care about the relationships between the components. Just providing a grid of icons representing canisters would work fine.
If this is built for a native app, presumably the js could still be lifted out and hosted by a canister.
The last time I checked Tauri, admittedly when Tauri was quite young, things such as pinch and zoom did not work; Tauri always returned just a single pointer coordinate. It might be worth testing that it supports the basic set of UI gestures needed for a given design. It probably does. But it’s worth checking.
fwiw, we didn’t get this far. we stuck mostly to conceptual discussions around this project. I would love to see some UI mockups as well! that will be part of the bounty.
Hi, we have really loved the idea and want to create a proposal which includes technical scheme, deliverables and milestones for this concept. We will share the proposal as soon as possible. Thank you for this great idea.
Hi guys, saw this bounty on Github and just came here to apply for it.
I’ve been playing around with the IC SDK and I think adding GUI it’s a great idea.
Please check my Gitcoin portfolio and especially the last bounty I made for the iExec team, (the links are in my application to this bounty on Github, since here are not allowed).
Looking forward to work with you guys.