I attended Elm Conf 2017 US last week alongside Strangeloop conference. I was looking forward to the conference to know what the Elm community is working on and what problems people are facing and what are they doing to overcome those.

After attending the conference, I can say that Elm community is growing strong. The conference was attended by around 350 people and many were using Elm in production. More number of people wanted to try Elm in production.

There was a lot of enthusiasm about starting new Elm meetups. As a Ruby on Rails and React meetup organizer myself, I was genuinely interested in hearing experiences of seasoned meetup organizers. In general Evan and Richard prefer meetup to be a place where people form small groups and hack on something rather than one person teaching the whole group something.

I liked all the talks. There was variety in the topics and the speakers were all seasoned. Kudos to the organizers for putting up a great program. Below is a quick summary of my thoughts from the conference.

Keynote by Evan

Evan talked about the work he has been doing for the upcoming release of Elm. He discussed the optimization work related to code splitting, code generation and minification for speeding up building and delivering single page apps using Elm. He made another interesting point that he changed the codegen which generates the JS code from Elm code twice but nobody noticed it. Things like this can give a huge opportunity to change and improve existing designs which he has been doing for the upcoming release.

In the end he mentioned that his philosophy is not to rush things. It’s better to do things right than doing it now.

After the keynote, he encouraged people to talk to him about what they are working on which was really nice.

Accessibility with Elm

Tessa talked about her work around adding accessibility support for Elm apps. She talked about design decisions, prior art and some of the challenges she faced while working on the library like working with tabs, interactive elements and images. There was a question at the end about whether this will be incorporated into Elm core but Evan mentioned that it might take some time.

Putting the Elm Platform in the Browser

Luke, the creator of Ellie - a way to easily share your elm code with others online - talked about how he started with Ellie. He talked about the problems he had to face for implementing and sustaining Ellie through ads. During the talk, he also open sourced the code, so we can see it on Github now.

Luke mentioned how he changed the architecture of Ellie from mostly running on the server to running in the browser using service workers. He discussed future plans about sustaining Ellie, building an Elm editor instead of using Codemirror, getting rid of ads and making Ellie better for everyone.

The Importance of Ports

In other frameworks like PureScript and BuckleScript invoking native JavaScript functions is easy. In Elm one has to use “Ports”. Using Ports requires some extra stuff. In return we get more safety.

Murphy Randle presented a case where he was using too many ports which was resulting in fragmented code. He discussed how port is based on Actor Model and once we get that then using port would be much easier. He also showed refactored code.

Murphy also runs Elm Town Podcast. Listen to episode 13 to know more about Ports.

Keynote by Richard Feldman

Richard talked about his experiences in teaching beginners about Elm. He has taught Elm a lot. He has done an extensive Elm course on Front end masters. He is currently writing Elm in Action book.

He talked about finding motivation to teach using the SWBAT technique. It helped him in deciding the agenda and finding the direct path for teaching. He mentioned that in the beginning being precise and detailed is not important. This resonated with me as the most important thing for anyone who is getting started is getting started with the most basic things and then iterating over it again and again.

Parting thoughts

Elm community is small, tight, very friendly and warm. Lots of people are trying a lot of cool things. Elm Slack came in the discussions again and again as a good place to seek out help for beginners.

When I heard about Elm first, it was about good compiler errors and having run time safety. However after attending the conference I am mighty impressed with the Elm community.

Big props to Brian and Luke for organizing the conference!

All the videos from the conference are already getting uploaded here.