Stella, of @StellaHikes, is attempting to complete a US long-distance hiking Calendar Year Triple Crown. That is, she's trying to hike the AT, PCT, and CDT--7,875 miles of trail--in one year. And she's bringing us along for the ride on her YouTube channel.
I'm only on day 8 of her attempt, but I'm really enjoying her video-a-day format. Stella's superpower is her honesty: she's willing to give us a behind-the-scenes look at her undertaking, warts and all.
The countless challenges she is facing on this adventure are classic. She needs to push for miles, but she also needs to give her body rest to avoid injury. She needs to carry as little as possible, but she also needs to have the gear to stay warm and the food to stay fueled. She needs to stay focused on the trail, but she also needs to capture and share her effort online. And the list goes on.
There are plenty of videos on the web that talk about how to solve these challenges. But in Stella's case, we get something far more rare: we learn by her example. She's showing, not telling, and to me that makes her video stream not just entertaining, but also an immensely valuable learning tool.
Easy to Enjoy, Hard to Watch
So I'm in! As long as Stella is on the trail, I want to follow along. Unfortunately, YouTube is far from the ideal platform for watching episodic content like Stella's daily videos.
For one thing, YouTube prioritizes new content, so it's pushing me to watch Day 65 when I'm still on Day 8.
And related to this, navigating YouTube to get to Day 8 is a minefield of distractions. On my way there, it's easy to get sucked into any number of other videos.
Ideally, YouTube would recognize that content like this is best consumed not as a traditional channel, but as a podcast. Podcast Addict, for example, seamlessly resumes where I left off, and is set up for distraction-free access. Whether I consume a podcast in days, months, or years, Podcast Addict will patiently queue up future content and wait for me to consume it at my own pace.
A bit of Googling turned up Podsync, an open-source platform for podcastifying YouTube content. Perfect, right? Unfortunately, tools like Podsync rely on extracting raw video from YouTube, before processing it and republishing it as a podcast. This is against YouTube's policies and not officially supported. Even if I could get Podsync running, it would remain a fragile solution that could stop working at any time.
An API, DIY Solution
All hope isn't lost. Using YouTube's API, I was able to rig up my own version of a watch queue that offers distraction-free access. Here's how I did it.
First, I created a new playlist called StellaHikes CYTC Watch Queue. I added the current video I was watching; Day 5 at the time.
Next, using youtubeassist (introduced here), I figured out Stella's uploads playlist.
$ youtubeassist -a channel -n StellaHikes -v | jq -r '.items[] | .contentDetails.relatedPlaylists.uploads' UU_xoSErGgqXfYzpTFE1JDbg
The 'uploads' playlist is a bit of magic on YouTube. On one hand, it's a playlist like any other, so you can view it in the standard playlist player. On the other hand, it can't be manually maintained. YouTube automatically adds to it when a user uploads a video to their channel. While I have plenty to quibble about with YouTube, this implementation is pretty genius.
Next, I added a new option to youtubeassist: -a playlist-populate. This option grabs videos from a source playlist and adds them to a destination playlist. The command tries to be smart, taking the newest video in the destination playlist as a reference point. Only videos that are newer than this in the source playlist will be added.
This bit of logic ensures that new videos on @StellaHikes will be added to my watch queue, while those that I've already watched will be skipped.
Every so often I run this command to pull in more videos from Stella's channel to my watch queue:
$ youtubeassist -a playlist-populate -s UU_xoSErGgqXfYzpTFE1JDbg -d PLBuxEPZOHHKYytW39ZPXDRR6fan7ygCL9 UExCdXhFUFpPSEhLWXl0VzM5WlBYRFJSNmZhbjd5Z0NMOS42MjYzMTMyQjA0QURCN0JF|I wanted breakfast so bad! AT Day 66 CYTC UExCdXhFUFpPSEhLWXl0VzM5WlBYRFJSNmZhbjd5Z0NMOS40MDNEMzA0QTBFRThFMzBE|Big climb in Massachusetts! AT Day 65 CYTC UExCdXhFUFpPSEhLWXl0VzM5WlBYRFJSNmZhbjd5Z0NMOS42RTNCOEMxREI3Q0VDMjU2|It happened suddenly ⛈️ AT Day 64 CYTC
I've now solved half the dilemma: I have a playlist with the next video to watch at the top and new videos auto-added below.
This leaves the question of how to avoid distraction within YouTube. To address this, I visited the watch queue playlist in Chrome on my mobile phone:
Clicking on the three dots menu, I selected Add to Home Screen.
This put an icon on my phone's home screen that, when clicked, will launch YouTube's playlist viewer. At the top will be the video I'm currently watching.
This isn't as streamlined as a proper podcasting app, but it gives me a temptation-free way to jump right to where I left off watching.
Now all I have to do is sit back, watch, and root for Stella. C'mon girl, 136 miles down, 7,739 more miles to go! You got this!
No comments:
Post a Comment