The Ember Times - Issue No. 160

👋 Emberistas! 🐹

"I contribute to Ember" with Isaac Lee and Jared Galanis 🙌, how to participate in the Ember RFC process 🚀, EmberFest: share your virtual Hello with us! 🐹, learn how to use csz in your Ember app 🌟, and last, but not least, ember-cli-next: an experimental terminal UI for ember-cli 🔥!


"I contribute to Ember" with Isaac Lee and Jared Galanis 🙌

Isaac Lee
Jared Galanis

In the 15th edition of our contributor interview series, we're highlighting The Ember Times' very own Isaac Lee (@ijlee2) and Jared Galanis (@jaredgalanis). We'd like to thank Isaac and Jared for their contributions to the Ember community, and congratulate them for joining the Ember Learning Core Team!

Check out the full interview on the Ember Discuss forum. They discuss their biggest motivations in contributing to Ember and how they got started in open source.

Read more

The idea behind these interviews is to provide community members with more information and insight into open source contributions, learning resources, and community events. Contributors to the community gain a platform to share their thoughts on their own experiences and learnings as they were contributing to Ember. Our hope is that it gives first-time and advancing contributors a better sense of the fact that everyone starts out small, and that anyone can have a big impact on the community.


How to participate in the Ember RFC process 🚀

The Request For Comments (RFC) process is intended to provide a consistent and controlled path for new features to enter the Ember.js framework.

Many changes, including bug fixes and documentation improvements, can be implemented and reviewed via the normal GitHub pull request workflow on the appropriate repo. Some changes though are "substantial", and we ask that these be put through a bit of a design process and produce a consensus among the Ember core teams.

So, what's a good way to propose your awesome idea? Well, there are a few options:

  1. Chat with others about your idea in the #dev-rfc channel in Discord. This is a good way to get some initial feedback on your idea from folks in the community who have experience writing RFCs. They can also help you figure out if an RFC is already in the core team's backlog, and what next steps might look like.
  2. Submit an issue to the RFC repo. This is a great way to receive feedback before you start writing the RFC, and will help you maintain efficiency.

Once you are ready to write the RFC for your awesome idea, there are a few important steps:

  1. Read through the entire README so that you understand what your RFC needs to succeed. Sometimes folks will skip over the "How we teach this" section or the "Alternatives" section of the template, and both of those are important to include for the RFC to proceed.
  2. Find a core team member to champion the RFC! All RFCs need a core team champion, so review the team list to see who you should approach about championing your issue. That core team member makes sure that your RFC is discussed in meetings, so it's essential to have one if you want your awesome idea to succeed!

If you're interested in eventually writing RFCs but don't know where to start, here are some steps you can take on your own:

  • Read through the RFCs that have been accepted. Look for the patterns, what similarities do they have?
  • Read through the issues in the RFC repo. Sometimes folks will know that an RFC needs to be written, but they don't have time to write it. That's a great place to start digging in.
  • Read through RFC pull requests and read the questions and comments on the PRs. Look for patterns there too- can you anticipate questions and answer them in your RFC before they are asked?

All in all, the RFC process is important to the growth of our community, but it can definitely be a little bit intimidating to know where to start if you're not used to writing RFCs! Hopefully this quick guide gives you a good idea of where to start.


Learn how to use csz in your Ember app 🌟

Last month, Rajasegar Chandran (@rajasegar) gave a virtual talk at ESNextConf. 🎉 He talked about csz, a super tiny, framework-agnostic CSS-in-JS solution.

In addition, Rajasegar published an addon called ember-csz. It provides a template helper so that we can try out csz in our Ember app.

{{!-- app/components/my-button.hbs --}}
<button class={{this.styleForButton}} type="button">
  {{@label}}
</button>
// app/components/my-button.js
import Component from '@glimmer/component';
import csz from 'csz';

export default class MyButtonComponent extends Component {
  styleForButton = csz`
    background: ${this.args.primary ? 'palevioletred' : 'white'};
    color: ${this.args.primary ? 'white' : 'palevioletred'};
    padding: 0.25em 1em;
  `;
}

Be sure to check out Rajasegar's talk and blog post about ember-csz to learn more!


ember-cli-next: An experimental terminal UI for ember-cli 🔥

If you haven't seen Rajasegar Chandran's (@rajasegar) fantastic new experimental terminal UI for ember-cli, ember-cli-next, you may want to check it out.

There are some pretty compelling ideas being presented in ember-cli-next around what command line user interface tooling could look like in the future. ember-cli-next allows ember-cli commands and project tasks to be displayed within a single unified terminal window.

There is also a brief video demo to watch on YouTube that shows some of the things that ember-cli-next can do, and you can take a look at the repo here.


EmberFest: Share your virtual Hello with us! 🐹

EmberFest, the European EmberJS conference, is skipping this year’s conference due to COVID-19. However, the organizers of the conference are looking for people who are interested in sharing a personal message or a short Hello video virtually.

If this sounds right up your alley you can upload your video on Dropbox.

Alternatively, if webcams aren’t your thing, maybe you have some fun video impressions from the past years that capture the spirit of the conference. Ember developers strolling through that year's city, at the dinner party, or while in transit. Anything that reflects the EmberFest vibe and builds anticipation for our next in-person gathering is great and much appreciated!


Contributors' corner 👏

This week we'd like to thank @alexlafroscia, @amyrlam, @bmish, @buschtoens, @chadhietala, @chrism, @chrisrng, @davelindquist-egistix, @ef4, @ijlee2, @jamescdavis, @jaredgalanis, @jherdman, @kiwiupover, @lukemelia, @mansona, @maxhq, @Mikek2252, @NullVoxPopuli, @ondrejsevcik, @pzuraq, @rwjblue, @rwwagner90, @snewcomer, @sourabhmandal, @Turbo87 for their contributions to Ember and related repositories! 💖


Connect with us 🤓

Office Hours Tomster Mascot

Wondering about something related to Ember, Ember Data, Glimmer, or addons in the Ember ecosystem, but don't know where to ask? Readers’ Questions are just for you!

Submit your own short and sweet question under bit.ly/ask-ember-core. And don’t worry, there are no silly questions, we appreciate them all - promise! 🤞

Want to write for the Ember Times? Have a suggestion for next week's issue? Join us at #support-ember-times on the Ember Community Discord or ping us @embertimes on Twitter.

Keep on top of what's been going on in Emberland this week by subscribing to our e-mail newsletter! You can also find our posts on the Ember blog.


That's another wrap! ✨

Be kind,

Melanie Sumner, Chris Ng, Isaac Lee, Jared Galanis, Amy Lam, and the Learning Team