Jacob Pratt is creating Enceladus
0
patrons

Introducing Enceladus, your extraterrestrial launch thread interface

Enceladus is the latest way to view launches; it combines YouTube, a countdown clock, Twitter feed, and the launch thread that already exists! So instead of having multiple windows open, this is all neatly presented in a single view.
I worked on a variant of this, Mission Control, in 2017. Since then, it has been used on every launch that I'm aware of. However, this was only designed for the launch host, and was extremely difficult to expand, which would have allowed for multiple hosts as well as people like you to listen in.

So...what's new for me?

Head on over to this example thread. This is exactly what you will see during a launch; the example here is the most recent Falcon Heavy flight. What is ordinarily in the launch threads on Reddit will also be present here. Of note, the live updates are separated out into their own area, something that was, until now, not possible.
Expect launch threads to be even better. With Enceladus, there can be multiple hosts for a single thread, so you'll be getting the best of all worlds. u/Nsooo can add in his infamous weather tables, while someone else can write up a great intro and a third person is setting up the updates table.
Perhaps the most notable change, though, is that live updates are exactly that, live. All sections and updates will be sent to you near-instantaneously; the exact speed of which will depend on the number of people connected, but should never exceed a couple seconds. Yeah, no more reddit-stream or bashing your F5 key until it falls off.

Can I still use Reddit?

You'll still be free to use Reddit or reddit-stream if you prefer; launch threads will still continue to exist, and will be managed by Enceladus. In those posts will be a link to this; there are no plans by anyone to stop launch threads and switch entirely to Enceladus.

How hard was this to create?

I've been working on Enceladus since late last year. Most of my time spent creating this was on the server, ensuring it could be used for anyone — r/SpaceX, r/ArianeSpace, r/ULA, even non-space subreddits such as r/NFL, r/NBA, or r/MLS. Needless to say, it was very tricky to get right.
One of the major hurdles I had to overcome when creating Enceladus was the the ability to scale it well beyond anything else I'd previously worked on. I won't specify exact numbers as to what I'm expecting for upcoming launches, but it poses a number of challenges; namely the ability to only send updates to the relevant connections and the ability to send the updates fast enough. To handle this, I created a custom implementation of WebSocket "rooms", which also allowed me to enforce a specific format of all messages.

Is there anything else planned?

Yes! First and foremost, I absolutely want to support mobile browsers. After that though, there will be some additional features for r/SpaceX launches exclusively. Of note is Flight Club integration, so you'll be able to see the exact position of the rocket as it's launching. I also plan on adding IRC, so you'll be able to talk to others throughout.
Other things I hope to accomplish at some point include (in no particular order):
  • Allow selecting a recent thread, rather than requiring a thread ID.
  • Making Enceladus a Progressive Web App. This means you'll be able to install it on your phone as though it were a native app. At least currently, Chrome even supports the installation on Windows and Mac (not Linux, though).
  • Potentially developing a native Android/iOS app. This may or may not be necessary, depending on the performance of the aforementioned PWA.
  • Multi-screen support. My idea for this is to have the YouTube video "pop out" into a second window, which can then be placed on a second monitor if you have one. I briefly looked into how feasible this was for the initial release, and determined it far too difficult. Keep an eye out, though, as it still might happen!

How will I know when new features are released?

Hopefully, you'll just notice that they're there. If you'd prefer, though, follow me on Twitter @EnceladusLTI. I'll be posting the occasional update and reminder when threads go live.

How can I help?

Enceladus is open source! The API is written in Rust and uses Rocket (ironic, huh?) as the web server. The LTI is written in JavaScript (for now) and uses LitElement for the rendering. If you're looking for something small, shoot me a message; there may be something I've been putting off.
If you find any issues with either, please create an issue on the relevant repository! If you're not sure which one it should go on, just create it; I can move it if necessary.
The only other thing I could ask for is that you support me here. I'm a college student and am currently paying for the domain and server out of pocket; every bit helps. Unfortunately, there aren't currently any benefits to doing so, but if you have any ideas, let me know! I'm always open to suggestions.

Introducing Enceladus, your extraterrestrial launch thread interface

Enceladus is the latest way to view launches; it combines YouTube, a countdown clock, Twitter feed, and the launch thread that already exists! So instead of having multiple windows open, this is all neatly presented in a single view.
I worked on a variant of this, Mission Control, in 2017. Since then, it has been used on every launch that I'm aware of. However, this was only designed for the launch host, and was extremely difficult to expand, which would have allowed for multiple hosts as well as people like you to listen in.

So...what's new for me?

Head on over to this example thread. This is exactly what you will see during a launch; the example here is the most recent Falcon Heavy flight. What is ordinarily in the launch threads on Reddit will also be present here. Of note, the live updates are separated out into their own area, something that was, until now, not possible.
Expect launch threads to be even better. With Enceladus, there can be multiple hosts for a single thread, so you'll be getting the best of all worlds. u/Nsooo can add in his infamous weather tables, while someone else can write up a great intro and a third person is setting up the updates table.
Perhaps the most notable change, though, is that live updates are exactly that, live. All sections and updates will be sent to you near-instantaneously; the exact speed of which will depend on the number of people connected, but should never exceed a couple seconds. Yeah, no more reddit-stream or bashing your F5 key until it falls off.

Can I still use Reddit?

You'll still be free to use Reddit or reddit-stream if you prefer; launch threads will still continue to exist, and will be managed by Enceladus. In those posts will be a link to this; there are no plans by anyone to stop launch threads and switch entirely to Enceladus.

How hard was this to create?

I've been working on Enceladus since late last year. Most of my time spent creating this was on the server, ensuring it could be used for anyone — r/SpaceX, r/ArianeSpace, r/ULA, even non-space subreddits such as r/NFL, r/NBA, or r/MLS. Needless to say, it was very tricky to get right.
One of the major hurdles I had to overcome when creating Enceladus was the the ability to scale it well beyond anything else I'd previously worked on. I won't specify exact numbers as to what I'm expecting for upcoming launches, but it poses a number of challenges; namely the ability to only send updates to the relevant connections and the ability to send the updates fast enough. To handle this, I created a custom implementation of WebSocket "rooms", which also allowed me to enforce a specific format of all messages.

Is there anything else planned?

Yes! First and foremost, I absolutely want to support mobile browsers. After that though, there will be some additional features for r/SpaceX launches exclusively. Of note is Flight Club integration, so you'll be able to see the exact position of the rocket as it's launching. I also plan on adding IRC, so you'll be able to talk to others throughout.
Other things I hope to accomplish at some point include (in no particular order):
  • Allow selecting a recent thread, rather than requiring a thread ID.
  • Making Enceladus a Progressive Web App. This means you'll be able to install it on your phone as though it were a native app. At least currently, Chrome even supports the installation on Windows and Mac (not Linux, though).
  • Potentially developing a native Android/iOS app. This may or may not be necessary, depending on the performance of the aforementioned PWA.
  • Multi-screen support. My idea for this is to have the YouTube video "pop out" into a second window, which can then be placed on a second monitor if you have one. I briefly looked into how feasible this was for the initial release, and determined it far too difficult. Keep an eye out, though, as it still might happen!

How will I know when new features are released?

Hopefully, you'll just notice that they're there. If you'd prefer, though, follow me on Twitter @EnceladusLTI. I'll be posting the occasional update and reminder when threads go live.

How can I help?

Enceladus is open source! The API is written in Rust and uses Rocket (ironic, huh?) as the web server. The LTI is written in JavaScript (for now) and uses LitElement for the rendering. If you're looking for something small, shoot me a message; there may be something I've been putting off.
If you find any issues with either, please create an issue on the relevant repository! If you're not sure which one it should go on, just create it; I can move it if necessary.
The only other thing I could ask for is that you support me here. I'm a college student and am currently paying for the domain and server out of pocket; every bit helps. Unfortunately, there aren't currently any benefits to doing so, but if you have any ideas, let me know! I'm always open to suggestions.

Recent posts by Jacob Pratt