By Casey Liss
Callsheet 2023.4

Callsheet’s release has been a whirlwind. I’m completely overjoyed by the response. I am incredibly thankful to anyone who has tried Callsheet, purchased it, or told their friends about it. Y’all are the best. 💙

Yesterday I pushed a new version to the App Store, and it is rolling out slowly over the next week or so. I wanted to highlight some of the changes I think are pretty fun.

Short-short Version

  • TV spoiler settings are now honored when viewing a person’s filmography
  • When viewing a person, their age is shown on their filmography
  • Mid- and post-credit scenes are now shown for movies
  • Now shows what you’re actively playing in Channels and, experimentally, Plex

Honoring TV Spoiler Settings in Filmographies

Probably the most often requested feature right now is something that I’ve been planning to do for a while. However, it was — at least at first glance — far more complicated than you’d expect.

From the start, Callsheet would let you optionally hide spoilers for individual TV shows — things like character names, the number of episodes they’re in, episode titles, episode thumbnails, etc. In Callsheet 2023.3, I added the ability to set a global default for these same settings.

In Callsheet 2023.4, those settings are now honored when viewing a person’s filmography. There is also a button to toggle between hiding and showing the spoilers. Naturally, it defaults to hiding.

GIF showing Jared Keeso's filmography, with spoilers being toggled on and off.

People’s Ages

When looking at an actor or crew’s filmography, I often want to know how old they were when they worked on a film or TV show. Before, this was some reasonably easy mental arithmetic: the person’s birth year is prominently displayed at the top of their screen on the app:

Screenshot showing Jared Keeso, his birthday of 1 July 1984, and his age (at the time of writing), 39 years old.

However, our devices are, at their core, arithmetic machines. Why not make them do this math, so I don’t have to? So, for people, you can see their ages in the year header:

Screenshot showing the filmography of Jared Keeso, with his ages shown on the right-hand side, peer with the year headers. For example, 2022 shows "37-38 years old"

I’m noodling on the best way to represent this information on cast/crew lists for movies and TV shows. 🤔

Mid- and Post-Credits Scenes

Something else I’ve been asked for a lot is the ability to know if a movie — particularly one currently in theatres — has a bonus scene during or after the credits. I didn’t think The Movie Database had this information, but I was wrong. As it turns out, there is a de facto standard for this!

Next, I turned to my friend Ben McCarthy, the author of the excellent Obscura — and the creative force behind a lot of the Callsheet UI. Ben and I went back-and-forth on some SF Symbols-style icons to represent mid-credits and post-credits scenes. You can see them both here. I’m quite pleased with what they came up with. 😎

Screenshot showing The Super Mario Bros Movie with a section "Credits" showing icons for mid- and post-credits scenes

Integrations

One of my tenets when designing Callsheet was to meet users where they are. This is not a particular revelation, but it is a nice “north star” to guide my decisions and priorities. This is evidenced in simple ways, like tapping on the runtime for a movie to see when it would end, if you start it right now:

Screenshot showing the movie Sneakers, runtime 2 hours and six minutes. The screenshot was taken at 4:32 and a popover shows that it will end at 6:38

The most obvious way to meet a user where they are is to offer to show them information about the thing they’re currently watching. Unfortunately, Apple doesn’t offer any sort of API for this on the Apple TV. There are allegedly ways to get that information anyway, but it’s extremely convoluted, and prone to break at any time.

Naturally, Callsheet is an app written by me… for me. And for me, the two primary ways I consume content are Plex and Channels. Callsheet 2023.4 includes Channels integration, as well as an experimental Plex integration.

Both of these integrations are opt-in. In order to enable them, you must go into the in-app settings, and turn on integrations. Both the Channels and Plex integrations work by polling, which means your device will ping away at the network asking “Is anyone here? Are you playing anything?” over and over again. That’s not a bad thing, but it’s not the sort of thing I want your average user to be opted into without their knowledge.

Screenshot of the integrations switch in settings

Channels

When everything is turned on, you should see something like this when Channels is playing on a local Apple TV:

Screenshot of Callsheet's Discover screen, showing Channels playing Motorweek

Channels uses Bonjour under the hood, which is — naturally — extremely well-supported in the Apple ecosystem. In my experience, the integration with Channels is pretty robust and reliable.

However, Channels doesn’t always provide The Movie Database ID to me — in fact, generally speaking, it doesn’t. This means tapping on an item will usually perform a search, rather than jumping you directly to the show in question. When Channels does provide Callsheet the TMDB ID, you’ll jump directly to the media in question.

Plex

⚠️ The Plex integration should be considered experimental at this time. ⚠️

If you squint, Plex uses a similar scheme to Bonjour in order to discover players on the same network. However, Plex is old enough that it actually predates Bonjour. As such, the implementation is… rickety. Plex’s implementation works for Plex, but it was never really designed for use by other software. Like Callsheet.

That said, it… kinda works? When it does, like the Channels integration, it’s pretty damned magical:

Screenshot of Callsheet's Discover screen, showing Plex playing Hamilton

Many thanks to my pals Alex and Hugo; without their combined efforts, there is literally zero chance this would have shipped.

Unfortunately, there aren’t really any levers that I’m aware of that I can pull in order to improve Plex integration. It seems to depend on the “weather” in your local network. So, uh, no promises. 🫣