exercism/blog

Exercism Stories Image Script

Opened this issue · 4 comments

This issue outlines a process for uploading, storing and accessing the assets required for the distribution of Exercism Stories to major streaming platforms.

The Current Process
The process of getting all of the different aspects (listed below) together for a podcast typically takes half a day (once the recording is complete). I've sought to clarify the process in detail. Any feedback or ways to optimise are welcome.

  • Once I've completed the interview with a member of the Exercism community, the video and audio is downloaded and edited for Youtube and Podbean (Podcast distribution platform).
  • A thumbnail is created in Canva and downloaded.
  • The edited video and thumbnail is uploaded to Youtube and set as 'unlisted'. All the video information is added.
  • The transcription is generated by @ErikSchierboom using Whisper.ai when I send through the WAV file
  • I edit the config.json file in the exercism/blog repo with the following information and create a PR that is reviewed and that populates the Exercism Stories page -> see example here
      "uuid": "2063c743-98c2-4c6f-84b5-14d3f72da929",
      "slug": "dont-be-too-productive",
      "title": "Don't Be Too Productive!",
      "blurb": "blah blah"
      "published_at": "2022-11-20 12:01",
      "length_in_minutes": 50,
      "thumbnail_url": "",
      "image_url": "https://test.org/image.png",
      "interviewer_handle": "jonathandmiddleton",
      "interviewee_handle": "junedev",
      "youtube_id": "0k2MOVU8ZtI"
}
  • currently, I send @ErikSchierboom the thumbnail, WAV file for the transcript and ask Erik to review the PR I create with the updated config.json.

What is Needed

  • currently, we need a way for me (Jonathan) to upload the thumbnail, transcript and other details to S3 in order to populate the config.json file with the relevant links for the different assets (thumbnail, transcript markdown file)
  • clarify on the purpose of the image_url - currently it is not implemented
  • ways to free up Erik's time.

@iHiD what do you think the process should be in light of all the various priorities.
@ErikSchierboom is this an adequate description of what is required?

@iHiD We also need to decide what format to store the thumbnails in. They're currentl huge (2550x1440 or something like that)

@iHiD Do we want to store all images as jpegs or as pngs? I see that the existing files are all jpegs, but Jonathan's file is a png.
And do you manually upload the image?

iHiD commented

Currently, I take the image, put it through squoosh and get JPGs (MozJPEG to be precise) at about 85% quality. PNGs are too big files for photos. (See settings below). I then upload to s3 and put the URL in the config.

I'd suggest that a script looks checks PRs for files in a certain directory and if it finds them, puts them through squoosh, uploads to s3 (we probably want to set the filename to the slug of the dir) and deletes the original file in the PR. Then sets the image_url to that predictable path with the correct filename.

Screenshot 2022-11-16 at 11 31 30

@ErikSchierboom could I create a folder and add the images to that folder for the script to process?