Why isn't Elm mainstream yet?

Elm changed front-end development with its intentional design and radical simplicity.

A few years later, Evan Czaplicki encouraged the Elm community: “Let’s be mainstream!”, with a plan to do so.

After 10 years, Elm’s rate of adoption is still quite low. Why is this?

In his talk (“Let’s be mainstream!"), Evan expanded on several areas of his proposed strategy for promoting adoption, that he called “User-focused Design in Elm”.

The two I want to focus on are Communication and Tooling.

🗣 Communication

Evan asked the audience to imagine themselves as a developer comparing the competing sales pitches of a set of language tools.

He demonstrated that communication with an audience needs to be centered on the needs of that audience, not the features of the tool.

🔧 Tooling

Evan emphasized the importance of leveraging Elm’s advantages to create “unique and delightful experiences”.

By providing experiences like the time-travel debugger and friendly error messages, Elm could appeal to its audience and be adopted as a mainstream language.


I think Elm itself has done an extremely good job at achieving these design goals.

But I often wonder how the tooling and communication efforts in the Elm community could appeal better to JavaScript developers and their problems.

This is why I’m excited about @rhg_dev’s Elm Land framework project. He seems to be asking questions like:

  • What obstacles do JS devs meet when they try Elm?
  • What is unfamiliar or hard to do?
  • How can we make delightful experiences?
  • How can we make Elm easy to try?

I’m excited to see how his project evolves to address these questions! Check it out at elm.land.


This post was originally a Twitter thread.