Hello everyone. Jason from the SDK team here to give you a little update on our SDK roadmap.
You may have bore witness to this already if you attended the recent (our first public!) Global R&D, or if you came to our Developer Tooling Working Group session (ask me for the link if you don’t have it). I’m here to network with you on the themes we’re focused on and the feature highlights we’re currently considering.
Our timeline and focus areas are still malleable at this point - I would love to hear your feedback so the team can work with you all to ensure your needs are not long forgotten.
Without further ado, let’s jump in. In no particular order, the themes are:
Monitoring, Testing, and Debugging
Why does it matter?
Developers need insight into the behavior of their applications so that they can discover, triage, and resolve issues affecting their users and/or business.
What we’re doing about it
The road to debugging your canisters is long, but the need for you to troubleshoot problems is nigh. We’re looking at what we can do to give you access to your canister’s mainnet logs so that you can triage and fix issues with quicker turnarounds. Stay tuned for more on cost model and features you would come to expect with first-class logging support.
Canister Management
Why does it matter?
Views on canister health, cycles balance, and performance are key to ensuring a reliable and efficient canister ecosystem on IC.
What we’re doing about it
We’re thinking of ways we can help developers become aware of and respond to critical events that occur during the lifecycle of a canister, such as cycles balance dropping below, or storage limits exceeding a certain threshold. The best solution here may live in user-land, so that can be a wonderful opportunity for one of you to build something great!
Identity
Why does it matter?
Web3 is predicated on ownership, and developers should be able to fully leverage the capabilities offered by cryptographically secure, decentralized identity in their dapps.
What we’re doing about it
We’re planning new ways to let dfx
integrate with external identity providers, like Internet Identity or Plug.
Local Environment Synchronization
Why does it matter?
Developers should be able to harness the full power of mainnet IC within their local development environment so that they can build advanced integrations with system canisters and community projects.
What we’re doing about it
What if you could have “build once, run anywhere” WASM? We’re thinking about how we can make it so the same WASM can be deployed on mainnet and in your local environment. Looking beyond, this could open the door to a DockerHub-esque project (WASM Hub?) that the community could build to distribute IC-compatible web assembly modules across the ecosystem, lowering the barrier of entry for developers looking to integrate with specific projects in their apps.
Mobile App and Oracle Support
Why does it matter?
To accelerate end-user adoption of the IC, we should have better support for mobile. To expand the possibilities available to developers, we should support more programming languages that can be used to interact with canisters on the IC.
What we’re doing about it
If you’re passionate about mobile development, we’d like to encourage you to build agents for languages like Swift or Java with bindings for iOS / Android. If there is another language you love to use but there isn’t an agent out for it yet, why not build it yourself? We have bounty programs and a terrific grant program available. Reach out to me directly to learn more about how you can step up and build an agent.
DFX Quality of Life
Why does it matter?
The dfx
user experience should be extraordinary. We are committed to making dfx
friendly to newcomers, yet powerful for professionals.
What we’re doing about it
We have several new initiatives in place to improve the overall dfx
user experience. Things like System Wide DFX (coming soon), and the removal of the cycles wallet are examples of what we’re doing to simplify your use of the beloved Dfinity Executor. We would also like to better ascertain what we don’t know about dfx. The upcoming dfx quickstart
command will ship with some new features that give you better insight into your account and canisters, and help us make dfx better for all of you.
Conclusion
So, what do you think? Share your thoughts, excitement, concerns, and feedback in the thread! Me and the team will respond as the questions come in.
You are the best developer community in the world! Looking forward to hearing your thoughts.