The Ember team would like you to write a blog post to propose goals and direction for Ember in the remainder of 2018. The content of these posts will help us to draft our first Roadmap RFC.
First off, I'm confident that Ember already has done a lot to allow me and many others to create great and maintainable applications. And it has done so very early on. For a while naming conventions and a CLI-driven approach to scaffold, build & serve apps have been hallmarks of Ember as a framework for the ambitious developer. Other framework ecosystems are also adopting similar approaches to increase developer productivity (1, 2) and are having immense success with them.
Other productivity improvements that emerged with Ember include its well-planned release cycle (3) that has been put into practice during the v1.x era as early as 5 years ago, and the ongoing support through LTS releases (4) for more than 2 years. This mature and dependable release process has not only been extremely progressive back then, but in fact it still is. Furthermore, the current testing story in Ember has evolved to be one of the most outstanding community solutions in the JavaScript realm: The modern QUnit Testing API (5) that ships with v3.x apps out of the box in combination with the simple interface of @ember/test-helpers
(6) improves the readability of tests massively and also makes async testing more than straightforward.
These are some of the many examples in which Ember.js has repeatedly proven itself to be a community solution that really empowers its users to get things done. This is why Ember is a truly productive JavaScript framework.
Not only in the past has Ember proven to put new ideas into practice in the ecosystem of front-end web development; recent experiments with WebAssembly in the Glimmer VM (7) signal that Ember.js will continue to run on its innovative trajectory. New features in Ember are in fact often ahead of its time. This is why Ember is a truly progressive JavaScript framework.
Progressive technologies give developers a head start in exploring new ways of writing applications. Progressive technologies will draw the interest of many new, early-adopting developers to communities. But progressiveness also poses challenges: depending on their own experience level and the amount of work they spent on critically evaluating a new feature a developer may or may not fully grasp its meaning and extent early on. E.g. a JavaScript developer who entered the field recently, might not be aware yet that a CLI can help them immensely in building and serving their app. Even a person with extensive experience in one certain programming language might not be aware of the challenges they might encounter developing JavaScript applications specifically and overlook the benefits of a progressive feature like WebAssembly easily.
This makes me think that making features understandable to a diverse set of people does not only include explaining how technologies work, but also why they are so useful.
I already believe that Ember.js is a great choice for any web developer who wants to create scalable applications today. There's really not much I could wish for on a technical level. Instead when I think about what I wish for Ember, visibility comes to my mind. I'd love both Ember's core characteristics and its cutting-edge features to be understood by even more people; even by those who haven't had much experience in using it to see its worthwhile benefits in the long-run of a project. I believe Ember's bottleneck for adoption and community growth isn't about technical aspects, it's about visibility and outreach.
anchorA Gap in Visibility
As any other open-source project, the development of Ember lives and thrives through the time and amount of work that is being put into it. In contrast to some other major JavaScript frameworks, Ember is not being backed up by one single major company - neither financially nor contribution-wise. Instead Ember's user base is diverse in its professional backgrounds and interests. And this makes Ember more independent and free to evolve according to real developer needs instead of company requirements which is an amazing advantage.
But who's putting in the time and effort to maintain such an independent project? For a huge part, Ember's community does, and it does so in their free time. Countless contributors work on improvements, bug fixes and features in the early hours preceding their day jobs, on their weekends, their time-off - to bring forward a software project which can compete with other major frameworks. And this in itself is remarkable.
This is why Ember truly is a framework of the community, by the community, for the community.
And this community effort is also what keeps Ember visible in the current front-end ecosystem. In the end, who's stepping up to blog about latest features, to screencast debugging sessions, to demo Ember at their local meetup, to distribute Zoey stickers among their friends, to give talks on how to build an Ember app or to improve, fix and update any of the official online resources of Ember?
It's not only the Ember Core or the Ember Learning Team who does all of this - it's also you and me and us.
Taking the opportunity to change the way Ember is represented in the world to further its adoption is an open issue everyone can work on. Ember is still a somewhat hidden gem (8) and it keeps on "quietly shipping new cutting-edge features to its users" (9). But I don't believe it has to be this way with a little help from the community.
Of course, there are those who already have a clear vision in mind right now and who are making consistent efforts to create online tutorials, write blog posts, give talks, send pull requests to the Ember.js website repository (10) and much more without any prompting. What I'd wish for Ember's 2018 Roadmap though is to find ways to lower the entry barriers for newcomers to get started in their attempt to advocate Ember and to be creative on how to encourage a sense of empowerment in the wider community regarding outreach efforts.
anchorClosing the Visibility Gap
I believe one of the biggest actions that could be taken to make contribution to anything that is outreach-related easier is by increasing the discoverability of discussion channels and already ongoing Github projects and related issues. On the Ember Community Slack chat, most notably the #st-website, #wb-marketing and #topic-talks channels are great first points of contact for anyone who was interested in helping out with marketing efforts to find something to help out with. I believe making these channels more discoverable for new developers, e.g. from having a noticeable call-to-action on the Ember.js website (11) or a dedicated, search-engine optimized landing page already goes a long way.
The Learning Team and the community have already leveraged many amazing initiatives recently, including a massive technical upgrade of the official Guides which makes it even easier for developers to contribute (12), the release of a status board to keep potential contributors informed which initiatives are still ongoing and require help (13), making blog content discoverable (14), creating a printable mini book about the framework (15), publishing project-related updates through a newsletter every single week (16) and many others. Speaking about these initiatives more openly and often might also draw interest of developers who don't know yet what to work on or what to start off with. In my opinion the increased leverage of the RFC (Request for Comments) process adopted by the Rust Community (17), Quest issues for breaking down major work packages on these official resources, and the creation of Strike Teams for agile collaboration will also deepen community interest, increase a sense of ownership of how decisions are made and allow people to succeed on their possibly first OSS issue easily.
Also supporting both new and current speakers in finding events, a good talk topic and in prepping and rehearsing a presentation is another great way to encourage the community in their sense of empowerement. In fact, the Women Helping Women Program (18) has already been doing an amazing job in supporting new speakers for years and it might be due to this very program, that Ember managed to achieve record numbers of excellent talks presented by women speakers at its conferences in the past. Encouraging even larger parts of the community to speak and highlight Ember allows many great talks to come: I'd love to see so many of the cool and new things that recently landed or are just on their way to land in Ember highlighted: This year's EmberConf Opening Keynote by Ember Core Team members Yehuda Katz & Tom Dale (19) at EmberConf is among others (20, 21) an inspiring example of this type of advocacy for Ember. I feel that beyond that there is a quite urgent need for "introduction" type talks which are appealing to developers of any experience level and any (JavaScript) background. Features of Ember that might have already been around for a while and which have become obvious to the regular Ember user still need to be highlighted to audiences who are not that familiar with Ember yet on a regular basis. Therefore I'm confident supporting speakers in promoting their own "Why Ember" type of presentations to events outside of the Ember ecosystem is one of the most useful measures we as a community can take to advocate Ember as a framework.
anchorWishing Upon a Vocal Community
These are some of the ideas that came to my mind when thinking about what I'd wish for Ember in 2018. I'd like to see Ember's community grow even further and I believe one major way to achieve this goal is by improving its visibility - the degree by which it is seen by those who are already becoming part of the community and also by those outside of it.
In my opinion more explicit call-to-actions can have a big impact on the sense of community empowerment to make Ember visible: Being vocal about current outreach efforts that require community help, making those initiatives more discoverable and prompting the community to take action - just as has been done in this very call for blog posts (22) - are some of the options that I believe should be leveraged even further.
Ember is still a hidden gem but I'm confident that this can and will change. And with a little encouragement I believe there's no one who could do a better job at this than us - the community.