Elm ecosystem stats

Alex Korban published this article about status of our ecosystem. It’s great article but it misses one thing, trends. Some people pointed out on reddit that you cannot clearly tell from the data if elm is actually getting more traction or not.

So I tried to answer that question. Fortunately I already have all data I need because Elm finder depends on that too. If you are interested in the data and want to (ab)use it feel free to donwnload it.

Last package release
This graph shows when last release of a package happened. Since I have only data for Elm 0.19 The oldest release happened in August 2019.

First package realease
As you can see there are new packages appear in the Elm ecosystem all the time. And older packages are upgraded to Elm 0.19 which is a good thing. It shows that even people that created packages years ago want to update them. That big spike is in August 2019 when Elm 0.19 was released.

Number of releases
Here you can see package releases by month. It’s sum of all releases per given month. So one package can be in one month multiple times.

Screenshot%20from%202019-06-02%2021-36-45
Here you can see commits to repositories listed on Elm packages by month. It’s sum of all commits per given month.

12 Likes

I find data and stats always interesting and fun to look at, thanks for sharing!

I sometimes use npmtrends, npm downloads can also be a good proxy for some insights and comparisons. See https://www.npmtrends.com/elm

Here is my not-very-scientific interpretation with trend lines and a couple of markers:

It is interesting to see the difference in activity between package authors and consumers.

6 Likes

Observations

When I used to have Google Analytics running on the various Elm domains, I noticed that widely read blog posts always produce permanent bumps in visitors. You get a bit of a bump from /r/programming, and a much bigger bump from HackerNews.

The cost seems to be a temporary increase in community discord as new folks come in and go through the joy/frustration of learning a new language that they may or may not like in the end!

Ideas

Different people weigh fundamentals vs momentum differently, and if you think momentum needs more time investment, I encourage you to write blog posts with an eye towards /r/programming or HackerNews! It is not blocked on anyone!

Looking back through my retweets, there are a bunch of projects that could make /r/programming pretty easily, and maybe some could make HN as well. The games and 3D stuff in particular. I am personally really keen to read this one someday. Those are not my posts to write though!

Norms

Right now, I feel like I mostly see posts sharing techniques, and it makes me really happy to see more experienced folks analyzing and sharing their insights like this! I don’t see full blog posts about projects that often though.

I wonder if this has something to do with a correlation between (1) wanting to get out of the hype-hype-hype world of new things every day in JS and (2) liking Elm.

So maybe it’d be good to encourage folks to try to share their technical results to broader audiences. Not in a “here’s a pitch on why X is the greatest and has no downsides” sort of way, but in a “check out this cool thing I made” sort of way. More about sharing and celebrating things you are excited about in a way that can reach folks outside of Elm-specific places.


Personal Note

I am eager to share technical results at a faster rate again, but it’ll take a bit of time still. I write blog posts when there is some technical result to share, and that has been less frequent mainly because I have been focusing on compiler infrastructure improvements.

Getting 200k+ LOC projects to compile really fast has required pretty serious changes in the compiler that just take a lot longer than adding or changing a feature. Part of what has been taking time with 0.19.1 is an optimization that should improve incremental compile times and hopefully resolve a laziness problem that was badly messing up threading. With these kinds of speed improvements, it seems like the (quality of life / time investment) is pretty good for large projects, but the (quality of story / time investment) is pretty bad overall.

So while I think it’s “the right thing to do” to support the folks who have invested in Elm the most, I am also hoping 0.19.1 will be fast enough that I can stay out of this kind of project for a while, instead focusing on projects with quicker turn-around times and better stories again.

That said, when it comes to bringing in new folks, I think the blog posts can come from anyone! So I encourage folks to write about their experiences for a /r/programming or HackerNews audience if they are excited about something they made. I’m trying to get 0.19.1 to be a really solid foundation for everyone, and then I can join in this sort of thing again too!

41 Likes

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.