All Projects → issa-tseng → Apollo13rt

issa-tseng / Apollo13rt

Apollo 13 in real-time. Flight director's loop, transcript, information, and more.

Projects that are alternatives of or similar to Apollo13rt

NASSP
Project Apollo - NASSP
Stars: ✭ 110 (+340%)
Mutual labels:  apollo, nasa
Apollo 11
Original Apollo 11 Guidance Computer (AGC) source code for the command and lunar modules.
Stars: ✭ 52,190 (+208660%)
Mutual labels:  apollo, nasa
Animavita
Trigger life-saving alerts, register animals for adoption and find the closest pet friend to adopt 🐶
Stars: ✭ 508 (+1932%)
Mutual labels:  apollo
Chimp
Tooling that helps you do quality, faster.
Stars: ✭ 783 (+3032%)
Mutual labels:  apollo
Pizzaql
🍕 Modern OSS Order Management System for Pizza Restaurants
Stars: ✭ 631 (+2424%)
Mutual labels:  apollo
Worldwindjava
The NASA WorldWind Java SDK (WWJ) is for building cross-platform 3D geospatial desktop applications in Java.
Stars: ✭ 526 (+2004%)
Mutual labels:  nasa
Js Graphql Intellij Plugin
GraphQL language support for WebStorm, IntelliJ IDEA and other IDEs based on the IntelliJ Platform.
Stars: ✭ 686 (+2644%)
Mutual labels:  apollo
Chatty
A WhatsApp clone with React Native and Apollo (Tutorial)
Stars: ✭ 481 (+1824%)
Mutual labels:  apollo
Vue Meteor
🌠 Vue first-class integration in Meteor
Stars: ✭ 893 (+3472%)
Mutual labels:  apollo
Webworldwind
The NASA WorldWind Javascript SDK (WebWW) includes the library and examples for creating geo-browser web applications and for embedding a 3D globe in HTML5 web pages.
Stars: ✭ 628 (+2412%)
Mutual labels:  nasa
Storefront Api Examples
Example custom storefront applications built on Shopify's Storefront API
Stars: ✭ 769 (+2976%)
Mutual labels:  apollo
Learnapollo
👩🏻‍🏫 Learn Apollo - A hands-on tutorial for Apollo GraphQL Client (created by Graphcool)
Stars: ✭ 5,274 (+20996%)
Mutual labels:  apollo
Pup
The Ultimate Boilerplate for Products.
Stars: ✭ 563 (+2152%)
Mutual labels:  apollo
Offix
GraphQL Offline Client and Server
Stars: ✭ 694 (+2676%)
Mutual labels:  apollo
Brian Lovin Next
My personal site
Stars: ✭ 522 (+1988%)
Mutual labels:  apollo
Fprime
F' - A flight software and embedded systems framework
Stars: ✭ 8,642 (+34468%)
Mutual labels:  nasa
Worldview
Interactive interface for browsing global, full-resolution satellite imagery
Stars: ✭ 504 (+1916%)
Mutual labels:  nasa
Learn Graphql
Real world GraphQL tutorials for frontend developers with deadlines!
Stars: ✭ 586 (+2244%)
Mutual labels:  apollo
Naperg
Fullstack Boilerplate GraphQL. Made with React & Prisma + authentication & roles
Stars: ✭ 661 (+2544%)
Mutual labels:  apollo
Gab2019sciencelab
This project contains instructions to deploy the Global Azure Bootcamp 2019 Science Lab
Stars: ✭ 25 (+0%)
Mutual labels:  nasa

Apollo 13 real-time

This project consists of three efforts:

  • One is a full digital transcription of the Apollo 13 Flight Director's Loop, the audio of which is generously provided to the public by NASA through the efforts of John Stoll. The full transcript may be found under the script/ directory. Timing is based on corrected playback audio done by ulysses777x on YouTube.
  • The second is a web player for this audio which plays the audio side-by-side with the transcript, with as much additional interactive information as we can provide to help contextualize the loop chatter for curious folk who are unfamiliar with Apollo systems and terminology. The code for this is found in the webapp/ directory.
  • The third are a series of brief articles, high-quality diagrams, and other resources aimed at easing laypeople into spaceflight, and providing deeper technical information for those who desire it. These are located under the exhibits/ directory, and are written in markdown and HTML to ease contribution.

These six hours are a priceless artifact, shedding light on the strength and style of leadership of NASA's flight directors as well as the resourcefulness, knowledge, and grace under pressure of the astronauts and flight controllers alike—but also on the moment-to-moment realities of spaceflight. By listening to this audio, you begin to understand what life was like for the crew in space and the controllers on the ground, as they execute burns and solve problems, as well as the mechanics of spaceflight in the Apollo era.

Transcription

While there is an official transcription of the air-ground loop provided by NASA, one does not exist for the Flight Director's Loop. In addition, the official transcript doesn't always line up with the audio timing, and does not provide timestamps for the end of each transmission. As a result, we also maintain our own transcription of the air-ground loop.

The two loops are transcribed independently based on the timing-corrected version of John Stoll's upload (see above). Each is in its own text file within the /script directory. The transcripts follow a common format:

[55 05 00 - 55 05 12] FLIGHT
This is a 12-second line from the Flight Director that began at 55 hours and 5 minutes flat.

[55 05 14] EECOM
When the end timestamp is omitted, the line is a short utterance of around a second or less.
> This is a commentary note on the line as a whole.

[55 05 21 -] FLIGHT
When there is a dash but no end time -

[55 05 25] GNC
{Negative}, {FLIGHT}.
1> A numbered commentary note relates to the {bracketed text} in the line.
2> Multiple brackets and numbers may be used.

[- 55 05 30] FLIGHT
- a single line was interrupted briefly by another line in a way that is hard to separate.

This raw transcript format integrates all the interactive transcript display in the web player, such that anybody can use the GitHub text editor to recommend changes or additions.

Compilation scripts in the /script directory compile this raw format into two separate artifacts: one is a JSON-formatted file for the benefit of the web player and other programmatic purposes, and the second is a raw transcript with all annotations removed and formatted for maximum plain-text readability, for those who wish to just have the transcribed text to read.

Web player

The web player is written in Janus, a functional reactive programming framework. It was written in a bit of a rush, so it isn't the cleanest code, but if active development continues a few small refactors should bring it into line. Of note are app.ls, which kickstarts the entire application and model.ls which defines all the viewmodel behaviour of the application.

To build and run the web player, first compile the scripts as describe in the previous section, then simply run make in the webapp/ directory. You'll have to then serve the lib/ directory at the root level of a web server; you'll want to use something full-fledged like nginx if you wish for audio seeking to work correctly (this rules out eg Python's SimpleHTTPServer).

Kiosk Modes

It is easy to create a kiosk installation of this application, which adjusts the layout for optimal full-screen display on a television, or presents only the exhibit and reference material. All you have to do is direct a web browser at particular URLs:

  • /?kiosk will show only the audio controls, transcripts, and glossary, and will begin playing the audio automatically. When the audio reaches the end, the page will refresh and the audio will begin playing again.
  • /?kiosk#56:56:56 is exactly the same as /?kiosk, but will cue the audio to begin playing from a particular timestamp. In fact, you can direct the browser to navigate to a timestamp hash at any time and the audio will begin playing there.
  • /?exhibit will show only the exhibit section, starting with the table of contents. This is useful if you wish to dedicate an entire or noninteractive display to the audio player, but still want to provide access to the additional material.
  • /?exhibit#primer-apollo is exactly the same as /?exhibit, but will automatically open a particular article. Controls will still be present to dismiss that article and display another. To find the identifier associated with an article, use the filenames you find here, without extensions.

If you have feedback, suggestions, or problems, please don't hesitate to let us know: either by filing a ticket on the issues page here, or reaching out to us directly. And if you do feature this experience somewhere, we'd absolutely love to see pictures and hear about it!

License

As the raw audio is provided by NASA as a public service, and the transcription and development work herein is done under the spirit of public service, the entire contents of this repository are provided under the most generous license available: either Public Domain, or CC Zero, depending on the licensee's legal preferences.

This includes all contributed work: contributors, please be aware that you agree to this by contributing to this repository. All contributors will be recognized in the web player.

Attribution is, of course, appreciated—but not required.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].