Web-based tool to help storytellers add images and music to their stories
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Esteban Manchado Velázquez b21c876912 Upgrade dependencies for security, adapt code 1 year ago
backend Upgrade dependencies for security, adapt code 1 year ago
frontend Add possibility to send random images 2 years ago
public Add a while border around the QR code 2 years ago
robohydra Catch API errors and show an error message 3 years ago
views Add QR code for audience URL 2 years ago
.gitignore Catch API errors and show an error message 3 years ago
LICENSE Add License (simplified BSD) 3 years ago
README.md Add QR code for audience URL 2 years ago
logo.svg Add a logo (and use it on start in the audience view) 3 years ago
lyre-big.xcf Load initial image in the audience UI 3 years ago
package.json Upgrade dependencies for security, adapt code 1 year ago

README.md

Lyre

This is a web-based storyteller helper program. It allows a narrator to use images and music to support the storytelling.

The idea is that, for each story, the narrator will prepare a set of images and audio tracks for it. Then, when telling the story, the narrator will use a computer and the audience will use another device, maybe a tablet. As the story progresses, the narrator can play music, and also choose images that will appear on the audience's device. There's also special support for maps, which the narrator will be able to uncover bit by bit and send only the uncovered parts to the audience.

See http://HardcoreNarrativist.org/lyre/ for more information and examples.

Running Lyre

Unfortunately you need a server to run Lyre on. You can use your own computer, but you have to know how to make other devices connect to it (eg. find out your IP). Worst case scenario, you can use Lyre to play the music.

To get started, make sure you have Node and ImageMagick installed and then:

  1. Run npm install to get dependencies.
  2. Create backend/config/local-development.js (see below).
  3. Create the directory stories (or modify the path in the configuration).
  4. Run npm run compile.
  5. Run npm run start.

The contents of local-development.js should at least be:

module.exports = {
    secretPassphrase: "<my secret passphrase>"
};

Once that is done, you will be able to login to Lyre using the above passphrase, at:

http://localhost:3000/

TODO

  • Allow sharing of text bits? How would that work? Would that be saved for the session, so it can be sent again?
  • Allow pasting or dropping an image to share right away, without preparation
  • Change pen size with control + drag
  • Allow narrators to customise the markers per story
  • Highlight unsent map bits?
  • Maybe add security to the narrator WebSocket interaction
  • Find the reordering bug (big deal for playlists!)
  • Reorder scenes

Credits

  • Initial UI sketches by Henrik Johnsen
  • Concept, code, and logo by Esteban Manchado Velázquez
  • Compass icon by jhnri4
  • Map marker by Madebyoliver
  • Most other icons from flaticon.com
  • QRCode.js distributed under the MIT license, made by davidshimjs

You can assume the good parts of the UI come from the initial sketches, and the bad parts were introduced by Esteban :-)