# Roadmap for Elm

**URL:** https://discourse.elm-lang.org/t/roadmap-for-elm/4127
**Category:** Learn
**Created:** [August 9, 2019, 12:35pm UTC](https://discourse.elm-lang.org/t/roadmap-for-elm/4127 "2019-08-09T12:35:38Z")
**Posts on this page:** 20
**Page:** 1

<div class="post-metadata">

### Author: ![ondrej](https://avatars.discourse-cdn.com/v4/letter/o/df705f/32.png) [@ondrej](https://discourse.elm-lang.org/u/ondrej)
#### Post date: [August 9, 2019, 12:35pm UTC](https://discourse.elm-lang.org/t/roadmap-for-elm/4127/1 "2019-08-09T12:35:39Z")

</div>

Hi, I’m curious if there is any kind of Roadmap for Elm. I’m pretty sure people would like to know what is being worked on and what we could potentially expect in Elm in the upcoming months/years.

A lot of projects out there have roadmaps ([TypeScript](https://github.com/microsoft/TypeScript/wiki/Roadmap), [Ember](https://github.com/emberjs/rfcs/blob/master/text/0364-roadmap-2018.md), [React](https://reactjs.org/blog/2018/11/27/react-16-roadmap.html), [Rust](https://blog.rust-lang.org/2019/04/23/roadmap.html)) and regularly post a blog posts with updates what has been improved. Even though Roadmaps might change, they provide transparency and build (to a certain degree) trust.

I’m sure that folks around Elm work hard to improve all kinds of aspects of Elm, but without properly communicating what is being worked on, it is easy to feel like there is no progress at all.

---

<div class="post-metadata">

### Author: ![pd-andy](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.elm-lang.org/pd-andy/32/4145_2.png) [@pd-andy](https://discourse.elm-lang.org/u/pd-andy)
#### Post date: [August 9, 2019, 12:41pm UTC](https://discourse.elm-lang.org/t/roadmap-for-elm/4127/2 "2019-08-09T12:41:08Z")

</div>

I’m going to quote a comment made by Richard a few years ago on a similar question:

> I think Elm doesn’t have a concrete roadmap because Evan adapts his plans based on what he learns from the community. If you ask him “what will you be working on 6 months from now?” the answer will probably be “depends on what happens in the next 6 months.” He does post periodic status updates on the elm-dev mailing list, if you’re wondering what he’s working on and how it’s going.

Replace “elm-dev mailing list” with here, and Slack.

Honestly it’s a question that is asked regularly. We had this transparency in the past. It wasn’t productive.

---

<div class="post-metadata">

### Author: ![rupert](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.elm-lang.org/rupert/32/1775_2.png) [@rupert](https://discourse.elm-lang.org/u/rupert)
#### Post date: [August 9, 2019, 2:37pm UTC](https://discourse.elm-lang.org/t/roadmap-for-elm/4127/3 "2019-08-09T14:37:16Z")

</div>

Go on… at least give us some ideas of likely priorities beyond 0.19.1.

Runtime performance: [Improving the Elm compiler output](https://discourse.elm-lang.org/t/improving-the-elm-compiler-output/3698) ?  
Server side rendering?  
Expanding web API support, websockets etc.?  
…

---

<div class="post-metadata">

### Author: ![G4BB3R](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.elm-lang.org/g4bb3r/32/4544_2.png) [@G4BB3R](https://discourse.elm-lang.org/u/G4BB3R)
#### Post date: [August 9, 2019, 2:54pm UTC](https://discourse.elm-lang.org/t/roadmap-for-elm/4127/4 "2019-08-09T14:54:02Z")

</div>

I don’t think server side rendering should be solved by Elm community, since puppeteer and others tools can already solve it. I am almost sure after 19.1 the focus will be in expanding web API support.

---

<div class="post-metadata">

### Author: ![Herteby](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.elm-lang.org/herteby/32/1329_2.png) [@Herteby](https://discourse.elm-lang.org/u/Herteby)
#### Post date: [August 9, 2019, 4:22pm UTC](https://discourse.elm-lang.org/t/roadmap-for-elm/4127/5 "2019-08-09T16:22:09Z")

</div>

You can always sneak a peek on GitHub at least 😉

 ![image](https://canada1.discourse-cdn.com/flex035/uploads/elm_lang/original/2X/b/baa6736f5b4e688405a28a23095c3560d3737001.png)

---

<div class="post-metadata">

### Author: ![rupert](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.elm-lang.org/rupert/32/1775_2.png) [@rupert](https://discourse.elm-lang.org/u/rupert)
#### Post date: [August 9, 2019, 5:58pm UTC](https://discourse.elm-lang.org/t/roadmap-for-elm/4127/6 "2019-08-09T17:58:28Z")

</div>

> [@G4BB3R](#):
>
> I don’t think server side rendering should be solved by Elm community, since puppeteer and others tools can already solve it. I am almost sure after 19.1 the focus will be in expanding web API support.

What about rehydration? But I can see there is a way of doing that if you serialize the model and send that over to the client too.

---

<div class="post-metadata">

### Author: ![wolfadex](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.elm-lang.org/wolfadex/32/2461_2.png) [@wolfadex](https://discourse.elm-lang.org/u/wolfadex)
#### Post date: [August 9, 2019, 6:19pm UTC](https://discourse.elm-lang.org/t/roadmap-for-elm/4127/7 "2019-08-09T18:19:51Z")

</div>

How do you see this view in GitHub? I’m a fan of occasionally checking out commits to see what’s changing (maybe learn a little along the way) and this looks like a nice way to see where change is happening at a glance.

---

<div class="post-metadata">

### Author: ![Herteby](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.elm-lang.org/herteby/32/1329_2.png) [@Herteby](https://discourse.elm-lang.org/u/Herteby)
#### Post date: [August 9, 2019, 6:36pm UTC](https://discourse.elm-lang.org/t/roadmap-for-elm/4127/8 "2019-08-09T18:36:29Z")

</div>

It’s on Evan’s profile: [https://github.com/evancz](https://github.com/evancz)

---

<div class="post-metadata">

### Author: ![edkv](https://avatars.discourse-cdn.com/v4/letter/e/439d5e/32.png) [@edkv](https://discourse.elm-lang.org/u/edkv)
#### Post date: [August 9, 2019, 7:39pm UTC](https://discourse.elm-lang.org/t/roadmap-for-elm/4127/9 "2019-08-09T19:39:20Z")

</div>

I was always quite skeptical about SSR. What if you need access to window size or other data that is only available in the user’s browser and not on the server? Like if you make your UI responsive by checking window size in the `view` instead of using media queries. That’s what you do with `elm-ui` for example.

And why do we need it at all? Google can index dynamically generated content nowadays, and I think performance benefits from using SSR are not that noticeable.

---

<div class="post-metadata">

### Author: ![Laurent](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.elm-lang.org/laurent/32/2051_2.png) [@Laurent](https://discourse.elm-lang.org/u/Laurent)
#### Post date: [August 9, 2019, 7:55pm UTC](https://discourse.elm-lang.org/t/roadmap-for-elm/4127/10 "2019-08-09T19:55:39Z")

</div>

Unfortunately, as @rupert said, SSR is currently an issue with Elm because of rehydration. It was discussed in [this thread](https://discourse.elm-lang.org/t/ssr-via-puppeteer/3724/2).

---

<div class="post-metadata">

### Author: ![ondrej](https://avatars.discourse-cdn.com/v4/letter/o/df705f/32.png) [@ondrej](https://discourse.elm-lang.org/u/ondrej)
#### Post date: [August 9, 2019, 8:01pm UTC](https://discourse.elm-lang.org/t/roadmap-for-elm/4127/11 "2019-08-09T20:01:11Z")

</div>

One of the signs of healthy communities is that they communicate progress, what is being worked on and what has been done.

[TypeScript](https://github.com/microsoft/TypeScript/wiki/Roadmap) roadmap is a great example. Even though it is simple, it communicates what will they try to tackle in the future and what has been done - that is also very important.

If the answer to “what is being worked on/has been done” is “find on your own” then we should improve on that. It is not very welcoming nor helpful.

---

<div class="post-metadata">

### Author: ![Laurent](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.elm-lang.org/laurent/32/2051_2.png) [@Laurent](https://discourse.elm-lang.org/u/Laurent)
#### Post date: [August 9, 2019, 8:08pm UTC](https://discourse.elm-lang.org/t/roadmap-for-elm/4127/12 "2019-08-09T20:08:58Z")

</div>

> [@edkv](#):
>
> And why do we need it at all? Google can index dynamically generated content nowadays, and I think performance benefits from using SSR are not that noticeable.

But it will rank your site lower because of the time it takes for something significant to appear without SSR.  
Wix improved their sites performance quite noticeablely with SSR: [https://youtu.be/OSLi2k6A6kU?t=304](https://youtu.be/OSLi2k6A6kU?t=304)  
Main benefit of SSR is performance thus user experience thus SEO, but also social network visibility as Facebook or Tweeter crawlers do not support JS, so you need plain HTML to have nice links previews.

---

<div class="post-metadata">

### Author: ![ondrej](https://avatars.discourse-cdn.com/v4/letter/o/df705f/32.png) [@ondrej](https://discourse.elm-lang.org/u/ondrej)
#### Post date: [August 9, 2019, 8:17pm UTC](https://discourse.elm-lang.org/t/roadmap-for-elm/4127/13 "2019-08-09T20:17:01Z")

</div>

Guys, you’re slipping of the topic of this discussion. Please create a dedicated one if you want to discuss SSR. Thank you for understanding.

---

<div class="post-metadata">

### Author: ![Laurent](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.elm-lang.org/laurent/32/2051_2.png) [@Laurent](https://discourse.elm-lang.org/u/Laurent)
#### Post date: [August 9, 2019, 8:21pm UTC](https://discourse.elm-lang.org/t/roadmap-for-elm/4127/14 "2019-08-09T20:21:47Z")

</div>

Going back to the roadmap subject, there is this document: [https://github.com/elm/projects/blob/master/roadmap.md](https://github.com/elm/projects/blob/master/roadmap.md)

---

<div class="post-metadata">

### Author: ![ondrej](https://avatars.discourse-cdn.com/v4/letter/o/df705f/32.png) [@ondrej](https://discourse.elm-lang.org/u/ondrej)
#### Post date: [August 10, 2019, 11:14am UTC](https://discourse.elm-lang.org/t/roadmap-for-elm/4127/15 "2019-08-10T11:14:37Z")

</div>

That’s doesn’t look bad. In any case, it would deserve an update.

---

<div class="post-metadata">

### Author: ![mfeineis](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.elm-lang.org/mfeineis/32/104_2.png) [@mfeineis](https://discourse.elm-lang.org/u/mfeineis)
#### Post date: [August 10, 2019, 11:42am UTC](https://discourse.elm-lang.org/t/roadmap-for-elm/4127/16 "2019-08-10T11:42:56Z")

</div>

Relevant talk by Evan on the Hard Parts of Open Source [https://www.youtube.com/watch?v=o\_4EX4dPppA](https://www.youtube.com/watch?v=o_4EX4dPppA)

---

<div class="post-metadata">

### Author: ![nqthqn](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.elm-lang.org/nqthqn/32/374_2.png) [@nqthqn](https://discourse.elm-lang.org/u/nqthqn)
#### Post date: [August 12, 2019, 6:53pm UTC](https://discourse.elm-lang.org/t/roadmap-for-elm/4127/17 "2019-08-12T18:53:06Z")

</div>

To get a sense of the progress of the Elm community and project I…

- Read slack updates in #news-and-links, #elm-language-server, #core-coordination
- Subscribe to [http://www.elmweekly.nl](http://www.elmweekly.nl/)
- Check out activity on [evancz (Evan Czaplicki) · GitHub](https://github.com/evancz)
- Watch recent conference talks, [https://www.youtube.com/channel/UCOpGiN9AkczVjlpGDaBwQrQ](https://www.youtube.com/channel/UCOpGiN9AkczVjlpGDaBwQrQ)
- Read the news [news](https://elm-lang.org/news)

And occasionally stumble across this document:

> <https://github.com/elm/projects/blob/master/roadmap.md>

I recognize the fact that we have a small close knit community growing steadily over the years. This slow steady growth is ok with me. The future is uncertain. Here is an excerpt from one of my favorite articles on the internet,

> Two practical notes. The first is in the arena of time management. I really like what I call **logarithmic time planning** , in which events that are close at hand are scheduled with finer resolution than events that are far off. For example, things that happen tomorrow should be scheduled down to the minute, things that happen next week should be scheduled down to the hour, and things that happen next year should be scheduled down to the day. Why do all calendar programs force you to pick the exact minute something happens when you are trying to schedule it a year out? I just use a word processor to schedule all my events, tasks, and commitments, with resolution fading away the farther I look into the future. (It would be nice, though, to have a software tool that would gently help you make the schedule higher-resolution as time passes…)

from

> **[How to Think](https://www.technologyreview.com/2007/11/13/98247/how-to-think/)**
>
> Managing brain resources in an age of complexity.

Sincerely,  
nqthqn

---

<div class="post-metadata">

### Author: ![simonh1000](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.elm-lang.org/simonh1000/32/100_2.png) [@simonh1000](https://discourse.elm-lang.org/u/simonh1000)
#### Post date: [August 14, 2019, 6:47am UTC](https://discourse.elm-lang.org/t/roadmap-for-elm/4127/18 "2019-08-14T06:47:35Z")

</div>

When people say ‘web apis’ do they mean localStorage and websockets?

---

<div class="post-metadata">

### Author: ![rupert](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.elm-lang.org/rupert/32/1775_2.png) [@rupert](https://discourse.elm-lang.org/u/rupert)
#### Post date: [August 14, 2019, 8:52am UTC](https://discourse.elm-lang.org/t/roadmap-for-elm/4127/19 "2019-08-14T08:52:13Z")

</div>

List of web APIs here: [https://developer.mozilla.org/en-US/docs/Web/API](https://developer.mozilla.org/en-US/docs/Web/API)

---

<div class="post-metadata">

### Author: ![system](https://canada1.discourse-cdn.com/flex035/uploads/elm_lang/original/1X/50a05e53677a2c3b47776d7abd0f113eb50193a1.png) [@system](https://discourse.elm-lang.org/u/system)
#### Post date: [August 24, 2019, 8:52am UTC](https://discourse.elm-lang.org/t/roadmap-for-elm/4127/20 "2019-08-24T08:52:13Z")

</div>

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