Replies: 14 comments 18 replies
-
Thanks for getting this all started. Since I was a part of the initial writing up of the working group, I'll leave it to others to provide their thoughts. One important thing to remember is that these things will take some time, and since this group is working from all over the world, we'll want to leave ample time in discussions for people to respond and provide their thoughts. Slow and steady wins the race :) With that said, putting in the effort to keep us all on track is necessary and you're doing a great job 🙇 |
Beta Was this translation helpful? Give feedback.
-
Thanks for starting this! Busy Australian here so will be as involved as work/life/timezones permit 😅 To summarise my understanding of the working group: Its primary purpose is to support library and framework authors within the BEAM ecosystem to ensure that both authors and the developers using and contributing to their work have a robust, supportive, and pleasant experience. A bit about my perspective - I'm currently working as a full-stack consultant who primarily works with Elixir and Phoenix LiveView, as well as the Ash Framework, in my day-to-day code. As an early adopter of Ash who picked it up while I was still learning the ropes in Elixir, I've come to understand just how important it is that authors are able to clearly communicate and document their work to ensure a smooth onboarding experience for developers. In addition to easing the learning curve for devs picking up these tools for the first time, having a robust culture of documentation eases the burden on authors in terms of being available to answer user questions, allowing them more time to continue adding to and improving their libraries and frameworks. As such, my primary interest for volunteering, and where I feel I am most useful as a relatively new developer, is around finding the best methods and strategies for effective documentation, as well as ongoing maintenance of existing library and framework documentation. |
Beta Was this translation helpful? Give feedback.
-
Thanks for setting this up, excited to see where this leads to! I'm the developer of live_svelte and it was my first foray into developing an Elixir library. I hope to provide some useful input and ideas for the group in the coming future. Mostly have input on the Elixir front but I understand the group envelopes all BEAM languages. What I understand from the group, and it's purpose, is to improve the developing experience for library authors in the BEAM ecosystem, as well as the consuming experience for developers using libraries. The group's goals are to improve this experience, and they will do so by discussion, suggestion and standardization. I'm particularly interested in documentation, and making beginners (to programming in general or to BEAM) feel welcome to Elixir and the BEAM by having a great ecosystem to learn from and explore in. One thing I'd love to see is a 'standard template' to start libraries from, with a documentation setup that feels clean and well thought out. Another thing I'd want to do is lead by example, by conforming all our own libraries to a certain set of standards that new library authors can learn from. |
Beta Was this translation helpful? Give feedback.
-
I was especially reminded of this https://hexdocs.pm/elixir/main/library-guidelines.html when I heard about this WorkingGroup first. |
Beta Was this translation helpful? Give feedback.
-
I agree with everything that others have said. To add another idea, I think it's important to promote library/framework discoverability and make it easy for developers to find what they might need. In particular I often look at: We could also provide some guides for library authors about how they can fund their work via platforms like GitHub Sponsors, Patreon, OpenCollective, LiberaPay, etc. |
Beta Was this translation helpful? Give feedback.
-
I agree with what others said and think having best practices around CI for hex packages would be nice. A resource that comes to mind is https://github.com/felt/ultimate-elixir-ci. |
Beta Was this translation helpful? Give feedback.
-
I agree with ideas above. One aspect that I would like to highlight is - demo-able examples of ecosystems that have a lot of libraries. Example
|
Beta Was this translation helpful? Give feedback.
-
As I discussed with some of you, here is a list of things I would like to see in the ecosystem:
My primary goal is to create a more aligned ecosystem. My most immediate task: create a proposal (ideally at the Erlang level probably) to introduce Feature Flagging (like Rust, as an example) that would allow Language Layer but also package maintainers or even Elixir/Erlang peeps to test features without committing ahead of time to it. App devs to tree-shake their apps without asking OSS maintainers to take the burden of creating tiny packages (packages like Ueberauth, Tesla, Ash (I believe), Swoosh, and many others that have all the adapters built-in, but we barely use all of them). From a simple point of view: Hex packages are for the distribution of an artifact, while Feature Flagging helps you know exactly what you would like to have compiled in your application. Have a robust way to deal with existing pain points between App and Package devs.
|
Beta Was this translation helpful? Give feedback.
-
For me the most important thing missing in the ecosystem, is courses/blogs/documentation.
Everything else the previous people covered. |
Beta Was this translation helpful? Give feedback.
-
Alright! We've got tons of great ideas, and I think a good shared understanding of what we're trying to improve in general. I think a common theme is that there are "big" ways that we can help, in addition to "small" ways that we can help (in terms of time investment/requiring programming). Big:
Small:
Maybe big or small:
Let me know what can also be added to this list. Once we compile this list, I think our best way to start making progress is to choose one big thing and start on it as a group. I also know that, for example, @yordis is doing some work towards creating a new site that wraps hex, and may perhaps like to make progress on that concurrently with whatever we do. Thats cool with me :) Then, we can also start making a list of small things we can do, and try to put in a little bit of work each week towards those things. How does that sound? |
Beta Was this translation helpful? Give feedback.
-
Sounds like an amazing plan. 🚀 |
Beta Was this translation helpful? Give feedback.
-
Greetings everyone, I'd like to introduce another perspective on data visualization. However, kindly bear in mind that the information is generated by an AI bot, so its usefulness may vary based on your specific needs. We will now be closing this particular conversation. Nevertheless, your feedback is crucial to us. We encourage you to keep sharing your insights and suggestions via our Discussion section! Expectations:
Interests:
Documentation (20 mentions): This is the most frequently mentioned term, highlighting the group's primary interest in improving documentation. This includes creating standards, templates, and strategies for effective documentation, encouraging extensive writing, and maintaining documentation for library and framework authors. Ecosystem (12 mentions): This indicates the participants' focus on enhancing the overall BEAM ecosystem. Expectations around this involve improving the developer experience, package discoverability, quality of packages, and fostering a supportive community. Packages (9 mentions): The participants discuss the need to improve the developing and consuming experiences for library authors and developers using libraries, implying that there is interest in enhancing the quality and utility of packages in the BEAM ecosystem. Library/Libraries (8 mentions): A key focus in the discussion, it refers to the need to support library authors better and improve the developers' experience using and contributing to their work. Hex (7 mentions): This shows the participants' interest in improving Hex, a package manager for the Erlang ecosystem, with enhancements like feature flagging, better documentation, and a website with additional metadata. Experience (6 mentions): This reflects the goal to improve the experience for both library authors and developers using and contributing to their work. It can be actioned by enhancing the onboarding experience, supporting library authors, and refining the BEAM ecosystem. Guidelines (5 mentions): This suggests that the participants want clear guidelines for tasks like writing effective documentation, extending and improving package quality, and best practices for CI. Templates (4 mentions): Reflects the expectation to have standard templates for starting libraries and improving Hex documentation. Standards (4 mentions): Indicates a desire to establish standards across the BEAM ecosystem, potentially for documentation, package development, and library creation. Community (3 mentions): Emphasizes the expectation for a supportive community for the package ecosystem. Using these data points, you could prioritize the expectations identified earlier as follows: Improve Documentation: This task seems to have high urgency, importance, and stakeholder interest, and might not require much resources or time to get started. It also has low risks involved. Enhance the BEAM Ecosystem: This task is very important for the long-term success of the project, but it could be a high-effort task with many dependencies. Create Standards and Guidelines: This task is crucial for maintaining the quality of the project, but it might require a considerable amount of resources and time. Improve Hex: This is important, but since it might require a lot of effort and is dependent on other tasks (like improving documentation), it could be lower on the priority list. Supportive Community: While fostering a supportive community is important, it is a long-term, ongoing effort that does not have a definite end. It can be done in parallel with other tasks. |
Beta Was this translation helpful? Give feedback.
-
Maybe I missed it, sorry if I did, however one feature I would love to see is possibility to hand the library to organization. Let's say I create SMTP library in elixir, and because of lack of time/interest or the fact that I want to state that the library is up to your standards, I would like to be able to have a process of handing the library to your organization, you would review the code and if it is up to your standards, you would accept it and mark the group as the maintainer. This solves problem of dead/poor quality libraries by saying 2 things:
|
Beta Was this translation helpful? Give feedback.
-
Hi,
I'm intrigued. Why would the foundation release some libraries or packages?
How would it keep it neutral against the ecosystem?
Benoît
Le jeu. 29 juin 2023 à 17:51, Yordis Prieto ***@***.***> a
écrit :
As you may know, we recently established the Libraries and Frameworks
Working Group <https://erlef.org/wg/libs-and-frameworks> to ensure that
BEAM languages have a rich, vibrant ecosystem and a high degree of
developer experience.
We aim to provide resources for library and framework authors, promote
best practices on library and framework standardization, and improve the
visibility and usability of our library ecosystem.
This effort will only be possible with your active participation and
invaluable feedback. So, we would like to invite you to share your
understanding, expectations, and what you want to see from this working
group.
This discussion seeks to achieve two critical objectives:
- *Gather Feedback on Your Understanding of the Group:* Your thoughts
will help us determine if the group's mission and objectives are
communicated and understood. That includes our short-term and long-term
deliverables, our commitment to the community, and why we believe the
Foundation's involvement is crucial in achieving our goals. We hope to
refine our messaging based on your feedback, ensuring that our mission
resonates with all.
- *Understand Your Expectations and Interests:* What would you like to
see us achieve? Would you like us to address any specific challenges you
face as a developer or library author? Are there any areas of interest we
should focus on? Your insights will guide our strategic planning and help
us prioritize the most beneficial initiatives for the community.
We value your opinions and would be grateful if you could take a few
moments to share your thoughts. Your feedback is essential to ensure the
Libraries and Frameworks Working Group meets the needs of the BEAM language
ecosystem and serves the community in the best possible way.
—
Reply to this email directly, view it on GitHub
<#1>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAADRIVSXNFNGBMBDQW5SMLXNWP6PANCNFSM6AAAAAAZYWTTOQ>
.
You are receiving this because you are subscribed to this thread.Message
ID: ***@***.***>
--
Sent from my Mobile
|
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
As you may know, we recently established the Libraries and Frameworks Working Group to ensure that BEAM languages have a rich, vibrant ecosystem and a high degree of developer experience.
We aim to provide resources for library and framework authors, promote best practices on library and framework standardization, and improve the visibility and usability of our library ecosystem.
This effort will only be possible with your active participation and invaluable feedback. So, we would like to invite you to share your understanding, expectations, and what you want to see from this working group.
This discussion seeks to achieve two critical objectives:
We value your opinions and would be grateful if you could take a few moments to share your thoughts. Your feedback is essential to ensure the Libraries and Frameworks Working Group meets the needs of the BEAM language ecosystem and serves the community in the best possible way.
Beta Was this translation helpful? Give feedback.
All reactions