Hello,
First off, I really enjoyed the on-air this morning.
Great to hear your stories @pedroleaoc and @bianka. Thank you both for your investment and engagement with the juju community.
Following the on-air, @erik-lonroth and I were discussing the “new user journey” and a few tools that we believe could be valuable in helping onboard developers to learn juju and develop charms.
Some common recurring themes in our conversation:
-
Missing state diagram
A simple visualization will speak 1,000,000 words here. Verbally or textually explaining the event lifecycle to someone is a difficult task. We believe a simple diagram could alleviate the contention of what the juju event framework is, and how to build into it. This would be extremely helpful for new-comers and existing charmers alike. -
Well defined patterns for development of a charm
When first diving into writing a charm, the implementer is often (from our experience) left wondering how to go about writing a charm the “right way” and what best practices for writing charms exist. Questions often arise like “what patterns exist?”, “how can I ensure I am programming against the system in a way it was intended to be used?”, “what is available in an event object?, why?”. The detailed information about these things at a lower level are difficult to understand initially and are the things that actually really matter, especially when getting started. We feel a curated guide to juju internals and charm development are badly needed. -
Educational Material
There is a good amount of documentation out there on juju (cheers and thank you), whether it is accurate/up to date is another storyWe feel that a general educational platform for learning juju itself and developing charms has been overlooked. An onboarding process for developing charms would allow users to go through the motions of understanding how juju works and what charm development looks/feels like. We believe that copying other open ecosystem’s success story in educating and onboarding users may behoove the juju ecosystem here. One onboarding success story that we keep referencing is the android developer guide. We are wondering what people’s thoughts are on adopting an onboarding process and content for juju and charming that is similar in structure to the android development onboarding.
We have a few ideas on how to get started on bringing the aforementioned initiatives to life, but wanted to open these topics up for feedback before we try and jump in any further.
Thoughts?
Thank you!